2015-10-20 112 views
1

我有一個節點數據庫像如何打印節點的Neo4j,直到某個特定節點

(A:User)-[:HAS_NOTIFICATION]->(B:Notification)-[:NEXT]-> 
(C:Notification)-[:NEXT]->[D:Notification]-[:NEXT]-> 
(E:Notification) and so on 

現在我想打印通知特定用戶到最後通知已經發送給用戶。如果我現在已經發送通知直到「D」,我必須發送未發送的通知「B,C」。所以我必須編寫一個查詢返回通知節點,直到達到特定節點。

回答

0

如果您知道發送的最後通知,你可以做這樣的事情:

MATCH 
(:Person {id:"User_ID"})-[:HAS_NOTIFICATION]->(n1:Notification), 
(n2:Nofitication { id:"LAST_NOTIFICATION_SENT"}), 
    p=shortestPath((n1)-[*]->(n2)) 
RETURN 
    nodes(p) 

乾杯

+0

您的解決方案解決了我的問題,非常感謝.. – user3542450

+0

有兩個小問題,這個解決方案,就像用戶只有一個通知那麼它不會返回任何通知。另一個問題是,如果我嘗試獲取通知的新列表,那麼新列表還包括上次發送的通知。 – user3542450

相關問題