9

2 つのリクエストを 1 つのクエリに結合したいのですが、1 つのサイファー クエリで 2 つの match ステートメントを使用するとどうなるかわかりません。

友達のリストがあり、コレクションにリストされているそれぞれの叔父と兄弟と一緒に友達のリストを見たいとします。仕事をする 2 つの match ステートメントを使用できますか? 例えば

match friends-[:childOf]->parents-[:brother]->uncles
    , friends-[:childOf]->parents<-[:childOf]-siblings
return friends, collect(siblings), collect(uncles)

ただし、このようなクエリを実行すると、常に結果が返されません。

4

2 に答える 2

10

最初のマッチクラスですでに親を選択しているので、次のようにすることができます -

match friends-[:childOf]->parents-[:brother]->uncles
with friends, parents, uncles
match parents<-[:childOf]-siblings
return friends, collect(siblings), collect(uncles)
于 2013-05-09T15:47:39.937 に答える
1

これらの関係の一部をオプションにしたい場合があります。たとえば、兄弟は見つかったが、叔父は見つからなかった場合、このクエリは両方の一致句を満たさないため、null を返します。終了関係をオプションにすると、データを返すために両方の句を完全に満たす必要はありません。そう:

match friends-[:childOf]->parents-[?:brother]->uncles
    , friends-[:childOf]->parents<-[?:childOf]-siblings
return friends, collect(siblings), collect(uncles)
于 2013-05-09T16:08:20.230 に答える