2017-03-06 9 views
1

neo4jrbを使用していて、ActiveNodeを使用してオブジェクト/リレーションシップのほとんどを処理していますが、現在、 2 ActiveNodeを呼び出し、両方をループして必要なものを取得します。私はCypherのクエリ言語が新しく、いくつかのハードルを乗り越えようとしています。2つのリレーションシップの詳細を1つのクエリで2つのノード間で返す

私は、(A) - [r1] - >(B)と(A) - [r2] - の形式で関係r1とr2を持つタイプAとBの2つのノードを持っています。 >(B)。 1つのCypherクエリーで、DB内のすべてのBノードのすべてのノード/リレーションシップの詳細を戻すことができるようにしたい。

ex。 B1 {B.id、A.id、[r1.id、r1.id、r1.id]、[r2.id、r2.id、r2.id]}、
B2 {B.id、A. id、[r1.id、r1.id、r1.id]、[r2.id、r2.id、r2.id]}など...

答えて

1

ノードのタイプBラベル

MATCH (b:B)-[r]-() 
Return b,collect(r) as relationships 

ex。 B1 {B.id、A.id、[r1.id、r1.id、r1.id]、[r2.id、r2.id、r2.id]}、 これがあなたが探している結果であれば、私はするだろう

MATCH (b:B)-[r:r]-() 
MATCH (b:B)-[r1:r1]-() 
RETURN b,collect(r.id),collect(r1.id) 
関連する問題