我在python中有一个余弦相似度矩阵,我想根据该值建立关系。 我的问题是
MATCH (n:Product {id : {id}}),(m:Product {id:{id2}})
MERGE (n)-[r:SIM]-(m)
SET r.weight={w}
我通过这样做插入关系
for i in range(x):
for j in range(x):
make_relation(i,j,w)
插入关系的方法是否比嵌套循环更快,因为它花费的时间太长了?
答案 0 :(得分:1)
使用循环来填充列表,而不是循环和执行,因此我们可以使用UNWINDING列表的技巧并在单个操作中执行所有列表条目。
让你的cypher查询中的一个参数成为字典列表(让我们将其称为'rowList'作为参数映射中的键),其中列表由{{1}的双for循环预先填充}和id
以及id2
。
您的Cypher可以是与您的描述中类似的查询,但我们可以将其更改为使用您传入的列表。您将列表展开为行,并一次创建所有关系。这变为单个操作而不是每对操作。
w