在Neo4j中删除节点及其关系(如果有)

时间:2015-04-04 08:43:50

标签: neo4j cypher

我正在尝试执行以下查询:

MATCH (movie:Movie {title:"test"})-[r]-() DELETE movie, r

删除a:Movie节点及其所有关系。这一切都很好,除非查询没有任何关系,它无法匹配电影。我尝试过OPTIONAL MATCH,但没有运气。

我正在寻找一种删除电影节点的方法,无论它是否有任何关系,但如果有,也要删除它们。

2 个答案:

答案 0 :(得分:17)

在新的Neo4j版本中(我认为2.3)你可以使用这样的语法:

MATCH (movie:Movie {title:"test"})
DETACH DELETE movie

答案 1 :(得分:14)

OPTIONAL MATCH

MATCH (movie:Movie {title:"test"})
OPTIONAL MATCH (movie)-[r]-() 
DELETE movie, r