想象一下,我的查询会产生具有不同名称的节点,但在我的下一个查询中,我想搜索上一个结果的合并版本。如何合并两个列表或两组节点?举个例子,假设我有
(:1类) - >(C1:等级2) - >(:CLASS3) - (:CLASS4) - >(C2:等级2)
然后我想根据c1.name和c2.name合并中的不同元素进行MATCH。
答案 0 :(得分:5)
我在某处学到的技巧是
MATCH (:class1)-->(c1:class2)-->(:class3)--(:class4)-->(c2:class2)
WITH collect(c1)+collect(c2) as nodez
UNWIND nodez as c
RETURN c
请注意,您不能以这种方式组合不同类型的列表(例如节点+关系)。它们必须是相同的类型(例如,所有节点或所有关系)。如果要在聚合列表中混合类型,则需要先将所有内容转换为相同类型(可能是地图)。