在C#中使用Neo4JClient为Neo4J定义模式

Saa*_*ooq 3 c# neo4j graph-databases neo4jclient

如何在我的C#应用​​程序中正确/标准地定义neo4j数据库的模式?

在我的应用程序中,我有节点属性和属性关系.我想定义这些节点和关系的模板/类,然后可以在运行时创建和关联这些节点和关系,并作为具有查询的类的对​​象进行检索.

经过大量的搜索和研究,我找到了与我的问题几乎相关的东西:http: //blog.micic.ch/net/using-neo4j-graph-db-with-c-net

但根据Neo4j文档,这些是遗留方法. https://github.com/Readify/Neo4jClient/wiki

那么Neo4J 2.0目前的标准方式是什么?因为我们现在也有标签.

我希望我的问题清楚.如果没有,请告诉我.

Chr*_*don 5

基本的想法是,现在您使用Cypher查询功能来执行所有操作,因此Darko使用REST API来Create/ CreateRelationship客户端已经移动使用Cypher.

这意味着您不再需要Relationship基础类,并且可以坚持使用POCO(普通旧CLR对象)进行存储和查询 - 这使您的代码更易于使用...

该标准的方式都可以在"上找到的Cypher例子在Neo4jClient维基页面,我已经把一个要点了的达科代码的更新版本.

所有添加标签等都来自您编写Cypher的方式,并且由于Neo4jClient与直接Cypher一样接近(但添加了C​​#niceness),翻译应该非常简单.

  • 那么,这取决于你想如何编写它,你可以使用大量的重载,单独的数据管理类.就个人而言,在这种情况下,我会创建一个通用的扩展方法来存储所有类型的'Neo4jObject'(参见gist:https://gist.github.com/cskardon/7887178),最底层的方法是基于Neo4jObject的对象并将其存储在DB中. (2认同)
  • 你是对的另一个问题;)但是你可以简单地让构造函数传递类似`base("Person:Admin")`的东西,它将被放置到位.层次结构明智地,你可以用抽象方法等做其他事情,但这不适合这个空间:) (2认同)