从数据库中删除无效的neo4j标签

3

如何在Neo4j数据库(社区版2.2.2)中删除不活动的、不需要的节点标签?

我以前看到过这个问题,但由于某些原因它被解释成清除浏览器缓存等多种理解。

我指的是实际包含在数据库中的标签,例如REST命令:

GET /db/data/labels

将会在输出中生成它们。标签已从任何节点中删除,并且没有附加活动约束。

我知道过去曾经问过这个问题,解决的方法非常麻烦,基本上是倒出并重新加载数据库。转储命令甚至不包含分散的提交语句,因此需要在执行之前进行编辑。当然,对于大型数据库来说,这需要很长时间。必须有更好的方法,或者至少有一个处于等待实现的要求队列中的功能。能否有人澄清一下?


1
非常抱歉要在已有类似问题的池中引入一个新问题。我的stackoverflow声誉不够高,无法对其他问题进行评论,我想说的是这些是DB包含的标签,让其他用户指向不活动的标签最多只会分散注意力。 - ErnestoE
1个回答

7
如果您删除具有特定标签的最后一个节点,则如您所观察到的那样,该标签本身不会被删除。截至今天,没有办法删除标签。
但是,您可以使用例如Michael的存储复制工具在离线模式下复制数据存储以实现此目的。
然后,新存储仅知道实际使用的那些标签。

会尝试这个并在这里更新结果。感谢您的提示。但是,让我们也清楚(根据 Github 中的一个问题),这个工具不会处理索引和/或约束,因为这些需要手动重新创建。不过,从概念上看,这是一个伟大的工具。 - ErnestoE
我使用了Michael的工具,并成功地通过复制到另一个数据库来清理了数据库。它非常有效,而且不像尝试在脚本中转储内容那样需要很长时间。感谢这个提示! - ErnestoE

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