2017-11-29 1 views
2

색이 내가 가지고있는 데이터 세트 (샘플) 다음만들기 그래프는 다르게

child,parent 
Z,B 
T,B 
B,A 
C,T 
X,B 
K,A 

와 내가 다른 색깔의 잎 노드가 그래프를 만들려고합니다. 그러나 im은 다음 사이퍼 쿼리로이를 얻을 수 없습니다.

load csv with headers from "file:///test.csv" as test 
merge(n:Node{id:test.child}) 
merge(m:Node{id:test.parent}) 
merge(m)-[:TO]-(n) 

어떻게 구현합니까?

+0

안녕하세요, 오신 것을 환영합니다 StackOverflow. 도움말 페이지, 특히 [여기에 관해서 내가 무엇에 관해 물을 수있는 주제는 무엇입니까?] (http://stackoverflow.com/help/on-topic) 섹션과 [ "어떤 유형의 질문을해야합니까? 묻지 마시오? "] (http://stackoverflow.com/help/dont-ask). 더 중요한 것은 [Stack Overflow question checklist] (http://meta.stackexchange.com/q/156810/204922)를 읽어보십시오. [Minimal, Complete, Verifiable Examples] (http://stackoverflow.com/help/mcve)에 대해 배우고 싶을 수도 있습니다. – Clijsters

답변

0

당신은 리프 노드 당신이 그들에 다른 레이블을 할당하고 해당 레이블에 대해 다른 색상을 선택할 수있는 다른 노드와 다른 색깔을 갖고 싶어.

먼저로드 쿼리에 >을 추가하여 특정 순서로 (child)-->(parent) 관계를 할당합니다.

LOAD CSV WITH HEADERS FROM "file:///test.csv" AS test 
MERGE (n:Node {id:test.child}) 
MERGE (m:Node {id:test.parent}) 
MERGE (m)<-[:TO]-(n) 

그리고 내가 리프 노드를 찾기 위해 갓로드 트리을 통과 것이고, 나는 그들에게 새 레이블을 할당합니다. B이로드 된 트리의 루트 노드라고 가정합니다.

MATCH (leaf:Node) 
WHERE NOT ((leaf)<--()) 
SET leaf:Leaf 

그런 다음 브라우저 UI에 나는 Leaf 레이블을 선택 것이고, 그것을 위해 다른 색상을 선택합니다. 그런 다음이 같은 것을 반환해야합니다

MATCH path=(n:Node {id: 'B'})-[:TO*]-(end:Node) 
RETURN path 
+0

모두 : 노드 노드가 트리의 일부인 경우 모든 항목을 찾을 수 있습니다 (어린이와 관계가있는 방향에 따라 어린이와 관계가없는 노드). 레이블을 설정하면 트리를 탐색 할 필요가 없습니다. – InverseFalcon

+0

:) 절대적으로 사실입니다 - 나는 그 변화를 만들 것입니다 - 고마워요! –

+0

고마워, 작은 추가 : 새 레이블 (SET leaf : Leaf)을 설정하는 것 외에 기존 레이블 (REMOVE leaf : Node)도 제거해야했습니다. 그렇지 않으면 리프 노드에 두 레이블이 모두 포함됩니다. – user2230736