Neo4j 密码查询中的过滤模式

Neo4j 密码查询中的过滤模式,neo4j,cypher,Neo4j,Cypher,我试图找到所有状态为挂起且与BBB节点没有关系的AAA节点 我写了3个应该返回相同计数的查询(根据我的理解): Match(a:AAA)-[tempRel]->(temp)其中a.Status='Pending'和TYPE(tempRel)'RELATIONSHIP_1'返回计数(不同的a) 匹配(a:AAA)-[tempRel]->(temp:BBB),其中a.Status='Pending'和TYPE(tempRel)'RELATIONSHIP_1'返回计数(不同的a) 匹配(a:AAA)

我试图找到所有状态为挂起且与BBB节点没有关系的AAA节点

我写了3个应该返回相同计数的查询(根据我的理解):

Match(a:AAA)-[tempRel]->(temp)其中a.Status='Pending'和TYPE(tempRel)'RELATIONSHIP_1'返回计数(不同的a)
匹配(a:AAA)-[tempRel]->(temp:BBB),其中a.Status='Pending'和TYPE(tempRel)'RELATIONSHIP_1'返回计数(不同的a)
匹配(a:AAA),其中a.Status='Pending'和NOT((a)-[:RELATIONSHIP_1]->(:BBB))返回计数(不同的a)
  • 以下内容匹配与任何节点(有任何标签或无标签)具有非
    关系的任何挂起
    AAA
    。注意:匹配的挂起
    AAA
    节点也可以具有单独的
    关系\u 1
    关系

    MATCH (a:AAA)-[tempRel]->(temp)
    WHERE a.Status='Pending' AND TYPE(tempRel)<>'RELATIONSHIP_1'
    RETURN count(DISTINCT a)
    
  • 以下内容匹配与
    BBB
    节点没有任何
    关系的任何挂起
    AAA
    。这包括根本没有任何关系的挂起
    AAA
    节点

    MATCH (a:AAA)
    WHERE a.Status='Pending' AND NOT((a)-[:RELATIONSHIP_1]->(:BBB))
    RETURN count(DISTINCT a)
    
  • MATCH (a:AAA)
    WHERE a.Status='Pending' AND NOT((a)-[:RELATIONSHIP_1]->(:BBB))
    RETURN count(DISTINCT a)