如何在 Neo4j 中使用 Gremlin 作为 Windows 或更好的选择?

How to use Gremlin in Neo4j for Windows or better alternatives?

目前正在研究图数据库。一个要求是它必须与 C#/.NET 有稳定的绑定,并且应该有可能在生产中使用。所以我偶然发现了带有 .NET 社区驱动程序的 Neo4j。这很好,但我需要遍历只有使用 Neo4j 的遍历框架才能实现的树命令。然后我偶然发现了 Gremlin / Tinkerpop。我知道 Neo4j 支持 Tinkerpop(或至少在以前的版本中)。我尝试了几种方法来实现这一点,但 none 似乎有效。

所以我的问题是:是否可以将 Gremlin 用于 Neo4j 3.5.0(在 windows 10 上)?如何实现?如果这不再可能了?您知道任何替代方案吗(CosmosDB 对于概念验证来说太昂贵了)?

提前致谢!

杰伦

这个问题几乎总是归结为两件事之一:

  1. Neo4j 版本 - 您必须连接到与绑定到 at this point is 3.2.3. There is an effort to upgrade that here neo4j-gremlin 依赖项的版本兼容的 Neo4j 版本。如果 3.2.3 不适用于您正在使用的版本,您将遇到问题(即,如果您尝试将 Neo4j 3.2.3 与较新版本一起使用,则会遇到同样的问题)。
  2. 数据库的路径 - 打开数据库需要 Gremlin 可以找到它。开始考虑将 Neo4j 数据库目录复制到 less "strange" 的某个地方并尝试连接它。然后,一旦确认有效,找出可能导致问题的 Windows 路径。对 gremlin-users 邮件列表的一些搜索应该会揭示许多这些问题的解决方案,因为这个问题以前出现过 - 这是最近的一个 for example

这是一个工作示例:

gremlin> graph = Neo4jGraph.open('c:\tmp\neo4j')
==>neo4jgraph[community single [c:\tmp\neo4j]]
gremlin> g = graph.traversal()
==>graphtraversalsource[neo4jgraph[community single [c:\tmp\neo4j]], standard]
gremlin> g.addV('person').property('name','stephen')
==>v[0]
gremlin> g.V()
==>v[0]