2013-07-23 80 views
0

我有一個看起來像這樣Neo4j的暗號得到所有節點的循環鏈表

(user)->[:Comments]->(comment)->[:Comments]->(comment)->[:Comments]->(comment)->(user) 

基本上它是一個用戶作出的評論循環鏈表的圖表。該列表圍繞並最終返回給用戶。我如何使用密碼來檢索所有的評論?

回答

2

在這件事上發生了一次刺痛,它看起來有點複雜,但在這裏它無論如何。

假定從用戶最後一個註釋的關係是:評論

即代替..->(comment)->(user)

我認爲..->(comment)-[:Comments]->(user)

START n=node(1) 
MATCH n-[:Comments*0..]->(c) 
WHERE c<>n 
WITH collect(c) AS allComments,n 
WITH last(allComments) AS lastcomment,n,allComments 
WHERE lastcomment-[:Comments]->n 
RETURN allComments 

我不得不把在其中C <>ñ自最後的評論 - >用戶關係是評論。如果是別的東西,那就更好了,不需要它(只需要選擇鏈中的最後一條評論)。它也返回一個集合。

http://console.neo4j.org/r/17d1fy

投注@Wes弗里曼有niftier解決方案

+0

不錯,怎麼會在控制檯的結果返回用戶? –

+0

我把你的東西和編輯到這個:http://console.neo4j.org/?id=cx1gh9它有你的心臟,但不返回用戶。 –

+0

好問題,讓我回到我的問題,並檢查爲什麼用戶回來,沒有注意到它。您發佈的控制檯示例是我的第一次嘗試,但是存在的問題是您還會得到沒有最終評論連接到始發用戶的鏈。如果這沒關係,那麼你不需要我的所有額外的東西(這基本上是爲了建立最後的鏈接) – Luanne