【发布时间】:2021-06-17 14:01:39
【问题描述】:
尝试在现有节点上插入许多新关系。 当前代码花费了数百万关系的太多时间。有没有办法优化?
from py2neo import *
g = Graph()
nodes = NodeMatcher(g)
for persons in relation:
person_a, person_b = persons
a = nodes.match("person",name=person_a).first()
b = nodes.match("person",name=person_b).first()
ab = Relationship(a, 'KNOWS' b)
ab['date'] = '01-01-1980'
g.create(ab)
现在假设两件事:
- 关系数以百万计
- 为了更快地处理事情,我有一个 pickle 转储,其中包含
py2neo.data.Node数据类型中的所有节点详细信息,以便我们可以跳过nodes.match(...)部分。
注意:如果有任何其他方法可以在批量模式下更快地创建完整图表(如果添加关系所花费的时间 > 创建整个图表所花费的时间,我愿意从头开始创建整个图表)。节点数约为 80K。
【问题讨论】: