уважать отношения при возврате узлов - PullRequest
0 голосов
/ 02 июля 2018

У меня есть коллекция родительских и дочерних узлов, например:

(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

Я бы хотел перебрать родителей и для каждого вернуть родителей и их прямых детей

Record1

- adult1
- child1
- child2

Record2

- adult2
- child3
- child4

Я потратил на это несколько часов и пока не нашел решения.

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Вы можете вернуть коллекцию детей на одного родителя:

MATCH (parent:Person)-[:PARENT_OF]->(child:Person)
RETURN parent, COLLECT(child) AS children;
0 голосов
/ 02 июля 2018

Вы можете собирать дочерние узлы и добавлять родительские узлы в коллекцию. Затем верните его.

MATCH (parent:Person)-[:PARENT_OF]->(children:Person)
RETURN parent + collect(children)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...