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

时间:2017-03-06 15:08:19

标签: neo4j cypher neo4jrb

我一直在使用neo4jrb并且已经使用ActiveNode来完成我的大部分对象/关系返回,但是目前有一些我想要做的查询,不得不做两个ActiveNode调用并循环通过两者来获得什么我需要。我是Cypher查询语言的新手,并试图克服一些障碍。

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

离。   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 个答案:

答案 0 :(得分:1)

我假设节点的类型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)