Neo4j-案例分离删除错误:无效的输入'S'

时间:2019-08-19 09:19:09

标签: neo4j case-statement

我正在尝试在特定情况下分离删除。我有以下查询。

MATCH (childNode)-[r]-(parentNode)
CASE WHEN childNode.version = 1
THEN DETACH DELETE childNode, parentNode
ELSE DETACH DELETE childNode
RETURN childNode, parentNode

我一直收到以下错误:

Neo.ClientError.Statement.SyntaxError: Invalid input 'S': expected 'l/L' (line 7, column 3 (offset: 425))
"CASE cv.version"
   ^

我不明白为什么会发生此问题。据我所知,似乎没有无效的输入。我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

CASE只能在RETURNWITH中使用,以将一个值转换为另一个值。您不能使用CASE进行条件查询。

因此,根据您的情况,我建议您进行两个查询:

MATCH (childNode {version:1})-[r]-(parentNode)
DETACH DELETE childNode, parentNode;

MATCH (childNode)-[r]-(parentNode)
DETACH DELETE childNode;