如何在python矩阵中快速建立neo4j的关系?

时间:2017-03-20 03:16:17

标签: python neo4j

我在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)

插入关系的方法是否比嵌套循环更快,因为它花费的时间太长了?

1 个答案:

答案 0 :(得分:1)

使用循环来填充列表,而不是循环和执行,因此我们可以使用UNWINDING列表的技巧并在单个操作中执行所有列表条目。

让你的cypher查询中的一个参数成为字典列表(让我们将其称为'rowList'作为参数映射中的键),其中列表由{{1}的双for循环预先填充}和id以及id2

您的Cypher可以是与您的描述中类似的查询,但我们可以将其更改为使用您传入的列表。您将列表展开为行,并一次创建所有关系。这变为单个操作而不是每对操作。

w