知识图谱基本工具Neo4j使用笔记 四 :使用csv文件批量导入图谱数据
文章目录
- 一、系统说明
- 二、说明
- 三、简单介绍
- 1. 相关代码以及参数
- 2. 简单示例
- 四、实际数据实践
- 1. 前期准备
- (1) 创建一个用于测试的neo4j数据库
- (2)启动neo4j 查看数据库
- 2. 实践
- (1) OK 上面完成后,准备数据
- 1. 示例实体数据
- 2. 示例 关系数据
- 3. 示例 存放位置
- (2) 数据准备好开始存储
- 1. 注意事项
- 2. 存储代码 编写
- 3. 打开终端 在终端 键入上面命令 注意路径
- 4. 查看效果
一、系统说明
neo4j 版本:neo4j-community-4.4.23
系统:win11
二、说明
一般我们进行小规模数据,如几百几千数据使用 py2neo 脚本,存储。并不会觉得速度慢或者快。但是当数据量达到几万甚至几百万时候,用脚本就相当耗费时间。解决方法很多,这里一起讨论一个相对简单的方法,利用csv文件进行存储。
这里说一下:有的版本 import 文件是在bin文件夹下,但是使用的版本不在。

三、简单介绍
1. 相关代码以及参数
以下是 neo4j-admin import 命令的语法:
neo4j-admin import \--database=<database> \[--mode=<import-mode>] \[--nodes=<node-file> [--nodes=<node-file> ...]] \[--relationships=<relationship-file> [--relationships=<relationship-file> ...]] \[--delimiter=<delimiter>] \[--array-delimiter=<array-delimiter>] \[--ignore-missing-nodes=<true/false>] \[--skip-duplicate-nodes=<true/false>] \[--ignore-duplicate-relationships=<true/false>] \[--additional-config=<config-file>]
现在我们来解释每个字段的含义并举例说明:
--database: 指定要导入的数据库名称。
--mode: 指定导入模式,有两种可选值:csv 和 database。默认为 csv 模式,表示从 CSV 文件导入数据。
--nodes: 指定包含节点数据的 CSV 文件路径。可以指定多个节点文件。
--relationships: 指定包含关系数据的 CSV 文件路径。可以指定多个关系文件。
--delimiter: 指定 CSV 文件中字段之间的分隔符,默认为逗号 ,。
--array-delimiter: 指定 CSV 文件中数组类型字段中元素之间的分隔符,默认为 ;。
--ignore-missing-nodes: 如果关系中的节点不存在是否忽略,默认为 false。
--skip-duplicate-nodes: 是否跳过重复的节点,默认为 false。
--ignore-duplicate-relationships: 是否忽略重复的关系,默认为 false。
--additional-config: 指定一个配置文件来设置其他导入选项。
2. 简单示例
neo4j-admin import \--database=my-database \--nodes=nodes.csv \--relationships=relationships.csv \--delimiter=,
在这个示例中,我们将从名为 nodes.csv 的文件导入节点,并从名为 relationships.csv 的文件导入关系。CSV 文件中的字段将使用逗号作为分隔符。
四、实际数据实践
1. 前期准备
(1) 创建一个用于测试的neo4j数据库
在这里进行处理,打开conf文件中的 配置文件

类似这样进行创建,即可

(2)启动neo4j 查看数据库
启动命令
neo4j.bat console

打开data 文件夹(该文件在安装目录)

可以看到创建成功了。数据库在 database 文件下

2. 实践
(1) OK 上面完成后,准备数据
1. 示例实体数据
数据解释:
实体文件格式:<nodeId:ID>, <propertyName1>, <propertyName2>, ..., <:LABEL>
开始为编号:ID,是唯一的,用于创建关系等后续import操作时索引到指定节点
中间为节点属性:最好用英文
结束为标签:LABEL 不是必须的 一个节点有多个标签
注意:大小写以及 :不要遗漏,这里的 ID指定,比较灵活,可以根据需要来。
: 前面的是,该字段的原来属性名字,后面用于创建关系等后续import操作时索引到指定节点



2. 示例 关系数据
.关系文件格式:<:START_ID>, <:END_ID>, <:TYPE>,<RelationshipPropertiesName1>,...<RelationshipPropertiesName2>
:START_ID :关系起点节点的ID编号 必须有
:END_ID:关系结束点节点的ID编号 必须有
:TYPE:关系的类别 必须有
RelationshipPropertiesName:关系属性 非必须
我这里给关系添加了一个 name属性


3. 示例 存放位置



(2) 数据准备好开始存储
1. 注意事项
-
注意csv文件的编码格式,若内容含有中文,要将编码转为“UTF-8”
-
输入neo4j-admin import语句
先
关闭neo4j:neo4j stop
其中Product和Sod为标签
2. 存储代码 编写
neo4j-admin import
--database=GkyProKgV1.db
--nodes=Product="D:\AI_Tool\neo4j\neo4j-community-4.4.23\import\entity\product.csv"
--nodes=Sod="D:\AI_Tool\neo4j\neo4j-community-4.4.23\import\entity\sod.csv"
--relationships="D:\AI_Tool\neo4j\neo4j-community-4.4.23\import\relation\relation.csv"
--force
3. 打开终端 在终端 键入上面命令 注意路径
我的 neo4j 安装路径

4. 查看效果

相关文章:
知识图谱基本工具Neo4j使用笔记 四 :使用csv文件批量导入图谱数据
文章目录 一、系统说明二、说明三、简单介绍1. 相关代码以及参数2. 简单示例 四、实际数据实践1. 前期准备(1) 创建一个用于测试的neo4j数据库(2)启动neo4j 查看数据库 2. 实践(1) OK 上面完成后࿰…...
[bug修复]状态数据在useEffect初始化时更新无效
(bug修复类型的博客还是用汉语写捏) 前两天在做一个管理页面前端的时候,出现了这样的问题 function Son(props){const [a,seta]useState(0)useEffect(()>{seta(props.name)},[])return(<div>{a}</div>) } 这是当时情况的一…...
使用 API Gateway Integrator 在 Quarkus 中实施适用于 AWS Lambda 的 OpenAPI
AWS API Gateway 集成使得使用符合 OpenAPI 标准的 Lambda Function 轻松实现 REST API。 关于开放API 它是一个 允许以标准方式描述 REST API 的规范。 OpenAPI规范 (OAS) 为 REST API 定义了与编程语言无关的标准接口描述。这使得人类和计算机都可以发现和理解服务的功能&am…...
【JVM】JVM中的分代回收
文章目录 分代收集算法什么是分代分代收集算法-工作机制MinorGC、 Mixed GC 、 FullGC的区别是什么 分代收集算法 什么是分代 在java8时,堆被分为了两份: 新生代和老年代【1:2】 其中: 对于新生代,内部又被分为了三…...
C# Linq源码分析之Take方法
概要 Take方法作为IEnumerable的扩展方法,具体对应两个重载方法。本文主要分析第一个接收整数参数的重载方法。 源码解析 Take方法的基本定义 public static System.Collections.Generic.IEnumerable Take (this System.Collections.Generic.IEnumerable source…...
从后往前读取列表的方法
从后往前读取列表的方法 方法1:使用for循环遍历列表时,可以使用reverse()函数将列表反转,然后再遍历。 # 列表 num [0, 1, 2, 3]# 反向遍历 for i in reversed(num):print(i)输出结果: 3 2 1 0方法2:先计算列表长度…...
数据库--数据类型
数据库相关链接: 数据库基础操作--增删改查:http://t.csdn.cn/189CF 数据库--三大范式、多表查询、函数sql:http://t.csdn.cn/udJSG 数据类型 创建表的时候,我们在类型这里给出了不同的选项,比如有int ,…...
小型双轮差速底盘机器人实现红外跟随功能
1. 功能说明 本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个 近红外传感器,制作一个红外线发射源,实现当红外发射源在机器人的检测范围内任意放置或移动时,机器人能追踪该发射源。 2. 电…...
TCP协议网络编程 回显服务器,客户端实现
回显服务器表示客户端传来的请求是什么,服务器就回应什么,客户端不用对传来的数据进行处理,主要是为了熟悉TCP协议提供的API的使用 对于代码的解释全作为注释写在了代码上,推荐复制到编程软件中查看 UDP协议实现回显服务器可以看…...
3.4 Spring MVC注解
注解名称 注解说明 RequestMapping 用来处理请求地址映射的注解,可以在接口、类和方法上使用 value属性 表示请求地址,与path属性一致 method属性 表示接收HTTP请求方法,默认接收所有请求方法,请求包括GET、POST、PUT、DEL…...
OpenCV实例(八)车牌字符识别技术(三)汉字识别
车牌字符识别技术(三)汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面: (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…...
运维监控学习笔记2
硬件监控: 1)使用IPMI 2)机房巡检 路由器和交换机: 使用SNMP(简单网络管理协议)进行监控。 Linux 安装snmp: yum install -y net-snmp net-snmp-utils 说明:net-snmp是安装在snm…...
【深度学习】遗传算法[选择、交叉、变异、初始化种群、迭代优化、几何规划排序选择、线性交叉、非均匀变异]
目录 一、遗传算法二、遗传算法概述2.1 选择2.2 交叉2.3 变异 三、遗传算法的基本步骤3.1 编码3.2 初始群体的生成3.3 适应度评估3.4 选择3.5 交叉3.6 变异3.7 总结 四、遗传算法工具箱4.1 initializega4.2 ga4.3 normGeomSelect4.4 arithXover4.5 nonUnifMutation 五、遗传算法…...
【小吉带你学Git】讲解GitHub操作,码云操作,GitLab操作
🎊专栏【Git】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🌺欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔GitHub操作⭐安装GitHub插件⭐在idea中设置GitHub账号&…...
nginx基础
nginx 具体就是一个轻量级以及高性能的web服务软件。 nginx特点 1、稳定性高。(但不如apache) 2、系统资源消耗比较低。(处理http请求的并发能力较高,单台处理器可以处理3w-5w的并发请求) 注:一般在企…...
【Windows API】获取卷标、卷名
1、卷->卷标 使用FindFirstVolume()和FindNextVolume()函数体系,枚举系统所有卷(Volume)的例子,然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号(卷标)的卷。 int TestMode1() {HANDLE hVolume…...
通过MATLAB自动产生Hamming编译码的verilog实现,包含testbench
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1. 原理 1.1 编码规则 1.2 错误检测和纠正 2. 实现过程 2.1 编码过程 2.2 解码过程 3. 应用领域 3.1 数字通信 3.2 存储系统 3.3 ECC内存 3.4 数据传输 5.算法完整程序工程 1.算法…...
swager web服务无法显示问题
如果指定了扫描其他包 那么web文件夹里面的就扫描不到 需要加上扫描扫描web的 ,默认什么也没有就会扫描web文件夹 但是其他模块的扫描不到 指定了扫描其他模块就需要再次指定扫描该web文件夹...
代码随想录训练营day18 二叉树
106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 //左根右 左右根/* 第一步:如果数组大小为零的…...
图像的平移变换之c++实现(qt + 不调包)
1.基本原理 设dx为水平偏移量,dy为垂直偏移量,则平移变换的坐标映射关系为下公式,图像平移一般有两种方式。 1.不改变图像大小的平移(一旦平移,相应内容被截掉) 1)当dx > width、dx < -wi…...
信息管理毕业设计最全选题指导
0 选题推荐 - 云计算篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应…...
2026年大模型开启涨价模式,从价格战到价值战,竞争焦点转向了哪里?
大模型告别低价时代,国产定价看齐海外迈入2026年,大模型毫不掩饰地开启了涨价模式,智普甚至在短短三个月内两次提价,国产大模型定价首次与海外头部厂商对齐。曾几何时,降价才是大模型的竞争基调,为了AI普惠…...
如何让普通鼠标在macOS上获得超越触控板的体验:Mac Mouse Fix终极指南
如何让普通鼠标在macOS上获得超越触控板的体验:Mac Mouse Fix终极指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾为ma…...
2026 江西 GEO 优化服务商实测榜单与企业选型实操指南
随着生成式 AI 对商业流量格局的重构,GEO(生成式引擎优化)已成为江西企业抢占本地流量、实现全域拓客的核心抓手。艾瑞咨询《2026 GEO 行业发展白皮书》显示,江西 GEO 优化市场近三年复合增速高达 28.7%,远超全国平均水…...
保姆级教程:用SNAP 8.0和Sentinel-1数据复现门源地震形变图(含snaphu解缠避坑指南)
从零开始:SNAP 8.0与Sentinel-1数据实战门源地震形变监测全流程解析 当2021年12月青海门源发生6.9级地震时,合成孔径雷达干涉测量(DInSAR)技术再次证明了其在地表形变监测中的独特价值。对于刚接触雷达遥感的GIS专业学生或工程师而言,掌握这套…...
Minecraft世界管理终极指南:使用MCA Selector轻松清理和优化区块
Minecraft世界管理终极指南:使用MCA Selector轻松清理和优化区块 【免费下载链接】mcaselector A tool to select chunks from Minecraft worlds for deletion or export. 项目地址: https://gitcode.com/gh_mirrors/mc/mcaselector 你是否曾为Minecraft世界…...
5分钟掌握QMC音乐解密:终极跨平台音频格式转换指南
5分钟掌握QMC音乐解密:终极跨平台音频格式转换指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾为QQ音乐下载的加密格式无法在其他播放器中使用而烦…...
CosyVoice3情感控制全解析:如何调整语音的情感强度和复合情感
CosyVoice3情感控制全解析:如何调整语音的情感强度和复合情感 1. 为什么需要情感语音合成? 在游戏开发、有声读物制作和虚拟助手交互中,单纯的文字转语音往往无法满足需求。一个优秀的NPC对话系统需要能够根据剧情发展调整语音情感…...
3步搞定网页视频下载:猫抓资源嗅探扩展终极使用指南
3步搞定网页视频下载:猫抓资源嗅探扩展终极使用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经在浏览网页时࿰…...
用LM318和LM741芯片手把手教你搭建一个±12V供电的函数信号发生器(附Multisim仿真文件)
从零搭建12V函数信号发生器:LM318与LM741的实战指南 在电子设计领域,函数信号发生器就像音乐家的调音器,是调试和验证电路不可或缺的工具。市面上的专业设备动辄上千元,而今天我要分享的,是如何用两片经典运放芯片——…...
