gpt4 book ai didi

neo4j - 在 Cypher 中删除所有节点和关系的最佳方法

转载 作者:行者123 更新时间:2023-12-03 21:11:24 56 4
gpt4 key购买 nike

通过 Cypher 从所有节点和关系中清除图形的最佳方法是什么?

http://neo4j.com/docs/stable/query-delete.html#delete-delete-a-node-and-connected-relationships这个例子

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

有注释:

This query isn’t for deleting large amounts of data



那么,以下更好吗?
MATCH ()-[r]-() DELETE r


MATCH (n) DELETE n

或者还有另一种更适合大图的方法吗?

最佳答案

正如您提到的,最简单的方法是停止 Neo4j,删除 data/graph.db文件夹并重新启动它。

如果您使用适当的事务大小来防止内存问题(请记住,事务在提交之前首先在内存中建立),通过 Cypher 删除大图总是较慢,但仍然可行。通常 50-100k 原子操作是一个好主意。您可以在删除语句中添加限制以控制 tx 大小并报告已删除的节点数。重新运行此语句,直到返回值 0:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 50000
DELETE n,r
RETURN count(n) as deletedNodesCount

关于neo4j - 在 Cypher 中删除所有节点和关系的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29711757/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com