本文我们介绍下Cypher查询语言中的DELETE关键字。DELETE关键字顾名思义就是删除,所以我们下面来演示一下。
1、删除节点
在neo4j中,如果要删除1个节点的话,那么这个节点不能有任何关系关联,不然会出现报错。所以我们在删除节点之前,务必要保证当前节点没有与其他节点建立任何关系。示例如下:
//模拟创建一个节点 create (a:Car{name:'小米'}) return a //删除刚才创建的节点 MATCH (a{name:'小米'}) DELETE a
2、删除节点关系
除了删除节点之外,我们还可以删除关系,下面我们来演示一下:
//创建两个节点 create (a:Car{name:'小米'}),(b:Company{name:'小米集团'}) return a,b //创建两个节点的关系 match (a{name:'小米'}),(b{name:'小米集团'}) create (a)-[r:归属]->(b) //获取关系 match p = ()-[r:归属]->() return p
然后我们删除这个归属关系
//删除关系 match ()-[r:归属]->() delete r //再查询 match (n) return n
可以看到这里关系被删除掉了。
3、删除所有关系和节点
有时候我们的neo4j整个库中脏数据太多,不好判断哪些节点有关系,那么我们可能会涉及到清空整个库,也就是把所有的关系和节点都删除掉。使用的cypher查询语句是:
MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n, r
以上就是DELETE关键字的用法。
还没有评论,来说两句吧...