1

このクエリでは、次のようになります。

        START root = node(*)
        MATCH root-[:HAS_DEPARTMENTS]->()<-[:IS_DEPARTMENT]-department-[relationship1:HAS_CATEGORY_SUGGESTION]->categorySuggestion-[relationship2:IS_CATEGORY_SUGGESTION]->()<-[:HAS_CATEGORY_SUGGESTIONS]-root
        WHERE root.name = "Store" and department.name = "foo" and categorySuggestion.name = "bar"
        DELETE relationship1, relationship2

        WITH root, department, categorySuggestion
        MATCH root-[:HAS_CATEGORIES]->categories
        CREATE department-[:HAS_CATEGORY]->categorySuggestion
        CREATE categories<-[:IS_CATEGORY]-categorySuggestion

2つの部分を区切るWITH句があります。

DELETEをWITHの下に移動すると、エラーが発生します。

WITHをどこで使うべきかをどうやって知ることができるのだろうか。

いくつかの黄金のルールはありますか?

4

1 に答える 1

1

WITH 句は、サイファー クエリのさまざまなパイプ ステートメントを区切ります。WITH の後、次の部分には、WITH 句で指定された変数のみが表示されます。したがって、WITH で指定しない限り、DELETE は失敗します。

于 2012-05-21T07:55:43.747 に答える