0
이 답변에서 도움이되었지만 고립 된 노드는 관계가없는 단일 노드 (자식 노드)를 의미하지 않습니다. 이 경우 노드 하나가 아예 없습니다. UNWIND rels(path) as rel
neo4j에서 고립 된 노드를 가져 오지 못했습니다.
이 컬렉션을 풀기 것은 그 기록을 복용 의미하고, : 좋은 말 내가 neo4j에 초보자입니다 도와,이 문제는 이것이다 중대한 호의
OPTIONAL MATCH path = (x)-[*0..100]->()
WHERE ID(x) = 65
UNWIND nodes(path) as node
UNWIND rels(path) as rel
WITH collect(distinct node) as nodes,collect(distinct rel) as rels
// WITH apoc.coll.flatten(collect(nodes(path))) as nodes, apoc.coll.flatten(collect(relationships(path))) as rels
WITH apoc.coll.toSet([n in nodes WHERE n is not null
| { id: id(n),label: labels(n),type:"",metadata: properties(n) } ]) as nodes,
apoc.coll.toSet([r in rels WHERE r is not null
| { id: id(r),source: id(startNode(r)),relation: type(r),target: id(endNode(r)), directed: "true" } ]) as rels
RETURN { graph: { type:"",label: "",directed: "true",nodes: nodes,edges: rels,
metadata:{ countNodes: size(nodes),countEdges: size(rels) } } } as graph;
감사
감사합니다. 완벽하게 작동합니다. UNWIND에 관해 자세히 배울 수있을 때 문서/블로그를 공유 할 수 있습니까? –
[UNWIND 관련 문서] (https://neo4j.com/docs/developer-manual/current/cypher/clauses/unwind/)는 다음과 같습니다. 목록을 행으로 확장하는 것은 사실이지만 곱셈 연산이라는 것은 분명하지 않으며 빈 목록은 연결된 행이 지워지는 것을 의미합니다. – InverseFalcon