如何在neo4j中将列分隔成行

时间:2016-12-07 03:38:06

标签: neo4j cypher

例如,我在数据库中有三个关系

(0001)-[relation1]-(node3)

(0001)-[relation2]-(node3)

(0002)-[relation3]-(node3)

我想查询0001,0002和他们共同的朋友之间的关系

MATCH(s1:Person{name:'0001'})-[f1]->(x),(s2:Person{name:'0002'})-[f2]-(x) return f1, f2

然而,它返回2行,有2列

f1                            f2                            
relation1                     relation3
relation2                     relation3

如何用单列制作3行结果?

relation1
relation2
relation3

1 个答案:

答案 0 :(得分:0)

您可以收集()然后将这些集合添加到一起,然后UNWIND:

MATCH(s1:Person{name:'0001'})-[f1]->(x),(s2:Person{name:'0002'})-[f2]-(x) 
WITH COLLECT(DISTINCT f1) + COLLECT(DISTINCT f2) as rels
UNWIND rels as rel
RETURN rel