代码之家  ›  专栏  ›  技术社区  ›  iRyanBell

匹配所有节点并返回节点+关系

  •  0
  • iRyanBell  · 技术社区  · 7 年前

    在最新版本的Cypher中,我可以使用此查询获取具有关系的所有节点:

    MATCH (n)-[r]-(m) RETURN n,r,m
    

    但是,我缺少没有任何关系的节点。

    Variable 'r' not defined

    MATCH (n) WHERE NOT (n)-[r]->() RETURN n
    

    并且,此尝试显示零结果:

    MATCH (n)-[r]->() WHERE r is null RETURN n
    

    我可以看到那些掉队的人:

    MATCH (n) RETURN n
    

    但是,那我就错过了关系。

    如何对查询进行词组化以查找所有节点和所有关系而不重复?

    1 回复  |  直到 7 年前
        1
  •  2
  •   stdob--    7 年前

    你可以试试这个 OPTIONAL MATCH :

    MATCH (n)
    OPTIONAL MATCH (n)-[r]-(m)
    RETURN n, r, m