无法根据条件

时间:2015-08-12 10:03:19

标签: neo4j cypher

我在数据库中添加了一堆节点。所有节点都具有如下格式:

{"id":"10","guid":"...", "type":"object_1_"}
{"id":"11","guid":"...", "type":"object_1_"}
...
{"id":"11","guid":"...", "type":"object_N_"}

这个^^^正是我运行START n=node(*) RETURN n查询时得到的结果。

但是,当我尝试根据条件删除某些节点时,它不起作用。所以,这个

MATCH (n{type:"object_1_"}) OPTIONAL MATCH (n)-[r]-() DELETE n,r

不起作用。我想知道为什么。只有一个微不足道的案例有效:

MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n, r

但这不是我想要的。我希望有一些条件,例如type属性为object_1_的上述条件。那么,我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

整个问题在于我如何在curl中运行此查询。不正确的方式是:

curl http://... -H ... -d "{\"query\":\"MATCH (n{type:\"object_1_\"}) 
                           OPTIONAL MATCH (n)-[r]-() DELETE n,r\"}"

Neo4j解析器没有抛出任何错误消息,但仍然不正确。正确的方法是:

curl http://... -H ... -d "{\"query\":\"MATCH (n{type:'object_1_'})
                          OPTIONAL MATCH (n)-[r]-() DELETE n,r\"}"