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