Neo4j需要一个节点、关系或路径,但得到了一个字符串

Neo4j需要一个节点、关系或路径,但得到了一个字符串,neo4j,cypher,Neo4j,Cypher,我正在尝试从包含该属性的所有节点中删除该属性。我使用的代码是: call apoc.periodic.commit(" match (p:Person) with p limit {limit} delete p.county return count(*) ",{limit:10000}) 但是我得到了以下错误:需要一个节点、关系或路径,但得到了一个字符串 是否有人知道导致此错误的原因和解决方法?根据: DELETE子句用于删除图形元素 — 节点、关系或路径 要删除属性,请使用以下子句: R

我正在尝试从包含该属性的所有节点中删除该属性。我使用的代码是:

call apoc.periodic.commit("
match (p:Person)
with p limit {limit}
delete p.county
return count(*)
",{limit:10000})
但是我得到了以下错误:
需要一个节点、关系或路径,但得到了一个字符串

是否有人知道导致此错误的原因和解决方法?

根据:

DELETE子句用于删除图形元素 — 节点、关系或路径

要删除属性,请使用以下子句:

REMOVE子句用于从图形元素中删除属性和标签

这将产生以下查询:

CALL apoc.periodic.commit("
  MATCH (p:Person)
  WITH p LIMIT {limit}
  REMOVE p.county
", {limit:10000})

奇怪的是,使用
RETURN
会给我带来某种无限循环,而且查询不会终止,所以我删除了
RETURN
子句。

您使用的是哪个版本?此查询在空数据库上与3.0.6和APOC 3.0.4.2完美结合。(顺便说一句,p.county的Neo4j是3.0.6,APOC是3.0.4.2。这不是一个打字错误,还试图删除另一个属性,但我得到了相同的错误,我看到。我确实可以通过使用单个节点重现您的错误:
CREATE(p:Person{name:'p1',country:'c1'})