Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 单次查询中的Cypher遍历树_Graph_Neo4j_Cypher - Fatal编程技术网

Graph 单次查询中的Cypher遍历树

Graph 单次查询中的Cypher遍历树,graph,neo4j,cypher,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: Mess

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

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

此查询将返回以
g
为根的树中的每条
消息

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

此查询将返回以
g
为根的树中的每条
消息

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