首页 > 解决方案 > neo4j cyper 使用 UNWIND 在单个查询中删除和更新关系

问题描述

我正在尝试使用 UNWIND 在单个查询中删除和 UPSERT 关系

UNWIND [{id:54,read:true,is_delete:true,language:{name:'english'}},
{read:true,is_delete:false,language:{name:'german'}}] AS obj
MATCH (m:PERSON {name: 'Max'})
MATCH (l:LANGUAGE)
RETURN obj,
    CASE WHEN (obj.is_delete = true)
        THEN
            //delete query 
            // (m) working
            // MATCH (m)-[r:KNOWS]->(l) delete r
        ELSE 
            //upsert query (MERGE)
        END as result

当我在 THEN 条件下使用 MATCH 查询时,会引发以下错误

无效输入“>”:预期的“+”或“-”(第 8 行,第 33 列(偏移量:275))“MATCH (m)-[r:KNOWS]->(l)”

如果 RETURN 之后的 CASE 语句仅用于在获得结果后过滤或操作值,请建议适当的查询。

标签: neo4jcypher

解决方案


推荐阅读