2016-08-05 71 views
0

sample graph的Cypher查詢支持

嗨, 對於上面的圖中,需要與下面的情形的暗號查詢你的幫助。

1)返回關係R1連接到節點R1的所有節點。我想獲得S1,S2,S3作爲查詢的輸出

2)從其餘節點R2,R3等,如果沒有直接關係增加,有沒有辦法查詢自下而上的節點即S1,S2等,從節點R5

感謝您的輸入

+0

我是新來的Neo4j,下面是我嘗試......所有的RNode和SNodes都有標籤。但是沒有得到正確的節點MATCH(:RNode {name:'R1'}) - (SNode) RETURN(SNode) – j2eeuser

+0

在你的例子中,SNode是一個變量名。如果SNodes是與其他節點不同的類型,則需要在此處有一個標籤,否則這將在連接到R1的每個節點上匹配。您可能想重新閱讀Cypher開發手冊或瀏覽瀏覽器應用程序中的教程,以熟悉Cypher語法。 – InverseFalcon

+0

This works,MATCH(:RNode {name:'R1'}) - [*] - (n:S1)return n – j2eeuser

回答

1

您的圖形缺少節點標籤(即類型),如果所有節點都是同一類型和名稱R1 ... S5則: 1)

MATCH (node:Node)-[:R1]->(x) where node.name ="R1" 
RETURN x 

這意味着找到所有連接的節點d到名爲R1的節點的關係爲R1

2)您的問題不清楚,您是否試圖找到給定R5的所有S節點?給R5

MATCH(node:Node)-[:*1-7]-(node-s:Node) where node.name="R5" AND node-s.name =~ "S.*" 
RETURN (node-s) 

[:*1-7] 意味着7

長度爲1的路徑。這會更容易,如果你的節點有標籤...