我在数据库中添加了一堆节点。所有节点都具有如下格式:
{"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_
的上述条件。那么,我该怎么做呢?
答案 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\"}"