我正在尝试将三个节点(a_py2neo_subgraph)的小图提交给我的石墨烯Neo4j服务器。我正在使用py2neo 3.1.2。
g = py2neo.Graph(server)
tx = g.begin()
tx.create(a_py2neo_subgraph)
tx.commit()
tx.finished()
在哪里"服务器"是石墨烯给出的确切值(即类似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数据库运行我的代码。
感谢您提出任何建议。
答案 0 :(得分:2)
我是GrapheneDB的Judit。你能查看你使用的是哪个版本的py2neo吗?从Py2neo v2转到v3时,您所描述的问题看起来是个常见问题。由于py2neo v3支持Bolt协议,因此您必须指定螺栓端口或告诉驱动程序您没有使用它。
如果您不想使用Bolt连接,您的代码应如下所示:
graph = Graph("http://USER:PASS@hobby-hash.dbs.graphenedb.com:port/db/data/", bolt = False)
如果不是你的情况,那么了解你使用的是哪个版本的Python / Py2neo / Neo4j会很有用。
干杯!
答案 1 :(得分:0)
我遇到了与py2neo 3.1.2类似的问题,即使使用“bolt = False”开关也无法使其工作。
我已经切换到neorestclient 2.1.1,现在可以使用了。