【发布时间】:2015-12-06 14:29:01
【问题描述】:
我有一个 JSON 文档列表,格式为:
[{a:1, b:[2,5,6]}, {a:2, b:[1,3,5]}, ...]
我需要做的是使用参数a 创建节点,并将它们连接到列表b 中具有a 值的所有节点。所以第一个节点将连接到节点 2、5 和 6。现在我正在使用 Python 的 neo4jrestclient 进行填充,但这需要很长时间。有没有更快的填充方式?
目前这是我的脚本:
break_list = []
for each in ans[1:]:
ref = each[0]
q = """MATCH n WHERE n.url = '%s' RETURN n;""" %(ref)
n1 = gdb.query(q, returns=client.Node)[0][0]
for link in each[6]:
if len(link)>4:
text,link = link.split('!__!')
q2 = """MATCH n WHERE n.url = '%s' RETURN n;""" %(link)
try:
n2 = gdb.query(q2, returns=client.Node)
n1.relationships.create("Links", n2[0][0], anchor_text=text)
except:
break_list.append((ref,link))
【问题讨论】:
-
你试过py2neo吗?
-
为什么会更快?
-
为什么人们不赞成这个?对我来说,这似乎是一个有效的问题。使用当前技术填充 100,000 个节点需要几天时间。