首页 文章

为什么带有OPTIONAL MATCH的COLLECT()中的DISTINCT会导致自Neo4j 2.3.3以来的ExecutionFailure?

提问于
浏览
3

我将Neo4j从2.3.2更新为2.3.3,然后使用以下模式查询Neo.DatabaseError.Statement.ExecutionFailure .

OPTIONAL MATCH (f:DOES_EXIST)
OPTIONAL MATCH (n:DOES_NOT_EXIST)
RETURN collect(DISTINCT n.property), collect(DISTINCT f.property)

不知何故,它在2.3.2中运行良好,有谁知道为什么以及如何解决这个问题?我想要的是查询一些模式,如果可选模式不匹配,则将它们作为不同的集合返回,这些集合是空的 .

1 回答

  • 2

    [EDITED]

    2.3.3似乎有一个错误(我已经提交了an issue) . 此查询解决此问题:

    OPTIONAL MATCH (f:DOES_EXIST)
    WITH COLLECT(DISTINCT f.property) AS fProps
    OPTIONAL MATCH (n:DOES_NOT_EXIST)
    RETURN COLLECT(DISTINCT n.property) AS nProps, fProps;
    

相关问题