如何对图形数据库(如neo4j)进行版本控制

4

我开始使用neo4j及其Java API来存储和检索面向图的数据。

现在我到了一个要添加标签、约束或删除节点属性的地步。

在使用关系型数据库时,我使用liquibase将数据库迁移到下一个版本。

迁移neo4j数据库的最佳方法是什么?是否有支持此操作的库?

我使用的是neo4j 2。


2
由于不知道是否有现成的解决方案,但是既然没有模式,您就不需要更改它。对于数据迁移,您可以使用一组Cypher语句来完成工作。 - Stefan Armbruster
2个回答

3

很遗憾,目前还没有支持。

我正在与FlyWayDB的Axel Fontaine进行讨论,以添加对Neo4j的支持。

正如Stefan所说,您可以使用Cypher语句来迁移数据。

请注意,如果数据库中存在大量数据,则可能需要批处理操作。

例如,将类型属性批处理为标签,每次批处理100k个。

MATCH (n) WHERE has(n.type) AND n.type = "User"
WITH n
LIMIT 100000
SET n:User
REMOVE n.type

3

目前有一个涉及编程的工具正在开发中,它借鉴了liquibase的概念,名为Liquigraph。该工具的源代码github页面在这里:https://github.com/liquigraph/liquigraph

尽管该工具还很年轻,但作者非常乐于接受反馈,并积极改进工具。


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