2017-01-15 1 views
0

경로가 있고이 경로에 연결된 일부 노드를 가져 오려고합니다. 나는이 qwery를 쓰고 제대로 작동하지 않습니다 :neo4j에서 경로의 이웃 노드를 얻는 방법

match p=(a)-[:example*]->(c) where length(p) = 5 
with p 
match (u)-[r:example2]-> p return u,p,r 

내가 'U'노드 모든 것을 싶어. 내가 뭘 잘못하고 있는지 말해 줄 수 있니?

감사합니다.

+0

스택 오버 플로우에 오신 것을 환영합니다! 편집기로 쿼리를 소스 코드로 포맷하십시오. –

+0

done, thank you –

답변

0

nodes() 함수를 사용하여 경로 노드를 추출하고 UNWIND 목록을 일치시킨 다음 일치를 수행하십시오. 각 노드에 대한 결과는 collect 일 수 있습니다.

match p=(a)-[:example*]->(c) 
where length(p) = 5 
with a, nodes(p) as pathNodes 
unwind pathNodes as pathNode 
match (u)-[r:example2]->(pathNode) 
return a, collect([u, pathNode]) 
+0

안녕하세요, 고맙습니다.하지만 경로의 n 장소가 아닌 모든 노드를 얻는 방법은 무엇입니까? (p [n]) –

+0

그에 따라 내 대답이 업데이트되었습니다. 유스 케이스에 따라'u' 또는'pathNode' 노드 만 수집하면된다. –

+0

고맙습니다. 효과가있었습니다! (나는 단지 수를 필요로했다) –

관련 문제