尝试批处理创建节点&关系-批处理创建失败-回溯到文章的末尾。
注具有较小节点子集的代码函数--当进入大量关系时失败,不清楚发生这种情况的限制是什么。
数据集中的一个集群在700+节点中有大约625525种关系。总关系将是1M+ -利用苹果Macbook Pro Retina与x86_64 -Ubuntu13.04,SSD,8GB内存。
代码
https://github.com/alienone/OSINT/blob/master/MANDIANTAPT/spitball.py
回溯
追溯(最近一次调用):文件"/home/alienone/Programming/Python/OSINT/MANDIANTAPT/spitball.py",第63行,main() "/home/alienone/Programming/Python/OSINT/MANDIANTAPT/spitball.py",第59行,主graph_db.create(*sorted_nodes)文件"/home/alienone/.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/py2neo/neo4j.py",第420行,在创建返回"/home/alienone/.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/py2neo/neo4j.py",() batch.submit() batch.submit第2123行中,在self._submit() batch.submit第2092行中,在submit for响应中,在submit for id中,请求在枚举(self.requests)文件"/home/alienone/.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/py2neo/rest.py",行428,在_send返回self._client().send(请求)文件的第365行,在发送返回响应(request.graph_db,rs.status,request.uri,"/home/alienone/.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/py2neo/rest.py",rs.getheader("Location",None),rs_body) File 第279行,在init raise (Body) SystemError: None
进程已完成,退出代码为%1
发布于 2013-08-21 04:21:05
我也有过类似的问题。处理它的一种方法是对数据块(而不是整个数据集)执行batch.submit()
。当然,这是比较慢的,但是将100万个节点分割成5000块仍然比单独添加每个节点要快。
我使用一个小助手类来完成这个任务,请注意,我的所有节点都被索引了:https://gist.github.com/anonymous/6293739
https://stackoverflow.com/questions/17902741
复制