Neo4j 'match' 内 'unwind' 操作
Neo4j 'match' within 'unwind' operation
我有一个 Neo4j 查询,我试图在其中获取所有不同的 ID,然后对于每个 ID,return 所有与该 ID 匹配的节点。这是我的查询:
match (x:Log) with collect(distinct x.id) as ids
unwind ids as i
match (y:Log {id:i}) return y;
我希望这个查询的结果可以按 id 分组,也就是每行有多个节点,其中每行包含共享一个 id 的所有节点。相反,它每行只 returning 一个节点,并且有多行具有相同的 id。如何让结果按 id 分组?
示例:假设标签 Log 有五个节点。其中两个日志节点具有 id='abc'
,其中三个具有 id='123'
。现在,我的查询是 returning 五行,每行包含一个节点,但我希望它 return 两行:一行包含 id='123'
的所有日志节点,以及另一行包含 id='abc'
.
的所有日志节点
这将 return 每行一个不同的 id
,以及具有该 ID 的节点:
MATCH (x:Log)
RETURN x.id AS id, COLLECT(x) as nodes;
我有一个 Neo4j 查询,我试图在其中获取所有不同的 ID,然后对于每个 ID,return 所有与该 ID 匹配的节点。这是我的查询:
match (x:Log) with collect(distinct x.id) as ids
unwind ids as i
match (y:Log {id:i}) return y;
我希望这个查询的结果可以按 id 分组,也就是每行有多个节点,其中每行包含共享一个 id 的所有节点。相反,它每行只 returning 一个节点,并且有多行具有相同的 id。如何让结果按 id 分组?
示例:假设标签 Log 有五个节点。其中两个日志节点具有 id='abc'
,其中三个具有 id='123'
。现在,我的查询是 returning 五行,每行包含一个节点,但我希望它 return 两行:一行包含 id='123'
的所有日志节点,以及另一行包含 id='abc'
.
这将 return 每行一个不同的 id
,以及具有该 ID 的节点:
MATCH (x:Log)
RETURN x.id AS id, COLLECT(x) as nodes;