2

を呼び出した後、クエリを構築することはできません。その後のNeo4j/APOCは、私は、次のサイファーのクエリ実行していますストアドプロシージャ `apoc.cypher.doIt`

WITH "CREATE (test:Test {id: 1})" AS cypher 
CALL apoc.cypher.doIt(cypher, {}) YIELD value 
CREATE (test2:Test2 {id: 2}) 

を、私はTestで、MATCH (a) RETURN aを実行し、その一つのノードのみを参照してくださいラベルが作成されます。 2番目のCREATEステートメントは実行されていないようです。私はCALLTest2を作成した場合

、それは予想通りノードを作成しません。

なぜこの問題が発生しているのか、このCALL句の後にどのようにクエリを続けるのか説明できますか?

ありがとうございます!

答えて

3

ここでの問題点は、apoc.cypher.doIt()で実行されたサイファーは行を返さないため、YIELDは何も返されないということです。あなたの最後のCREATEをRETURN valueに置き換えることで、これを確認できます:変更なし、レコードなし。

操作する行がなく、すべての操作が行単位で実行されるため、CREATEは実行されません。実行する行はありません。

実行したキプロスのreturn trueなどで何かを返す必要があります。

操作(一致、作成など)は行数と同じ回数実行されるため、クエリのさまざまな段階でクエリが生成している行の数に注意してください。

+0

完璧でした!説明ありがとう! – cstaikos

関連する問題