Neo4j - CASE DETACH DELETE error: Invalid input 'S'

Neo4j - CASE DETACH DELETE error: Invalid input 'S'

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

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"
   ^

我不明白为什么会出现这个问题。据我所知,似乎没有无效输入。我究竟做错了什么?

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

所以对于你的情况,我建议你做两个查询:

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

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