如何使用Gremlin Python连接到远程Neo4j数据库?

10

据我所了解,Neo4j实现了Apache TinkerPop,这让我认为我可以使用Gremlin Python,而无需连接到Gremlin服务器,而是将Python代码指向Neo4j服务器,并将其视为Gremlin服务器。

然而,我找不到任何在线信息显示如何执行此操作,因此我认为可能我误解了某些内容。

  • a)我能否直接在Neo4j数据库实例中使用Gremlin Python?
  • b)如果对a的回答是肯定的,则该如何操作?

谢谢

Alex

1个回答

5
你无法将gremlin-python连接到Neo4j服务器。 gremlin-python包含驱动程序,可连接到Gremlin服务器,因此必须安装该驱动程序才能使用gremlin-python。鉴于您需要Gremlin服务器,因此您必须选择以下其中一种选项,这些选项都是Gremlin服务器配置:
  1. 在Gremlin Server中以嵌入模式配置Neo4j。这里有一个例子示例,其中该文件指向Neo4j配置文件。请注意,这些文件作为样本打包在Gremlin Server分发中,因此您可以直接运行它们。
  2. 修改上述Neo4j配置文件,以在HA模式下运行Neo4j,有效地将Gremlin Server转换为Neo4j集群中的节点。
  3. 配置neo4j-gremlin-bolt实例,它将使用Neo4j Bolt协议连接到正在运行的Neo4j服务器。虽然我不完全熟悉这个实现,但我可以看到您需要将gremlin.graph更改为com.steelbridgelabs.oss.neo4j.structure.Neo4JGraph,并且您将从这个类(它实例化该图形实例)中区分Bolt配置选项。

一旦您选择了这些配置选项之一,您就可以使用 gremlin-python 与 Neo4j 进行交互。


我该如何在Gremlin和Python中使用Neo4J?我尝试过寻找相关指南,但没有找到。在启动运行Neo4J的实例后,我该如何在Python中运行Gremlin查询? - cryanbhu
1
我尝试着改进了一下答案。希望这样能更清楚明白。 - stephen mallette
@stephenmallette,如果可能的话,您能否提供有关您建议的第2点和第3点的详细信息? - anurag2090
没有更多的细节了。我的意思是,在第一点中,我会为嵌入式模式指向一个配置文件,您需要根据第二和第三点进行修改。对于第二点,可以参考我提供链接中的配置示例。对于第三点,您需要查阅该项目的文档,因为我不熟悉其确切的配置选项,但我在答案中更新了一些额外的提示,以帮助您朝着正确的方向前进。 - stephen mallette
我已经对这个答案进行了负评,因为我没有找到任何具体的实现,例如 https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt/issues/71 或 https://community.neo4j.com/t/neo4j-gremlin-integration/8144 ,而且我认为需要更多的细节才能使其正常工作。 - Wolfgang Fahl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接