2015-10-07 59 views
1

我试图获取与节点无关的节点并返回它们。例如,有一个事件节点有图片,我只想向用户显示他没有看到的图片。如何找到与另一个节点无关的节点集合neo4j

  1. 我匹配与图片关系
  2. 匹配用户和有关该事件的图片,他已经看到
  3. 事件如果我有问题,是如何查询的区别这两个匹配,所以我会有与用户无关的图像。

    MATCH照片=(ⅰ) - [R:EVENT_IMAGES] - (E {UUID: 'ed3f4785-fc58-4d78-9ae1-ae738814a34a'}) MATCH用户=(U {UUID:'4f731ba1-B15D-4a3f -85bd-446057c84cbc'})
    RETURN照片,用户

回答

2

您可以使用WHERE NOT子句的模式来过滤掉一个给定模式相匹配。例如:

MATCH (p:Photo)<-[r:EVENT_IMAGES]-(e:Event {uuid:'ed3f4785-fc58-4d78-9ae1-ae738814a34a'}) 
MATCH (u:User {uuid:'4f731ba1-b15d-4a3f-85bd-446057c84cbc'}) 
WITH p, u WHERE NOT (u)-[:VIEWED]->(p) 
RETURN p, u 
+0

这奏效了很多感谢。 – ctorres

相关问题