Возврат 2 подробностей отношений между 2 узлами в одном запросе
Я использовал 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]} и т. Д.
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)