neo4j清空数据库

清空所有Person、 Movie节点及其所有关系

sql 复制代码
MATCH (a:Person), (m:Movie) 
OPTIONAL MATCH (a)-[r1]-(), (m)-[r2]-() 
DELETE a,r1,m,r2 

查询任意数据

sql 复制代码
MATCH (n) RETURN n

如果没有, 就说明已经删除成功了


这段代码是用Cypher查询语言编写的,用于清空所有的Person节点、Movie节点以及它们之间的所有关系。让我们逐步解释代码的每个部分:

sql 复制代码
MATCH (a:Person), (m:Movie)

这部分代码使用MATCH语句来查找图数据库中的所有Person节点和Movie节点。其中,(a:Person)表示匹配所有标签为Person的节点,(m:Movie)表示匹配所有标签为Movie的节点。

sql 复制代码
OPTIONAL MATCH (a)-[r1]-(), (m)-[r2]-()

这部分代码使用OPTIONAL MATCH语句来查找所有与Person节点和Movie节点相关的关系。其中,(a)-[r1]-()表示匹配所有与Person节点相关的关系,并将该关系指定为r1。同样,(m)-[r2]-()表示匹配所有与Movie节点相关的关系,并将该关系指定为r2。这里使用OPTIONAL MATCH而不是普通的MATCH,是为了确保即使没有找到相关的关系,查询仍然会继续执行。

sql 复制代码
DELETE a,r1,m,r2

这部分代码使用DELETE语句来删除之前匹配到的Person节点、Movie节点以及它们相关的关系r1和r2。通过这个操作,所有的Person节点、Movie节点以及它们之间的关系都会被删除,从而清空整个图数据库。

为什么这么写? 这段代码之所以这样写,是为了清空整个图数据库中的所有数据,包括节点和关系,从而回到一个空白的状态。在某些情况下,比如测试、重置或重新构建数据库时,需要清空数据,以便重新开始。通过MATCH和OPTIONAL MATCH语句,可以找到所有的Person节点和Movie节点,即使它们没有与其他节点相关联,也能够继续执行删除操作,确保所有数据都被清空。同时,使用DELETE语句可以方便地一次性删除多个节点和关系,简化了代码的编写。

相关推荐
喜欢打篮球的普通人2 天前
MLIR快速入门
neo4j·mlir
ELI_He9992 天前
Neo4j 安装 APOC
neo4j
綮地2 天前
Neo4j 基本处理
neo4j
lzp07912 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
爱折腾的小码农2 天前
neo4j数据库桌面管理工具
数据库·neo4j
Wenhao.7 天前
Docker 安装 neo4j
docker·容器·neo4j
RDCJM8 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
机器不学习我也不学习9 天前
TensorFlow环境安装
neo4j
码农老李10 天前
vxWorks7.0 Simpc运行tensorflow lite example
人工智能·tensorflow·neo4j
小鸡吃米…25 天前
TensorFlow 实现异或(XOR)运算
人工智能·python·tensorflow·neo4j