1

我找不到在一个 Cypher 查询中执行条件更新的简单解决方案。

假设我有Game节点并且游戏具有State属性...
我希望能够执行以下操作:

 If game.state = X then set game.state = Y else set game.state= Z

是否可以在一个 Cypher 查询中实现?非常感谢您的回答。

4

1 回答 1

1

尝试这样的事情来模拟if...else语句:

START a=node(*), b=node(*)
WHERE a.state = X AND NOT b.state = X
SET a.state = Y, b.state = Z;

首先,START表达式将加载所有节点。然后,WHERE表达式将选择所有state等于的节点X并将它们设置为a,并将选择所有state不等于的节点X并将它们设置为b。最后,SET表达式将设置所有a节点并设置stateY,并将获取所有b节点并设置stateZ

于 2013-06-16T23:19:08.463 回答