2016-09-22 93 views
0

我使用Neo4j的開發概念驗證所有路徑,我想獲得的所有節點ID爲所有路徑從我的根節點到葉子,例如與IDS:獲取Neo4j的暗號

ROOT1-->N1--->SN2--->L1 
ROOT1-->N2--->SN3--->L3 

我想要得到我的結果查詢是:ROO1,N1,SN2 and ROOT1,N2,SN3

即時通訊新的密碼,我很難得到這個結果,任何幫助將是有用的。

回答

3

我認爲你提到的IDid屬性。

要獲得每個完整路徑節點ID的集合(除了葉節點):

MATCH p=(root {id: 'ROOT1'})-[*]->(leaf) 
WHERE NOT (leaf)-->() 
RETURN EXTRACT(x IN NODES(p)[..-1] | x.id) AS result; 

下面是一個簡單的結果:

+----------------------+ 
| result    | 
+----------------------+ 
| ["ROOT1","N1","SN2"] | 
| ["ROOT1","N2","SN3"] | 
+----------------------+ 
+0

這是真棒謝謝! – azelix

+2

您可以將切片簡化爲'節點(p)[..- 1]',從尾數開始計算負索引。 –

+0

@FrankPavageau:謝謝。我更新了我的答案,用更簡潔的'[..- 1]'替換'[0 .. SIZE(NODES(p)) - 1]''。 – cybersam