【发布时间】:2020-06-21 13:06:33
【问题描述】:
我想批量删除节点,就像我们在 AWS Neptune 中使用 curl 操作批量加载数据一样。像我在 SPARQL 中看到的那样,是否有针对 gremlin 的 API 约定?如果是这样,您可以发布参考吗?
如果没有通过 API 进行批量删除,那么使用 gremlin python sdk 批量删除的可行性如何?
【问题讨论】:
我想批量删除节点,就像我们在 AWS Neptune 中使用 curl 操作批量加载数据一样。像我在 SPARQL 中看到的那样,是否有针对 gremlin 的 API 约定?如果是这样,您可以发布参考吗?
如果没有通过 API 进行批量删除,那么使用 gremlin python sdk 批量删除的可行性如何?
【问题讨论】:
这里有一个示例,说明如何使用多线程 Python 删除图形。可以进一步改进代码以处理非常大的图形。这在 cmets 中进行了讨论。我已经使用此代码成功删除了具有 20+ 百万个顶点的图形。
https://github.com/awslabs/amazon-neptune-tools/tree/master/drop-graph
2021 年 11 月 17 日编辑 如果您想删除所有内容,Amazon Neptune 现在提供了一个“快速重置”API,让您可以高效地删除集群中的所有数据。
https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-fast-reset.html
【讨论】:
我们可以将顶点内的一批元素作为参数传递,如下所示:
vertex_ids = ['f1b8','e5123','02d49','50804',c71c3','c1061577']
g.V(vertex_ids).drop().iterate()
我采用 10k vertex_ids 的批量大小。对我来说效果很好。
【讨论】: