1

1 つの Cypher クエリで条件付き更新を実行する簡単な解決策が見つかりません。

Gameノードがあり、ゲームにStateプロパティがあるとしましょう...次
のことを行う機能が必要です。

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

1 つの 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エクスプレッションは、等しいすべてのノードを選択stateXて として設定し、等しくないaすべてのノードを選択して として設定します。最後に、式はすべてのノードを設定してに設定し、すべてのノードを取得して に設定します。stateXbSETastateYbstateZ

于 2013-06-16T23:19:08.463 に答える