2016-06-13 6 views
0

配列プロパティを持つノードがあるとします。配列のプロパティと他の配列の間に交差点があるノードを一致させよ

ノード1つの 果物= [ 'リンゴ'、 'マンゴー']

ノード2つの 果物= [ 'リンゴ']

ノード3つの 果物= [ 'トマト']

マリアのバスケットに果物の1つが存在するすべてのノードを見つけたいと考えています。

マリアのバスケット= [「オレンジ」、「ブドウ」、「りんご」]

だから、私たちの最終的な結果は次のようになります。ノード1とノード2

私のアプローチは、その要素のすべてのノードに一致することになりますマリアのバスケットには果物の配列が存在します。しかし、私はそれが[「オレンジ」、「ブドウ」、「りんご」]リターンのn

でn.fruitsで、xは、私が上記のクエリと戻りを試してみました

マッチ(n)を動作させることができませんでしたxは定義されていないため、構文エラーです。どのようにしてこの問題に適切にアプローチしますか?

私が考えている第2のアプローチは、ノードの果物とマリアの果実の間に存在するUNIONがあれば、すべてのノードに一致させることです。

答えて

1

あなたは正確に一つのフルーツマッチノード検索する場合:あなたは> = 1つの果物の試合ノード検索したい場合は

MATCH (n) 
WHERE single(x IN n.fruits WHERE x IN ['orange', 'grape', 'apple']) 
RETURN n; 

MATCH (n) 
WHERE any(x IN n.fruits WHERE x IN ['orange', 'grape', 'apple']) 
RETURN n; 

を私は確かではなかったがあなたはあなたの言葉に基づいて欲しかった。