py2neo 3.1.2连接问题

py2neo 3.1.2 connection problems

我正在尝试将一个包含三个节点 (a_py2neo_subgraph) 的小图提交到我的石墨烯 Neo4j 服务器。我正在使用 py2neo 3.1.2.

g = py2neo.Graph(server)
tx = g.begin()
tx.create(a_py2neo_subgraph)
tx.commit()
tx.finished()

其中 "server" 是石墨烯给出的确切值(即类似于 http://nick:password@hobby-hash.dbs.graphenedb.com:port/db/data/)。为了调试,我 运行 使用 py2neo watch,这是 watch 为我的 httpstream 提供的信息:

> GET server
< 200 OK [1287]

然后我得到以下回溯:

Traceback (most recent call last):
  File "C:/Users/petr.svarny/PycharmProjects/untitled/test.py", line 116, in <module>
    tx = g.begin()
  File "C:\Users\petr.svarny\untitled\lib\site-packages\py2neo\database\__init__.py", line 370, in begin
    return self.transaction_class(self, autocommit)
  File "C:\Users\petr.svarny\untitled\lib\site-packages\py2neo\database\__init__.py", line 1249, in __init__
    self.session = driver.session()
  File "C:\Users\petr.svarny\untitled\lib\site-packages\py2neo\packages\neo4j\v1\session.py", line 126, in session
    connection = connect(self.address, self.ssl_context, **self.config)
  File "C:\Users\petr.svarny\untitled\lib\site-packages\py2neo\packages\neo4j\v1\bolt.py", line 419, in connect
    s = create_connection(host_port)
  File "C:\Python27\Lib\socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 10060]

我已经尝试将套接字超时设置为 9999,但没有帮助。我试图通过 telnet 连接到服务器,并且没有遇到任何问题。同样,当我在浏览器中输入服务器地址时,我可以访问它。我还设法 运行 我的本地 Neo4j 数据库代码。

感谢您的任何建议。

我是 GrapheneDB 的 Judit。你能检查一下你使用的是哪个版本的py2neo吗?从 Py2neo v2 迁移到 v3 时,您描述的问题看起来很常见。由于 py2neo v3 支持 Bolt 协议,您必须指定 bolt 端口或直接告诉驱动程序您没有使用它。

如果您不想使用 Bolt 连接,您的代码应如下所示:

graph = Graph("http://USER:PASS@hobby-hash.dbs.graphenedb.com:port/db/data/", bolt = False)

如果不是您的情况,了解您使用的是哪个版本的 Python/Py2neo/Neo4j 会很有用。

干杯!

我在 py2neo 3.1.2 上遇到了类似的问题,即使使用 "bolt=False" 开关我也无法让它工作。

我已经切换到 neorestclient 2.1.1,现在可以了。