2

neo4j-mazerunner을 사용하여 strongly_connected_components 관계를 내 그래프에 분석했습니다. 프로세스가 끝났으며 이제 노드에 strongly_connected_components 속성이 있습니다.Cypher를 사용하여 강력한 연결 구성 요소 결과 시각화

MATCH (n) WHERE has(n.strongly_connected_components) 
RETURN DISTINCT "node" as element, n.strongly_connected_components 
AS strongly_connected_components 
LIMIT 25 UNION ALL MATCH()-[r]-() 
WHERE has(r.strongly_connected_components) 
RETURN DISTINCT "relationship" AS element, r.strongly_connected_components 
AS strongly_connected_components LIMIT 25 

내가 생성 된 클러스터를 시각화하기 위해 그래프를 조회 사이퍼하는 방법을 잘 모르겠어요 :

나는 노드의 행 별개의 노드를 얻기 위해 다음 쿼리를 사용했다.

모든 도움이 appericiated 것입니다.

match (n2 {strongly_connected_components:NODE_ID_HERE})-[r:NEXT]->(n) return n,n2 LIMIT 50 
+0

질문에 몇 가지 문제가 있습니다. 'RETURN DISTINCT "node"as element, ... "는 결과에서'element' 칼럼의 값으로 항상"node "라는 문자열을 반환 할 것입니다. 이것은 아마도 당신이 의도 한 것이 아닙니다. 또한, mazerunner는'strongly_connected_components' 속성을 노드에만 추가하기 때문에'UNION' 절 다음의 서브 쿼리는 결코 일치해서는 안됩니다. – cybersam

답변

2

이를 쿼리는 25 개의 클러스터를 반환해야하며 브라우저의 각 클러스터를 강력한 연결 노드로 시각화 할 수 있어야합니다. 쿼리에서는 strongly_connected_components 값을 생성하도록 요청할 때 FOOneo4j-mazerunner에 지정된 관계라고 가정합니다.

참고 :

MATCH p=(n1)-[:FOO]->() 
RETURN n1.strongly_connected_components AS clusterId, COLLECT(p) AS paths 
LIMIT 25; 

neo4j-mazerunner 이후 양수인 : 각 클러스터의 노드 사이의 FOO 관계를 볼에만 (결과 창 오른쪽 하단에) 브라우저의 자동 완성 기능을 해제 동일한 클러스터에있는 모든 노드에 동일한 strongly_connected_components 값이있는 경우이 쿼리는 모든 경로를 동일한 strongly_connected_components 값 (clusterId)으로 간단하게 집계합니다.

1

당신은 사용하여 특정 ID를 조회 할 수 있습니다

MATCH (n) WHERE has(n.strongly_connected_components) MATCH (n)-[*]-() RETURN n 
+0

답장을 보내 주셔서 감사합니다. 그러나 모든 클러스터와 해당 클러스터에 연결된 노드를 시각화하고 싶습니다 (그래픽 제한 사항의 결과 제한) –

0

내가 아마 여기에 문제를 오해하고있어, 그러나 이것은 당신에게 강력하게 연결된 노드의 큰 그림을 줄 것이다 :