Neo4j期望一个节点,关系或路径,但得到一个字符串

时间:2016-12-01 16:36:58

标签: neo4j cypher

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

call apoc.periodic.commit("
match (p:Person)
with p limit {limit}
delete p.county
return count(*)
",{limit:10000})

但是我收到以下错误:Expected a Node, Relationship or Path, but got a String

有谁知道导致此错误的原因以及如何解决?

1 个答案:

答案 0 :(得分:1)

根据Cypher documentation

  

DELETE子句用于删除图元素 - 节点,关系或路径。

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

  

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

这提供了以下查询:

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

奇怪的是,使用RETURN会为我引入某种无限循环,并且查询不会终止,所以我删除了RETURN子句。