1

我一直在使用 neo4jrb 并且已经通过使用 ActiveNode 来完成我的大部分对象/关系返回,但目前我想做一些查询,而不必进行 2 次 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] } 等等...

4

1 回答 1

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)
于 2017-03-06T18:31:27.413 回答