我需要找到某个类别的节点,这些节点与另一个类别的节点无关。 例如,如果节点是PEOPLE并且关系是知道的,那么我想要找到所有来自英国的不认识法国人的人。
我尝试过这样的事情:
match(a:People {Country: "England"})
match(b:People {Country: "France"})
where NOT (a)-[:REFERENCES]->(b)
RETURN count(a)
然而,这是(我相信)返回笛卡尔积,因为返回的数字比数据库中的人数多许多倍。
我该如何重写查询?
答案 0 :(得分:1)
应该这样做......
MATCH (pe:People {country: "England"})
WHERE NOT (pe)-[:REFERENCES]->(:People {country: "France"})
RETURN COUNT(DISTINCT pe);
希望这有帮助。
此致 汤姆