本地Neo4j数据库与服务器Neo4j数据库相差的只是ip地址,如果自己有插入所有节点和关系的代码的情况下更换一下ip地址和账密即可,如若没有源码或者部分节点是手动构建的,如何转移数据就成了问题。笔者通过自带的export json功能进行数据的迁移。
节点与关系导出
分布匹配所有的关系与节点,导出json格式数据,这里限制了显示上限为300,实际导出的文件是包含全部数据的,分别导出node.json与relation.json
数据迁移
使用python的json库导入json数据,同时进行一些违规字符的处理,之后先将节点导入数据库,同时插入旧的id值方便匹配,再将关系插入,最后删除旧id值,即可完成。速度较慢,可以考虑多线程插入提高转移速度。
import json
from py2neo import Graph, Node, Relationship, NodeMatcher
def get_graph():
"""
connect the neo4j
:return: neo4j object
"""
try:
graph = Graph("bolt://ip_addresss:7687", username='username', password='pwd')
print("success for neo4j connection.")
return graph
except Except