neo4j를 처음 사용하는 경우입니다. 내 사이퍼 스크립트를 볼 수 있다면 감사하게 생각합니다. 나는 nodeId로 서로 연결된 MyNode
의 단순한 트리가있다.Neo4j의 루트 노드 경로를 얻는 방법
NodeEntity :
@NodeEntity
public class MyNode {
@GraphId
private Long id;
private Long nodeId;
private int amount;
@Relationship(type="BELONGS_TO", direction = Relationship.OUTGOING)
private MyNode parent;
}
지금 내가하고 싶은 루트 노드에 모든 노드를 얻을 이러한 노드의 amount
필드의 합계를 확인합니다. 나는이 나무가있는 경우 :
100<-102<-103
100<-101
쿼리 :
MATCH (p:MyNode)-[:BELONGS_TO*]->(c:MyNode) WHERE c.nodeId = 103 RETURN p.nodeId
그렇게하지만,
MATCH (p:MyNode)-[:BELONGS_TO*]->(c:MyNode) WHERE c.nodeId = 100 RETURN p.nodeId
수익률 101, 102, 103 (102, 100를 기다리는) 빈 집합을 반환 그것은 반대 방향으로 작동합니다 (노드의 모든 자식을 나열하고 루트 노드를 향한 경로는 표시하지 않음).