如何在 Neo4j Cypher 中过滤节点级别的数据
How to filters data at node level in Neo4j Cypher
假设我们有两个比赛,现在我们想要这样的东西
(匹配 1-匹配 2)
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)
您可以过滤不在集合中的资源。
确保在 :Resource(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
假设我们有两个比赛,现在我们想要这样的东西 (匹配 1-匹配 2)
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)
您可以过滤不在集合中的资源。
确保在 :Resource(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