知识图谱基本工具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…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...

负载均衡器》》LVS、Nginx、HAproxy 区别
虚拟主机 先4,后7...