Чтобы получить все узлы и путь от края до корня, используя neo4j - PullRequest
0 голосов
/ 12 июня 2018

Я хочу получить информацию обо всех узлах с путями от края к корневому узлу. Использование одного из свойств края.

Это структура трехслойного узла.

enter image description here

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)<-[p:Parent*0..]-(c:Child) RETURN c,g,p

Это вернет только узлы B, C с такими отношениями

enter image description here

cypherб

CREATE (p: Parent{name : '1'} ) RETURN p

MATCH (p:Parent) WHERE p.name = '1' CREATE (c: Child{name : '2'} )<-[:parentToChild]-(p) RETURN p


MATCH (c:Child) WHERE c.name = '3' CREATE (g: GrandChild {name : '2'} )<-[:childToGrandChild]-(c) RETURN c

Пожалуйста, помогите ..

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы пропустили parentTochild отношения, которые будут,

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)<-[parentToChild*0..]-(p:Parent)
RETURN c,g,p
0 голосов
/ 12 июня 2018

Попробуйте это:

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)
MATCH (c)<-[p:Parent*0..]-(c2:Child) 
RETURN c,c2,g,p
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...