【发布时间】:2016-01-13 09:38:33
【问题描述】:
在 Neo4j 2.3.x 中添加的新 Cypher 运算符 DETACH DELETE 的行为和目的是什么?
【问题讨论】:
-
如果您从搜索引擎来到这里,试图找出
detach和delete之间的区别:detach删除了节点的关系。delete删除一个节点。如果有任何关系,您需要先detach一个节点delete它。
在 Neo4j 2.3.x 中添加的新 Cypher 运算符 DETACH DELETE 的行为和目的是什么?
【问题讨论】:
detach 和delete 之间的区别:detach 删除了节点的关系。 delete 删除一个节点。如果有任何关系,您需要先detach 一个节点delete 它。
如果要删除节点,还需要删除关系。在以前的版本中,您需要这样做:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n, r
现在你可以简单地说:
MATCH (n)
DETACH DELETE n
【讨论】:
我无法评论布赖恩的回答,所以这里是:
这个命令:
MATCH n
DETACH DELETE n
出现以下错误:
WARNING: Parentheses are required to identify nodes in patterns, i.e. (n) (line 1, column 7 (offset: 6))
"MATCH n"
^
因此正确的命令是:
MATCH (n)
DETACH DELETE n
【讨论】: