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 天前
艾体宝产品 | 基准测试:ArangoDB性能碾压Neo4j,速度最高提升8倍!
数据库·neo4j
小高求学之路3 天前
Neo4j - 为什么需要图数据库
数据库·neo4j
小高求学之路3 天前
eo4j 图数据库备忘单
数据库·neo4j
郭庆汝4 天前
Neo4j数据库中批量插入数据(数据在.csv文件中)
数据库·neo4j
serve the people4 天前
tensorflow 零基础吃透:TensorFlow 稀疏张量(SparseTensor)的核心操作
人工智能·tensorflow·neo4j
serve the people5 天前
tensorflow 零基础吃透:TensorFlow 稀疏张量(SparseTensor)的核心用法
人工智能·tensorflow·neo4j
serve the people5 天前
tensorflow 零基础吃透:RaggedTensor 的不规则形状与广播机制
人工智能·tensorflow·neo4j
serve the people5 天前
tensorflow 零基础吃透:RaggedTensor 的底层编码原理
人工智能·tensorflow·neo4j
MasonYyp6 天前
简单使用FalkorDB和Neo4j图数据库
数据库·neo4j
黑客思维者8 天前
XGW-9000系列高端新能源电站边缘网关技术可行性分析报告V2
neo4j