在这个查询中我有一个:
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
我有一个分开两部分的WITH子句。
如果我将DELETE向下移动到WITH,我将收到错误。
我只是想知道,我怎么知道应该在哪里使用。
是否有一些黄金法则?
答案 0 :(得分:1)
WITH子句分隔cypher查询的不同管道语句。在WITH之后,以下部分仅具有WITH子句中指定的变量的可见性。除非您在WITH中说明它们,否则您的DELETE将失败。