【问题标题】:How to use Gremlin in Neo4j for Windows or better alternatives?如何在 Neo4j for Windows 或更好的替代方案中使用 Gremlin?
【发布时间】:2019-02-08 08:47:45
【问题描述】:

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

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

提前致谢!

杰伦

【问题讨论】:

  • 到目前为止你尝试了什么?您是否遵循文档:tinkerpop.apache.org/docs/current/reference/#neo4j-gremlin
  • @logisima 感谢您的反应和时间。我已遵循此文档,但这对我来说并不奏效。首先,我尝试在 Gremlin 控制台中安装插件。因为这看起来更方便,而不是使用 Gremlin 服务器并在其上托管 Neo4j。我看到一些消息(抱歉,我看过很多页面、文章和文档来记住在哪里)在 Neo4j 服务器上必须安装 Tinkerpop 插件,而当前的插件已经过时。也许我应该早点提到它,但我使用的是社区桌面版本。在 Gremlin 控制台中,插件安装成功,
  • @logisima ...但我无法连接到数据库。数据库存储在一个奇怪的路径中:C:\Users\user\.Neo4jDesktop\neo4jDatabases\database-26283eeb-8011-49b7-b62a-432ede2b5e4d\installation-3.5.0。

标签: .net neo4j graph-databases gremlin tinkerpop


【解决方案1】:

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

  1. Neo4j 版本 - 您必须连接到与绑定到 neo4j-gremlin 依赖项(at this point 为 3.2.3)的版本兼容的 Neo4j 版本。正在努力升级here。如果 3.2.3 不适用于您正在使用的版本,您将会遇到问题(即,如果您尝试将 Neo4j 3.2.3 与该新版本一起使用,您会遇到同样的问题)。
  2. 数据库的路径 - 打开数据库需要 Gremlin 可以找到它。开始考虑将 Neo4j 数据库目录复制到不那么“奇怪”的地方并尝试连接它。然后,一旦确认可以正常工作,找出可能导致问题的 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]

【讨论】:

  • 感谢您的反应。我已经尝试了您的建议,但对此我有一些疑问:1)neo4j-gremlin 是否可以用于生产? 2)我尝试安装旧版本的 Neo4j(neo4j CE 3.2.13(我找不到 3.2.3)。我也遵循了 Logisima 裁判的文档。所以我使用了 Gremlin 控制台,安装并使用了 neo4j -gremlin 3.4.0。现在我想再次连接数据库,但没有成功。数据库的路径是:'/neo4j/data/databases/graph.db' 一切都是默认的,除了凭据,那些是 neo4j,pass 是 root。对不起我的菜鸟。
  • 1.我没有理由相信你不能在生产中使用它。 2.请考虑简化事情。忘记下载/安装旧版本的 neo4j 或包含凭据。从这个开始:tinkerpop.apache.org/docs/current/reference/#neo4j-gremlin 并让 neo4j 在控制台中工作。
  • 就像之前提到的:tinkerpop.apache.org/docs/current/reference/#neo4j-gremlin 对我没有用。这包括简化的方法。我一直在滚动浏览其他人的类似问题和新手不友好的文档,但没有任何结果。所以我会坚持并建议 Cypher en Neo4jClient (.NET)。无论如何,感谢您的宝贵时间。
  • 您没有说明您在使用这些说明时遇到了什么错误。
  • 我没有收到任何有用的错误。但这是我的 Windows 终端的screenshot。我也无法显示堆栈跟踪。这使得调试变得不可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多