如何将多个列表合并为一个列表

时间:2018-09-26 04:39:24

标签: neo4j cypher

要查找节点的邻居,请使用以下查询语句

MATCH (self:Person {id:"13619240353"})-[r*1..2]-(N) return collect(r)

然后我得到这样的结果 enter image description here

这里r是关系的列表,因此collect(r)是列表的列表,但是我希望  返回关系列表,包括collect(r)中的所有关系,并且没有重复项。如何编写查询?

1 个答案:

答案 0 :(得分:0)

由于模式的长度可变,因此命名结果为列表,因此您需要UNWIND并使用DISTINCT删除重复项:

MATCH (self:Person {id:"13619240353"})-[rs*1..2]-(N) 
UNWIND rs AS r
RETURN collect(DISTINCT r)