У нас есть структура, в которой родитель может иметь несколько дочерних элементов с вложенной структурой.Neo4j - Родитель - дочерняя иерархия + Весна
1: Parent p1
child c1
c1.1
c1.2
child c2
c2.1
c2.3
Теперь, используя один запрос cypher, мне нужно получить всю структуру, используя Spring + Neo 4j.
Модель:
лицо:
@Relationship(direction = Relationship.OUTGOING, type = "PARENT")
private Person parent;
@Relationship(direction = Relationship.INCOMING, type = "PARENT")
private List<Person> child;
Cypher Запрос: -
MATCH (p:Person {name:"john"})<-[pr:PARENT*..2]-(p1:Person) return c1
дает мне только ребенка, но не их следующий уровень ребенка
MATCH (p:Person {name:"john"})<-[pr:PARENT*..2]-(p1:Person) return pr
дает мне вложенная структура w он рекурсивный, что бесполезно.
Подход: - repository.findOne (personId, 2);
Я получаю те же проблемы, когда мы расширим структуру ребенка он имеет одну ссылку на родительский объект
Для например: -
Parent p1 ребенка c1 -> три объекта
1: child-p1 --- it would have a reference to Parent Object p1
2: c1.1 ---
child --it would reference to Child C1 since its parent
3: c1.2
child --it would reference to Child C1 since its parent
В идеале он не должен содержать ссылки на родительский элемент в списке дочерних элементов и в результате возникает проблема стека над потоком.
Я использую SDN 4.0.release