AWS Neptune批量删除数据

5

我希望能够像使用AWS Neptune中的curl操作批量加载数据一样,批量删除节点。是否有像SPARQL那样的Gremlin API约定?如果有,请发布参考资料。

如果没有API批量删除,使用Gremlin Python SDK进行批量删除的可行性如何?

2个回答

9
这里有一个用多线程Python删除图的例子,代码可以进一步改进,以适应非常大的图。关于这点在评论中有讨论。我已经成功地使用此代码删除了具有2000万以上顶点的图。 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

1
对于批量更新(现有顶点属性)和批量添加(新顶点),您很可能可以使用 Neptune Bulk Loader https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html。如果这不能满足您的需求,您可以编写一个多线程的更新器应用程序/脚本,但我建议首先查看Bulk Loader是否能够满足您的需求。 - Kelvin Lawrence

0
我们可以像下面这样将一批元素作为参数传递到顶点中:
vertex_ids = ['f1b8','e5123','02d49','50804',c71c3','c1061577']
g.V(vertex_ids).drop().iterate()

我正在处理一批大小为10k的顶点ID,这对我来说很有效。


这基本上就是其他答案中提到的Python代码所做的事情。请注意,现在还有一个可用的REST API来删除整个Neptune图。 - Kelvin Lawrence

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接