Скажите, что у меня есть следующий оператор возврата.
RETURN p.id as personID, p.name as personName, collect(distinct(C))
Возвращает узел человека со списком всех дочерних узлов, которые он содержит.
Я хотел бы иметь возможность отображать сведения о человеке и список его дочерних узлов.узлы с их деталями, и вложенные в дочерние узлы, любые дочерние узлы дочерних узлов и их детали.
Например,
RETURN p.id as personID, p.name as personName, collect(distinct(c.id as childID, c.name as childName, collect(c1.id as child1ID, c1.name as child1Name, collect(...)) AS children
Глубина дерева неизвестна, поэтому я не могу сказать,запрос идти на определенную глубину.
Желаемый вывод в neo4j будет выглядеть примерно так:
{
"personID": 1,
"personName": "Chris",
"children": {
"childID": 2,
"childName": "chris-junior",
"children": {
"childID": 4,
...
... {
...
}
}
},
{
"childID": 3,
"childName": "chris-junior-2"
"children": {...
...
}
}
}