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

Neo4j-生成所有节点之间的关系,neo4j,cypher,Neo4j,Cypher,假设我生成了数量未知的具有相同标签的节点。然后我希望每个节点都与所有其他节点保持关系 我尝试了以下密码: MATCH (n:Nodelabel),(m:Nodelabel) MERGE (n)-[:EXCHANGE {cost: rand()*100}]->(m) WHERE NOT n=m 这几乎是完美的,但我得到了循环关系:每个节点都与自己有关系。如何防止这种情况发生?使用以下密码: MATCH (n:Nodelabel),(m:Nodelabel) MERGE (n)-[:EXC

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

我尝试了以下密码:

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

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

使用以下密码:

MATCH (n:Nodelabel),(m:Nodelabel)
MERGE (n)-[:EXCHANGE {cost: rand()*100}]->(m)
WHERE NOT n=m
因此,完整的答案是:

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

答案很好,不过您可能希望使用不等式运算符:
其中n m