假设您具有以下布局。可以通过以下方式找到称为“组”的根节点:
MATCH (g: Group {key: $groupKey}) RETURN g;
以及该小组拥有的一系列消息:
MATCH (g: Group {key: $groupKey})-[r: Owns]->(m: Message) RETURN m;
每封邮件可以有很多回复,也都表示为邮件
MATCH (m: Message {key: $messageKey})-[r: Owns]->(reply: Message) RETURN reply;
问题是如何在单个查询中从g遍历以检索所有消息及其回复的图表。假设不存在圆形路径。
答案 0 :(得分:1)
此查询将返回以Message
为根的树中的每个g
。
MATCH (g:Group {key: $groupKey})-[:Owns*]->(m:Message)
RETURN g, COLLECT(DISTINCT m) AS messages;