当前位置: 首页 > news >正文

知识图谱基本工具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. 注意事项

  1. 注意csv文件的编码格式,若内容含有中文,要将编码转为“UTF-8”

  2. 输入neo4j-admin import语句

    关闭neo4j:neo4j stop
    其中ProductSod为标签

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. 前期准备&#xff08;1&#xff09; 创建一个用于测试的neo4j数据库&#xff08;2&#xff09;启动neo4j 查看数据库 2. 实践&#xff08;1&#xff09; OK 上面完成后&#xff0…...

[bug修复]状态数据在useEffect初始化时更新无效

&#xff08;bug修复类型的博客还是用汉语写捏&#xff09; 前两天在做一个管理页面前端的时候&#xff0c;出现了这样的问题 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时&#xff0c;堆被分为了两份&#xff1a; 新生代和老年代【1&#xff1a;2】 其中&#xff1a; 对于新生代&#xff0c;内部又被分为了三…...

C# Linq源码分析之Take方法

概要 Take方法作为IEnumerable的扩展方法&#xff0c;具体对应两个重载方法。本文主要分析第一个接收整数参数的重载方法。 源码解析 Take方法的基本定义 public static System.Collections.Generic.IEnumerable Take (this System.Collections.Generic.IEnumerable source…...

从后往前读取列表的方法

从后往前读取列表的方法 方法1&#xff1a;使用for循环遍历列表时&#xff0c;可以使用reverse()函数将列表反转&#xff0c;然后再遍历。 # 列表 num [0, 1, 2, 3]# 反向遍历 for i in reversed(num):print(i)输出结果&#xff1a; 3 2 1 0方法2&#xff1a;先计算列表长度…...

数据库--数据类型

数据库相关链接&#xff1a; 数据库基础操作--增删改查&#xff1a;http://t.csdn.cn/189CF 数据库--三大范式、多表查询、函数sql&#xff1a;http://t.csdn.cn/udJSG 数据类型 创建表的时候&#xff0c;我们在类型这里给出了不同的选项&#xff0c;比如有int &#xff0c;…...

小型双轮差速底盘机器人实现红外跟随功能

1. 功能说明 本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个 近红外传感器&#xff0c;制作一个红外线发射源&#xff0c;实现当红外发射源在机器人的检测范围内任意放置或移动时&#xff0c;机器人能追踪该发射源。 2. 电…...

TCP协议网络编程 回显服务器,客户端实现

回显服务器表示客户端传来的请求是什么&#xff0c;服务器就回应什么&#xff0c;客户端不用对传来的数据进行处理&#xff0c;主要是为了熟悉TCP协议提供的API的使用 对于代码的解释全作为注释写在了代码上&#xff0c;推荐复制到编程软件中查看 UDP协议实现回显服务器可以看…...

3.4 Spring MVC注解

注解名称 注解说明 RequestMapping 用来处理请求地址映射的注解&#xff0c;可以在接口、类和方法上使用 value属性 表示请求地址&#xff0c;与path属性一致 method属性 表示接收HTTP请求方法&#xff0c;默认接收所有请求方法&#xff0c;请求包括GET、POST、PUT、DEL…...

OpenCV实例(八)车牌字符识别技术(三)汉字识别

车牌字符识别技术&#xff08;三&#xff09;汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别&#xff0c;汽车牌照中的汉字字符识别的难度更大&#xff0c;主要原因有以下4个方面&#xff1a; (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…...

运维监控学习笔记2

硬件监控&#xff1a; 1&#xff09;使用IPMI 2&#xff09;机房巡检 路由器和交换机&#xff1a; 使用SNMP&#xff08;简单网络管理协议&#xff09;进行监控。 Linux 安装snmp&#xff1a; yum install -y net-snmp net-snmp-utils 说明&#xff1a;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操作

&#x1f38a;专栏【Git】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f33a;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f354;GitHub操作⭐安装GitHub插件⭐在idea中设置GitHub账号&…...

nginx基础

nginx 具体就是一个轻量级以及高性能的web服务软件。 nginx特点 1、稳定性高。&#xff08;但不如apache&#xff09; 2、系统资源消耗比较低。&#xff08;处理http请求的并发能力较高&#xff0c;单台处理器可以处理3w-5w的并发请求&#xff09; 注&#xff1a;一般在企…...

【Windows API】获取卷标、卷名

1、卷->卷标 使用FindFirstVolume()和FindNextVolume()函数体系&#xff0c;枚举系统所有卷&#xff08;Volume&#xff09;的例子&#xff0c;然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号&#xff08;卷标&#xff09;的卷。 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的 &#xff0c;默认什么也没有就会扫描web文件夹 但是其他模块的扫描不到 指定了扫描其他模块就需要再次指定扫描该web文件夹...

代码随想录训练营day18 二叉树

106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 //左根右 左右根/* 第一步&#xff1a;如果数组大小为零的…...

图像的平移变换之c++实现(qt + 不调包)

1.基本原理 设dx为水平偏移量&#xff0c;dy为垂直偏移量&#xff0c;则平移变换的坐标映射关系为下公式&#xff0c;图像平移一般有两种方式。 1.不改变图像大小的平移&#xff08;一旦平移&#xff0c;相应内容被截掉&#xff09; 1&#xff09;当dx > width、dx < -wi…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...