【问题标题】:"No relation" in cypher query密码查询中的“无关系”
【发布时间】:2013-03-29 22:11:19
【问题描述】:

如何在 cypher 中进行如下查询: “返回所有 anna 关注但不关注任何人的人”?

在下面(我在查询后明确了起始节点的 ID)“r 为空”部分似乎不起作用:

START o=node({id}) 
MATCH (a)-[:follows]->(b)-[r]->(c) 
WHERE a.name="anna" and r is null 
RETURN b

现在,“跟随”是我唯一的关系。 但也有

START o=node({id}) 
MATCH (a)-[:follows]->(b)-[:follows]->(c)
WHERE a.name="anna" and c is null
RETURN b* does not work.

不起作用我的意思是:尽管应该有一些结果,但我没有得到任何结果。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    如果它不存在,它不会match 一个模式。 match 是用来找东西的,不是用来not找东西的。您可以将这样的谓词放入where 子句中:

    START a=node({id}) 
    MATCH (a)-[:follows]->(b)
    WHERE not(b-[:follows]->()) 
    RETURN b
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多