繁体   English   中英

Neo4j Cypher 从同一节点查询多个关系

[英]Neo4j Cypher Query multiple relationship from same node

我有一个名为Member的节点,它与ClubsShops关系我想创建一个查询,以便我可以返回具有ClubsShopsMember

MATCH (m: Member { username: $memberUsername ,
                  password: $password})<- [r: MEMBER_BELONGS_TO_CLUBS] - (c: Club)
RETURN m, c, r

在示例中,我获得了MemberClubs ,但我想获得会员Clubs和会员Shops

如果您的节点M像这样连接S -> M <- C (M 是Member , S 是Shop ,并且 C 是Club ),那么您可以使用类似于文档4.2 多个关系中的示例的查询:

MATCH (s: Shop) - [rs: MEMBER_BELONGS_TO_SHOPS] ->
      (m: Member { username: $memberUsername ,
                   password: $password}) <- [r: MEMBER_BELONGS_TO_CLUBS] - (c: Club)
RETURN m, c, r, s, rs

您也可以将本示例中的语法与多个MATCH一起使用:

MATCH (m: Member { username: $memberUsername ,
                  password: $password})
MATCH (s: Shop) - [rs: MEMBER_BELONGS_TO_SHOPS] -> (m)
MATCH (m) <- [r: MEMBER_BELONGS_TO_CLUBS] - (c: Club)
RETURN m, c, r, s, rs

只有当MSC都连接时,这两个查询才会返回一些内容。 如果您不想要这些限制,您可以使用OPTIONAL MATCH 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM