Возврат 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)
Другие вопросы по тегам