Neo4j - 如何从备份数据库恢复单个查询?

时间:2016-07-12 21:06:48

标签: neo4j cypher

我有一个与我的常规数据库一起部署的Neo4j数据库的备份副本。我想从备份数据库恢复我能够使用密码查询检索的数据。有没有一种简单的方法从我的备份中导出该数据并将其替换为当前数据库中的相应字段?

我可以从neo4j的web GUI轻松地将查询结果导出为JSON或CSV,但我不知道如何将结果上传回我的主数据库。

对于SQL,我有are similar个问题但是我还没有找到如何在neo4j中执行此操作。

2 个答案:

答案 0 :(得分:0)

如果您使用的是neo4j 3.0,则可以安装apoc library。它有一个apoc.export.cypherQuery()过程,它将cypher查询的结果存储为指定文件中的“create”命令。

答案 1 :(得分:0)

正如Stefan在评论中指出的那样,neo4j-shell有一个dump command,它将cypher查询的输出重新创建为一系列创建语句,允许您从头开始重建子图。

就我而言,

  1. 确保两个数据库都处于脱机状态(企业版可能不需要)
  2. 从neo4j中的bin目录运行./neo4j-shell -path /path/to/neo4j-1/data/graph.db/ -c 'dump CYPHER QUERY HERE;' | ./neo4j-shell -path /path/to/neo4j-2/data/graph.db/ -file -
  3. 将数据库服务器重新联机。
  4. 这将从位于neo4j-1的旧数据库中获取单个查询到neo4j-2中的较新副本。