【问题标题】:How do I connect to a remote Neo4j database using gremlin python?如何使用 gremlin python 连接到远程 Neo4j 数据库?
【发布时间】:2017-12-16 08:23:13
【问题描述】:

根据我的阅读,Neo4j 实现了 apache tinkerpop,这让我认为我可以使用 gremlin python 而不是连接到 gremlin 服务器,我可以将 python 代码指向 neo4j 服务器并将其视为 gremlin 服务器。

但是我在网上找不到任何信息来说明如何做到这一点,所以我想我可能误解了一些东西。

  • a) 我可以直接将 gremlin python 与 neo4j 数据库实例一起使用吗?
  • b) 如果 是的 (a) 那么如何?

谢谢

亚历克斯

【问题讨论】:

    标签: python neo4j gremlin tinkerpop gremlinpython


    【解决方案1】:

    您无法将gremlin-python 连接到 Neo4j 服务器。 gremlin-python 包含连接到 Gremlin 服务器的驱动程序,因此您必须安装该驱动程序才能使 gremlin-python 工作。鉴于您需要 Gremlin Server,您必须选择以下选项之一,所有这些选项都只是 Gremlin Server 配置:

    1. 在 Gremlin 服务器中的 embedded mode 中配置 Neo4j。这方面的一个例子是here,其中该文件指向 Neo4j configuration file。请注意,这些文件作为示例打包在 Gremlin Server 发行版中,因此您可以非常轻松地直接运行它们。
    2. 将上述 Neo4j 配置文件修改为run Neo4j in HA mode,有效地将 Gremlin Server 变成 Neo4j 集群中的一个节点。
    3. 配置一个neo4j-gremlin-bolt 实例,它将使用 Neo4j Bolt 协议连接到正在运行的 Neo4j 服务器。虽然我对这个实现并不完全熟悉,但我可以看到您会将 gremlin.graph 更改为 com.steelbridgelabs.oss.neo4j.structure.Neo4JGraph,并且您会从 this class(它实例化该图形实例)中辨别出 Bolt 配置选项。

    一旦您选择了其中一个配置选项,您就可以使用 gremlin-python 来使用 Neo4j。

    【讨论】:

    • 那么如何在 Gremlin 和 Python 中使用 Neo4J?我试图找到,但没有关于这个主题的任何指南。启动运行 Neo4J 的实例后,如何在 Python 中对其运行 Gremlin 查询?
    • 我试着改进一下答案。希望能澄清事情。
    • @stephenmallette 如果可能的话,您能否提供有关您建议的第 2 点和第 3 点的详细信息?
    • 没有更多的细节。我的意思是,在第 1 点中,我将您指向嵌入式模式的配置文件。您可以根据需要修改第 2 点和第 3 点的配置文件。对于第 2 点,我提供的链接中的配置示例。对于第 3 点,您必须查阅该项目的文档,因为我不熟悉它的确切配置选项,但我用一些额外的提示更新了我的答案,让您朝着正确的方向前进。
    • 我对这个答案投了反对票,因为我没有找到任何具体的实现,参见例如github.com/SteelBridgeLabs/neo4j-gremlin-bolt/issues/71community.neo4j.com/t/neo4j-gremlin-integration/8144 是的,我个人认为需要更多细节才能使其正常工作
    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    相关资源
    最近更新 更多