2014-10-29 41 views
2

提取独特的价值观我有暗号:从收集

MATCH (x)-[rels*]->(y) 
RETURN extract(r in rels | r.property) as collected 

其中collected是沿该路径的所有关系,如[null, 4, null, 4][1, 3, 3, 1]的属性的集合。

我怎样才能从collected进一步提取其独特的价值? 例如,[null, 4, null, 4]会变成[null, 4]

回答

5

,而不是尝试这个办法:

MATCH (x)-[rels*]->(y) 
UNWIND rels AS rel 
RETURN COLLECT(distinct rel.property) AS collected 
+1

空值将被跳过收集不同(据我所知) – 2014-10-30 02:19:33

+0

有趣的是,'... RETURN x.name,y.name,收取(不同的rel.property)AS收集'确实返回(表中有)空单元格代替(单)'null's – 2014-10-30 09:49:06

+1

添加CASE语句: COLLECT(distinct CASE rel.property WHEN null THEN“null” ELSE rel.property END) – 2014-11-10 10:22:47