Neo4j 그래프 데이터베이스는 대략 50,000 개의 노드와 50,000 개 이상의 관계를 유지합니다. 대부분의 노드를 포함하는 주 그래프가 있습니다. 그러나 (아직) 주 그래프에 연결되지 않은 몇 가지 그래프가 있습니다.연결되지 않은 모든 그래프를 나열하는 Cypher 쿼리 Neo4j 그래프 DB?
하나의 큰 주 그래프를 형성하기 위해 다양한 그래프를 연결하기 위해 Cypher 쿼리를 사용하여 연결된 노드의 경로 또는 컬렉션을 크기 (가장 큰 연결이 끊어진 그래프) 순서로 나열하려고합니다.
같은 유래에 대한 몇 가지 게시물이 :
- Finding all disconnected subgraphs in a graph하지만 사이퍼와 그것을 해결하는 방법을 분명 아니다.
다음 사이퍼 질의 문제를 해결하지는 않지만 시작점이다. 주 그래프에 연결되지 않은 모든 노드를 나열합니다. 이 노드를 노드 모음으로 결합하는 것을 놓친다. 그것은 작은 그래프에서 작동합니다. 큰 그래프에서는 10 분 이상 실행 한 후에 "undefined"를 반환합니다.
START s=node(3), n=node(*)
MATCH s-[*1..10]-m
WITH collect(m) as members, n
WHERE NOT n in members
RETURN DISTINCT id(n), n.name?
ORDER BY id(n)
LIMIT 10;
Cypher를 사용하여 모든 연결되지 않은 (하위) 그래프를 나열하는 방법은 무엇입니까?
환경 : - Neo4j - 그래프 데이터베이스 커널 1.9.M05 - 자바 - SE 런타임 환경 (빌드 1.7.0_17-B02)
Rolf, Traversal Framework는 Java 또는 Groovy (또는 Jython 일 수도 있음)를 사용함을 의미합니다. Python/Py2Neo와 함께 REST API를 사용하고 싶습니다. – Roman
트래버스는 REST API afaik (http://docs.neo4j.org/chunked/1.8.2/rest-api-traverse.html)에서도 제공됩니다. – Rolf
와우. 나는 그 사실을 몰랐다. 그것을 시도 할 것이다. – Roman