今天我在neo4j中创建了591,113个节点。然后我想使用以下代码在它们上创建关系:
MATCH (A), (B)
WHERE A.value = B.value
CREATE (A)-[:SameValue]->(B)
但这花了我几个小时(我必须在它完成之前终止它)。 我想问一下如何快速在大量节点上建立关系?
答案 0 :(得分:3)
你可以尝试:
MATCH (a:UseLabels)
WITH a
MATCH (b:UseLabels{value:a.value})
CREATE (a)-[:SameValue]->(b)
它只匹配匹配并避免笛卡尔积的值。
答案 1 :(得分:3)
您有value
属性的索引吗?
这也可能更好(仍然,索引很重要):
MATCH (a:A) WITH a
MATCH (b:B {value: a.value})
CREATE a-[:SameValue]-b