在一个查询中返回 2 个节点之间的 2 个关系详细信息

Returning 2 Relationship details between 2 nodes in one query

我一直在使用 neo4jrb 并且已经通过使用 ActiveNode 来完成我的大部分 object/relationship returns,但是目前我想做一些查询而不必做 2 个 ActiveNode调用并遍历两者以获得我需要的东西。我是 Cypher 查询语言的新手,正在尝试克服一些障碍。

我正在使用的模式是我有 2 个类型为 A 和 B 的节点,关系 r1 和 r2 的形式为 (A)-[r1]->(B) 和 (A)-[r2] ->(乙)。我希望能够在一个 Cypher 查询中带回数据库中每个 B 节点的所有 node/relationship 详细信息。

例如。 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] } 等...

我假设节点的类型 B,你指的是标签

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

例如。 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)