单个查询中的密码遍历树

时间:2019-05-31 01:40:07

标签: graph neo4j cypher

假设您具有以下布局。可以通过以下方式找到称为“组”的根节点:

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遍历以检索所有消息及其回复的图表。假设不存在圆形路径。

1 个答案:

答案 0 :(得分:1)

此查询将返回以Message为根的树中的每个g

MATCH (g:Group {key: $groupKey})-[:Owns*]->(m:Message)
RETURN g, COLLECT(DISTINCT m) AS messages;