无需Neo4j企业版,将Neo4j数据库转储文件转为CSV文件
可行的Neo4j社区版转CSV导出方法
方法1:Cypher Shell + 原生Cypher查询导出
无需额外工具,直接通过cypher-shell执行查询并将结果重定向到CSV文件,适配社区版单数据库限制。
导出节点
按标签分批次导出(避免数据冗余),比如导出Entity标签的节点:
docker exec -i your-neo4j-container cypher-shell -u neo4j -p your-password "MATCH (n:Entity) RETURN n.id, n.name, n.jurisdiction, n.status" > entities.csv
- 替换
your-neo4j-container为你的容器名称/ID,your-password为Neo4j登录密码 - 按需调整
RETURN后的属性列表,覆盖需要导出的字段 - 若要导出所有标签的节点(含全部属性),可使用:
docker exec -i your-neo4j-container cypher-shell -u neo4j -p your-password "MATCH (n) RETURN properties(n)" > all_nodes.csv
导出关系
导出所有关系及关联节点ID、关系类型、属性:
docker exec -i your-neo4j-container cypher-shell -u neo4j -p your-password "MATCH (a)-[r]->(b) RETURN id(a) AS source_id, id(b) AS target_id, type(r) AS relationship_type, properties(r) AS relationship_properties" > relationships.csv
方法2:APOC核心库批量导出(社区版免费可用)
APOC是Neo4j官方免费工具集,支持一键导出全库或指定数据到CSV,适合大规模数据集。
步骤1:在Docker容器中部署APOC
- 下载与Neo4j 5.6.0匹配的APOC核心库JAR包
- 将JAR包复制到容器插件目录:
docker cp apoc-5.6.0-core.jar your-neo4j-container:/var/lib/neo4j/plugins/
- 修改Neo4j配置,解锁APOC权限:
docker exec -i your-neo4j-container bash -c "echo 'dbms.security.procedures.unrestricted=apoc.*' >> /var/lib/neo4j/conf/neo4j.conf"
- 重启容器生效:
docker restart your-neo4j-container
步骤2:执行导出命令
- 导出全库(节点+关系)到容器内指定路径:
docker exec -i your-neo4j-container cypher-shell -u neo4j -p your-password "CALL apoc.export.csv.all('/var/lib/neo4j/import/full_export.csv', {})"
- 导出指定标签的节点:
docker exec -i your-neo4j-container cypher-shell -u neo4j -p your-password "CALL apoc.export.csv.nodes(['Entity', 'Officer'], '/var/lib/neo4j/import/entities_officers.csv', {})"
- 将容器内的CSV文件复制到本地:
docker cp your-neo4j-container:/var/lib/neo4j/import/full_export.csv ./
方法3:Neo4j Browser手动导出(适合小数据集)
数据量较小时,可直接通过浏览器可视化导出:
- 访问
http://localhost:7474登录Neo4j Browser - 执行目标查询(如
MATCH (n) RETURN n) - 结果加载完成后,点击结果面板右上角的导出图标,选择CSV格式下载到本地
内容的提问来源于stack exchange,提问作者Zach
相关产品推荐
相关产品推荐

