如何在neo4j中打印节点直到特定节点

时间:2015-10-20 11:27:24

标签: graph neo4j notifications cypher

我有一个包含

等节点的数据库
(A:User)-[:HAS_NOTIFICATION]->(B:Notification)-[:NEXT]->
(C:Notification)-[:NEXT]->[D:Notification]-[:NEXT]->
(E:Notification) and so on

现在我想打印特定用户的通知,直到上次通知已发送给用户。如果我已经发送通知直到“D”现在我必须发送通知“B,C”,这些通知不会发送。所以我必须编写一个返回通知节点的查询,直到达到特定节点。

1 个答案:

答案 0 :(得分:0)

如果您知道上次发送的通知,则可以执行以下操作:

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

干杯