密码查询中的"无关系"

lis*_*BZT 8 neo4j cypher

如何在密码中进行如下查询:"让所有人都知道anna跟随谁不跟随任何人"?

在下面(我在查询后明确了起始节点的id)"r为空"-part似乎不起作用:

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

现在,"跟随"是我唯一的关系.但是也

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

通过不起作用我的意思是:我没有得到任何结果,虽然应该有一些.

Eve*_*man 18

match如果它不存在,它将不是一个模式.match是寻找东西,而不是寻找东西.您可以将类似的谓词放入where子句中:

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