我开始使用neo4j及其Java API来存储和检索面向图的数据。 现在我到了一个要添加标签、约束或删除节点属性的地步。 在使用关系型数据库时,我使用liquibase将数据库迁移到下一个版本。 迁移neo4j数据库的最佳方法是什么?是否有支持此操作的库? 我使用的是neo4j 2。
很遗憾,目前还没有支持。 我正在与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
目前有一个涉及编程的工具正在开发中,它借鉴了liquibase的概念,名为Liquigraph。该工具的源代码github页面在这里:https://github.com/liquigraph/liquigraph。 尽管该工具还很年轻,但作者非常乐于接受反馈,并积极改进工具。