2017-01-29 7 views
2

同じラベルを持つ未知の量のノードを生成したとします。Neo4j - すべてのノード間の関係を生成する

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

それはほぼ完璧だが、私は関係がループし得る:各ノードは自分自身との関係にあるそれから私は、私は、次のCYPHERを試してみました

...すべての他者との関係になるように、各ノードをしたいと思います。どうすればそれを防ぐことができますか?

答えて

2

次CYPHERを使用します。

WHERE NOT n=m 

だから、フルCYPHERの答えは次のとおりです。

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

良い答え、あなたが不平等演算子を利用したいかもしれません: 'N <>メートル' – InverseFalcon

関連する問題