아래 그래프가 있습니다. 리그 (l1)는 으로 시작하고 레벨 r1과 NEXT 레벨은 그림과 같이 NEXT 관계를 사용하여 관련됩니다.연결된 목록에 대한 Neo4j 암호 쿼리
league-[:LEVEL]->r1-[:NEXT]->r2-[:NEXT]->r3-[:NEXT]->r4
내가 찾고있는 것은 주어진 리그의 모든 레벨과 순서를 찾는 것입니다. 위의 그래프에서 예상 출력은 r1, r2, r3, r4
입니다. 나는 아래의 쿼리를했지만 그것은 모든 경로를 반환합니다.
start l1=node(9) match l1-[:level]->(level) with level match p=level-[:next*]->(remainingLevels) return p;
이 그래프를 만들기위한 지시자. 이것은 내가이 아래 쿼리 작업을 얻을 수 있었다 console.neo4j.org에 설치합니다 (아이디의 변경해야합니다)
CREATE (l1 {name: 'l1'}) return l1;
CREATE (r1 {name: 'r1'}) return r1;
START l1=node(9), r1=node(10) CREATE l1-[r:level]->r1;
CREATE (r2 {name: 'r2'}) return r2;
START r1=node(10), r2=node(11) CREATE r1-[r:next]->r2;
CREATE (r3 {name: 'r3'}) return r3;
START r2=node(11), r3=node(12) CREATE r2-[r:next]->r3;
CREATE (r4 {name: 'r4'}) return r4;
START r3=node(12), r4=node(13) CREATE r3-[r:next]->r4;
(노드 (P)). – Edward
@Edward console.neo4j.org에서 노드와 릴레이션을 설정합니다. 쿼리가 제대로 작동하는지 확인했습니다. 단순화되거나 최적화 된 검색어를 찾을 수 있는지 확인하십시오. –
해당 페이지에 "공유"버튼이 있어야합니다. 그 링크를 귀하의 질문에 포함시킬 수 있다면, 나는 그것을 체크 아웃 할 것입니다. – Edward