【发布时间】:2014-07-09 15:02:44
【问题描述】:
我有一个包含大约 140 万个节点数据的 json 文件,我想为此构建一个 Neo4j 图形数据库。我尝试使用 py2neo 的批量提交功能。我的代码如下:
# the variable words is a list containing node names
from py2neo import neo4j
batch = neo4j.WriteBatch(graph_db)
nodedict = {}
# I decided to use a dictionary because I would be creating relationships
# by referring to the dictionary entries later
for i in words:
nodedict[i] = batch.create({"name":i})
results = batch.submit()
显示的错误如下:
Traceback (most recent call last):
File "test.py", line 36, in <module>
results = batch.submit()
File "/usr/lib/python2.6/site-packages/py2neo/neo4j.py", line 2116, in submit
for response in self._submit()
File "/usr/lib/python2.6/site-packages/py2neo/neo4j.py", line 2085, in _submit
for id_, request in enumerate(self.requests)
File "/usr/lib/python2.6/site-packages/py2neo/rest.py", line 427, in _send
return self._client().send(request)
File "/usr/lib/python2.6/site-packages/py2neo/rest.py", line 364, in send
return Response(request.graph_db, rs.status, request.uri, rs.getheader("Loc$
File "/usr/lib/python2.6/site-packages/py2neo/rest.py", line 278, in __init__
raise SystemError(body)
SystemError: None
谁能告诉我这里到底发生了什么?这与批处理查询非常大的事实有关吗?如果是这样,可以做什么?提前致谢! :)
【问题讨论】:
-
好吧,我想我在这里找到了答案:stackoverflow.com/questions/17902741/… 我想我会尝试将庞大的批处理查询分解为 5k 个查询的较小块,然后运行多个批处理提交过程。希望它有效:)
标签: python batch-file neo4j py2neo