如何在Neo4j Cypher中过滤节点级数据

时间:2015-02-12 12:26:13

标签: neo4j cypher

假设我们有两场比赛,现在我们想要这样的比赛 (MATCH1-MATCH2)

match (u:User)-[r:HAS_RESOURCES]-(resource:Resource) where id(u)=1484
 match (resource1:Resource)-[r1:OWNED_BY_USER]-(owner:User) where resource1.isPublished=true return resource1

我们制作的这个密码。所以现在我们想要这样的id(resource1)-id(resource)

1 个答案:

答案 0 :(得分:1)

您可以过滤不在集合中的资源。

确保索引为:资源(isPublished),否则您必须扫描所有资源。

match (u:User)-[r:HAS_RESOURCES]-(resource:Resource) where id(u)=1484
with collect(resource) as resources
match (resource1:Resource) 
where resource1.isPublished=true and NOT (resource1 IN resources)
return resource1