我有一个像这样的父子节点集合:
(adult1:Person)-[:PARENT_OF]->(child1:Person)
(adult1:Person)-[:PARENT_OF]->(child2:Person)
(adult2:Person)-[:PARENT_OF]->(child3:Person)
(adult2:Person)-[:PARENT_OF]->(child4:Person)
当我执行以下查询时,我不顾成人和儿童之间的关系而取回它们。
MATCH (parents:Person)-[:PARENT_OF]->(children:Person)
RETURN parents, children
我想遍历父母,并为每个父母归还父母及其直系子女
记录1
- adult1
- child1
- child2
记录2
- adult2
- child3
- child4
我已经花了几个小时,还没有找到解决方案。
非常感谢
答案 0 :(得分:2)
您可以收集子节点并将父节点添加到集合中。然后,将其退回。
MATCH (parent:Person)-[:PARENT_OF]->(children:Person)
RETURN parent + collect(children)
答案 1 :(得分:2)
您可以返回每个父母的孩子的集合:
MATCH (parent:Person)-[:PARENT_OF]->(child:Person)
RETURN parent, COLLECT(child) AS children;