Neo4j - 生成所有节点之间的关系

时间:2017-01-29 17:04:38

标签: neo4j cypher

假设我生成了具有相同标签的未知数量的节点。然后我希望每个节点与所有其他节点保持联系...

我尝试了下面的CYPHER:

MATCH (n:Nodelabel),(m:Nodelabel)
MERGE (n)-[:EXCHANGE {cost: rand()*100}]->(m)

这几乎是完美的,但我得到了循环关系:每个节点都与自己有关系。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:3)

使用以下CYPHER:

WHERE NOT n=m

所以完整的CYPHER答案是:

MATCH (n:Nodelabel),(m:Nodelabel)
WHERE NOT n=m
MERGE (n)-[:EXCHANGE {cost: rand()*100}]->(m)