我试图找到所有具有Status = Pending并且与BBB节点没有RELATIONSHIP_1关系的AAA节点。
我写了3个查询应该返回相同的计数(根据我的理解):
Match (a:AAA)-[tempRel]->(temp) where a.Status='Pending' AND TYPE(tempRel)<>'RELATIONSHIP_1' RETURN count(DISTINCT a)
Match (a:AAA)-[tempRel]->(temp:BBB) where a.Status='Pending' AND TYPE(tempRel)<>'RELATIONSHIP_1' RETURN count(DISTINCT a)
Match (a:AAA) where a.Status='Pending' AND NOT((a)-[:RELATIONSHIP_1]->(:BBB)) RETURN count(DISTINCT a)
&#13;
但所有查询都返回了不同的结果。
我在这里可能缺少什么想法?
此致
的Rahul
答案 0 :(得分:2)
以下内容匹配与任何节点(带有任何标签或无标签)具有非AAA
关系的待处理RELATIONSHIP_1
。注意:匹配的待定AAA
节点也可能具有单独的RELATIONSHIP_1
关系。
MATCH (a:AAA)-[tempRel]->(temp)
WHERE a.Status='Pending' AND TYPE(tempRel)<>'RELATIONSHIP_1'
RETURN count(DISTINCT a)
以下内容与任何与AAA
节点具有非RELATIONSHIP_1
关系的待定BBB
匹配。注意:匹配的待定AAA
节点可能与RELATIONSHIP_1
节点具有单独的BBB
关系。
MATCH (a:AAA)-[tempRel]->(temp:BBB)
WHERE a.Status='Pending' AND TYPE(tempRel)<>'RELATIONSHIP_1'
RETURN count(DISTINCT a)
以下内容与任何与AAA
节点没有任何RELATIONSHIP_1
关系的待定BBB
匹配。这包括完全没有任何关系的待定AAA
个节点。
MATCH (a:AAA)
WHERE a.Status='Pending' AND NOT((a)-[:RELATIONSHIP_1]->(:BBB))
RETURN count(DISTINCT a)