【问题标题】:Cypher: Extract unique values from collectionCypher:从集合中提取唯一值
【发布时间】:2014-10-29 15:46:38
【问题描述】:

我有

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]

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • Null 将被收集不同的 (afaik) 跳过
    • 有趣的是,... RETURN x.name, y.name, COLLECT( distinct rel.property) AS collected 确实返回(一个带有)空单元格的表格来代替(单个)nulls
    • 添加 CASE 语句:COLLECT( distinct CASE rel.property WHEN null THEN "null" ELSE rel.property END)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2011-06-10
    • 2013-08-01
    • 2018-06-10
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多