2016-06-13 22 views
1

こんにちは私は配列のプロパティを持つノードを持っているユースケースを持っています。Neo4J - 2ノードの配列プロパティの値が一致するかどうかを調べる

*

Node({name:'a', colors:['red','green','blue']}) 
Node({node:'b',colors:['blue','black','red']}) 

*

今、私は自分の色のうち2つのノード間で一致する値が上にそれを通過するようにproperty.Iは、一致する値を取得することができshoudが何であるかを知りたいですさらに処理のためのクエリに含まれます。あなたの提案のための

MATCH (a:Node {name:'a'}) 
MATCH (b:Node {name:'b'}) 
WITH filter(x IN a.colors WHERE x IN b.colors) AS v 
UNWIND v AS matchingVals 
MATCH ... 
... 

答えて

2
MATCH (a:Node {name:'a'}) 
MATCH (b:Node {name:'b'}) 
RETURN filter(x IN a.colors WHERE x IN b.colors); 

クエリを続行したい場合は

。前述のように、この一致する値を変数に取り込み、さらにクエリに渡します。このマッチング値に応じて何かしたいと言いましょう。
+0

ありがとう: –

+0

私はあなたの価値をどのように運ぶかを示すために私の答えを編集しました。 –

+0

値をリストにしたい場合は、UNWINDを使用しないでください。 UNWINDはリストを行に展開します。 –

関連する問題