neo4j导出导入数据库

neo4j导出导入数据库

脚本

# -*- encoding: utf-8 -*-
"""@File    :   neo4j_import.py@Time    :   2023/09/04 22:31:38@Author  :   mkid @Version :   1.0@Note    :   neo4j数据导入导出脚本
"""from py2neo import Graph, Node, Relationship
import json
import argparsedef parser_arguments():parser = argparse.ArgumentParser(description='neo4j数据导入导出脚本')parser.add_argument('-mode', type=str, default='dump', help='dump导出,import导入')parser.add_argument('-file', type=str, default='graph.json', help='neo4j数据导出/导入的保存路径')args = parser.parse_args()return argsconfig_dict = {"neo4j_url": "http://localhost:7474","neo4j_username": "neo4j","neo4j_password": "123456",
}# graph.db数据导出
def graph_dump(save_path):"""把neo4j默认数据库中的数据保存为一个json文件Args:save_path: 保存neo4j中所有数据的json文件Returns:None"""print("开始导出......")graph = Graph(config_dict['neo4j_url'], auth=(config_dict['neo4j_username'], config_dict['neo4j_password']))cypher = "MATCH (n) RETURN n"result = graph.run(cypher).data()nodes = []for record in result:node = record['n']nodes.append({'labels': list(node.labels),'properties': dict(node)})cypher = "MATCH (n)-[r]->(m) RETURN n, r, m"result = graph.run(cypher).data()relationships = []for record in result:node1 = record['n']relation = record['r']node2 = record['m']relationships.append({'type': type(relation).__name__,'start_node': node1.identity,'end_node': node2.identity,'properties': dict(relation)})with open(save_path, 'w', encoding='utf-8') as json_file:json.dump({"nodes": nodes,"relationships": relationships}, json_file, ensure_ascii=False, indent=4)print(f"导出成功,导出路径是: {save_path}")def graph_import(filename):"""从json文件中读取数据,并把数据插入neo4j数据库中Args:filename: 保存neo4j数据的json文件Returns:None"""print("开始导入...")graph = Graph(config_dict['neo4j_url'], auth=(config_dict['neo4j_username'], config_dict['neo4j_password']))with open(filename, 'r', encoding='utf-8') as json_file:data = json.load(json_file)for node_data in data['nodes']:labels = node_data['labels']properties = node_data['properties']node = Node(*labels, **properties)graph.create(node)for rel_data in data['relationships']:rel_type = rel_data['type']start_node = rel_data['start_node']end_node = rel_data['end_node']properties = rel_data['properties']relationship = Relationship(start_node, rel_data, end_node, **properties)graph.create(relationship)print("导入成功。")if __name__ == "__main__":args = parser_arguments()if args.mode == 'dump':graph_dump(args.file)if args.mode == 'import':graph_dump(args.file)

导出(没用)

要导出Neo4j数据库,您可以使用Neo4j提供的工具和方法之一。以下是一种常见的方法:

使用Neo4j的命令行工具:

  1. 打开命令行终端。

  2. 导航到Neo4j数据库的安装目录。通常,Neo4j数据库安装在一个目录中,您可以在其中找到bin子目录。

  3. 在终端中运行以下命令来导出数据库:

    neo4j-admin dump --database=your_database_name --to=export_directory
    
    • your_database_name是您要导出的数据库的名称。
    • export_directory是导出的数据存储目录。
  4. Neo4j将开始导出数据库。导出时间取决于数据库的大小。

  5. 完成导出后,您将在export_directory目录中找到导出的数据文件。

请注意,导出的数据文件通常包含在Neo4j的二进制格式中,因此如果您要将数据迁移到另一个Neo4j实例或将其导入到其他数据库系统中,您需要使用Neo4j提供的相应工具或方法来完成导入操作。

另外,请确保在执行导出操作之前,Neo4j数据库已停止,以避免数据不一致。在导出之后,您可以使用neo4j-admin load命令将数据加载到新的Neo4j实例中。

导出例子(没用)
./neo4j-admin dump --database=graph.db --to=F:\\code\\eryuan\\小系统代码\\graph.db.dump

环境变量:E:\Neo4j\neo4j-community-3.5.9\bin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用macof发起MAC地址泛洪攻击

使用macof发起MAC地址泛洪攻击 MAC地址泛洪攻击原理: MAC地址泛洪攻击是一种针对交换机的攻击方式,目的是监听同一局域网中用户的通信数据。交换机的工作核心:端口- MAC地址映射表。这张表记录了交换机每个端口和与之相连的主机MAC地址之间…

Spring Boot与JSP的浪漫邂逅:轻松构建动态Web应用的秘诀

本文介绍 Spring Boot 集成 JSP。 1、pom.xml 增加对 JSP 的支持 Spring Boot 的默认视图支持是 Thymeleaf 模板引擎&#xff0c;如果想要使用 JSP 页面&#xff0c;需要配置 servlet 依赖和 tomcat 的支持。 在 pom.xml 文件中增加如下代码&#xff1a; <!-- servlet依赖 -…

(六)SQL系列练习题(下)#CDA学习打卡

目录 三. 查询信息 16&#xff09;检索"1"课程分数小于60&#xff0c;按分数降序排列的学生信息​ 17&#xff09;*按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 18&#xff09;*查询各科成绩最高分、最低分和平均分 19&#xff09;*按各科成绩…

Apache和Nginx的区别以及如何选择

近来遇到一些客户需要lnmp环境的虚拟主机&#xff0c;但是Hostease这边的虚拟主机都是基于Apache的&#xff0c;尽管二者是不同的服务器软件&#xff0c;但是大多数情况下&#xff0c;通过适当的配置和调整两者程序也是可以兼容的。 目前市面上有许多Web服务器软件&#xff0c;…

rust使用Atomic创建全局变量和使用

Mutex用起来简单&#xff0c;但是无法并发读&#xff0c;RwLock可以并发读&#xff0c;但是使用场景较为受限且性能不够&#xff0c;那么有没有一种全能性选手呢&#xff1f; 欢迎我们的Atomic闪亮登场。 从 Rust1.34 版本后&#xff0c;就正式支持原子类型。原子指的是一系列…

HCIP第二节

OSPF&#xff1a;开放式最短路径协议&#xff08;属于IGP-内部网关路由协议&#xff09; 优点&#xff1a;相比与静态可以实时收敛 更新方式&#xff1a;触发更新&#xff1a;224.0.0.5/6 周期更新&#xff1a;30min 在华为设备欸中&#xff0c;默认ospf优先级是10&#…

对于子数组问题的动态规划

前言 先讲讲我对于这个问题的理解吧 当谈到解决子数组问题时&#xff0c;动态规划(DP)是一个强大的工具&#xff0c;它在处理各种算法挑战时发挥着重要作用。动态规划是一种思想&#xff0c;它通过将问题分解成更小的子问题并以一种递归的方式解决它们&#xff0c;然后利用这些…

500行代码实现贪吃蛇(1)

文章目录 目录1. Win32 API 介绍1.1 Win32 API1.2 控制台程序&#xff08;Console&#xff09;1.3 控制台屏幕上的坐标COORD1.4 [GetStdHandle](https://learn.microsoft.com/zh-cn/windows/console/getstdhandle)1.5 [GetConsoleCursorInfo](https://learn.microsoft.com/zh-c…

【论文阅读】Sparse is Enough in Scaling Transformers

Sparse is Enough in Scaling Transformers 论文地址摘要1 介绍2 相关工作模型压缩。模型修剪模型蒸馏。稀疏注意力。张量分解。稀疏前馈。 3 Sparse is Enough3.1 稀疏前馈层3.2 稀疏 QKV 层3.3 稀疏损失层。 4 长序列的稀疏性4.1 长序列架构4.2 内存效率的可逆性4.3 泛化的循…

泰克示波器电流探头如何抓浪涌电流波形?

泰克示波器是一种常见的电子测量仪器&#xff0c;广泛应用于电子工程、通信工程、医疗设备等领域。它的主要功能是实时显示电信号的波形&#xff0c;从而帮助工程师和技术人员分析和调试电路。而在一些特定的应用场景中&#xff0c;例如电源、电机、电器设备等&#xff0c;我们…

分布式与一致性协议之ZAB协议(二)

ZAB协议 ZAB协议是如何实现操作地顺序性的&#xff1f; 如果用一句话解释ZAB协议到底是什么&#xff0c;我觉得它是能保证操作顺序性的、基于主备模式的原子广播协议。 接下来&#xff0c;还是以指令X、Y为例具体演示一下&#xff0c;帮助你更好地理解为什么ZAB协议能实现操作…

【不使用深度学习框架】多层感知机实现手写Minist数据集识别

手写Minist识别是一个非常经典的问题&#xff0c;其数据集共有70000张28*28像素的图片&#xff0c;其中60000张作为训练集&#xff0c;剩下的10000张作为测试集&#xff0c;每一张图片都表示了一个手写数字&#xff0c;经过了灰度处理。 本文延续前面文章提到的多层感知机&…

【Osek网络管理测试】[TG1_TC12]网络管理报文ID范围

&#x1f64b;‍♂️ 【Osek网络管理测试】系列&#x1f481;‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件&#xff1a;VN1630 软件&#xff1a;CANoe 2.测试目的 验证DUT可识别的网络管理报文NMID(0x400~0x46F) 3.测试…

从一到无穷大 #26 Velox:Meta用cpp实现的大一统模块化执行引擎

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言业务案例PrestoSparkXStreamDistributed messaging systemData IngestionData Pr…

JavaScript的操作符运算符

前言&#xff1a; JavaScript的运算符与C/C一致 算数运算符&#xff1a; 算数运算符说明加-减*乘%除/取余 递增递减运算符&#xff1a; 运算符说明递增1-- 递减1 补充&#xff1a; 令a1&#xff0c;b1 运算a b ab12ab22ab--10a--b00 比较(关系)运算符&#xff1a; 运算…

(优作)基于STM32 人群定位、调速智能风扇设计(程序、设计报告、视频演示)

引言 当今生活中&#xff0c;风扇已成为人们解暑的重要工具&#xff0c;然而使用风扇缓解夏日酷热的同时也存在着一些问题。比如&#xff0c;由于风扇的转动方向只能机械式的保持在一定范围内&#xff0c;而不能根据人群的位置做出具体的调整&#xff0c;即在一片区域内&#x…

MongoDB详解

目录 一、MongoDB概述 1.MongoDB定义 2.MongoDB主要特点 2.1文档 2.2集合 2.3数据库 2.4数据模型 二、安装MongoDB 1.Windows安装MongoDB 1.1下载MongoDB 1.2安装MongoDB 1.3配置MongoDB 1.3.1可能遇到的问题 1.4安装一盒可视化工具 2.Linux安装MongoDB 2.1下载…

苍穹外卖项目

Day01 收获 补习git Git学习之路-CSDN博客 nginx 作用&#xff1a;反向代理和负载均衡 swagger Swagger 与 Yapi Swagger&#xff1a; 可以自动的帮助开发人员生成接口文档&#xff0c;并对接口进行测试。 项目接口文档网址&#xff1a; ​​​​​​​http://localhost:808…

Claude聊天机器人推出全新iOS客户端及团队专属计划

Anthropic 正在使其 Claude AI 更易于在移动设备上访问。该公司发布了适用于 iOS 的 Claude 移动应用程序,任何用户都可以免费下载。与聊天机器人的移动网络版本类似,该应用程序跨设备同步用户与 Claude 的对话,允许他们从计算机跳转到应用程序(反之亦然),而不会丢失聊天…

带权并查集

续前章节&#xff1a;并查集及应用 目录 1 带权问题1.1 点带权1.2 边带权 2 例题2.1 家族合并2.2 信息传递2.3 [NOI2002] 银河英雄传说 1 带权问题 1.1 点带权 用num[i]记录节点 i i i 所在的集合的数量。 初始化&#xff1a;所有的num[i]都是 1 1 1&#xff0c;因为每个点…