从数据生成到图数据库:Linux下Neo4j的CSV导入

2024-08-24 18:28

本文主要是介绍从数据生成到图数据库:Linux下Neo4j的CSV导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 简介
    • 找到import文件夹
    • 准备csv表格数据
    • 导入neo4j
      • Teacher
      • Student

简介

介绍如何在Linux系统中设置和使用Neo4j数据库。

  • 首先,找到Neo4j的import文件夹,通常位于Neo4j安装目录下的data文件夹内,并展示通过neo4j.conf配置文件查找和修改import目录路径。
  • 接着,通过大模型生成两张CSV表格数据,一张是老师数据,另一张是学生数据,并保存到import文件夹中。
  • 最后,展示了如何使用Cypher语句将这两张表格导入Neo4j,创建相应的节点和关系。

找到import文件夹

在Linux系统中,Neo4j的import目录通常位于Neo4j安装目录下的data文件夹内。
linux neo4j 标准的安装步骤:ubuntu sudo apt-get install neo4j 配置安装与设置远程访问
按照上述文章,进行配置后,就可以通过终端安装 neo4j:
安装完成后,neo4j的配置文件在 /etc/neo4j下。

sudo apt-get install neo4j

Neo4j的配置文件(通常是neo4j.conf)允许你自定义import目录的路径。这个文件通常位于Neo4j安装目录下的conf文件夹中。通过修改配置文件中的dbms.directories.import属性,你可以将import目录设置为你希望的任何绝对路径。
例如,如果你想要将import目录设置为/home/neo4j/import,你可以在neo4j.conf文件中找到dbms.directories.import属性,并将其值更改为/home/neo4j/import。

进入 /etc/neo4j 目录下,可以看到 neo4j.conf 文件:
在这里插入图片描述

vim neo4j.conf

在这里插入图片描述如上图配置文件所示,我的 neo4j 的 import 文件夹是 /var/lib/neo4j/import

cd /var/lib/neo4j/import

准备csv表格数据

自己准备数据,一时之间,还不知道去哪里找。所以我让大模型帮我生成两张数据表。

下述是大模型生成数据的提示词:

请你给出5条老师csv数据,包括:姓名、年龄;
给出10条学生csv数据,包括:姓名、年龄、老师、关系;
在生成表格数据时,遵守下述规则:
1. 学生表的老师属性与老师表的姓名是对应的;
2. 学生和老师的姓名,都是全名。老师名字要带有80后的时代特点,学生名字要带有00后的时代特点;
3. 学生表中的关系属性,范围是从50到100;

下述的两张表,是由大模型根据上述提示词生成:

teacher.csv:

姓名,年龄
张伟,38
李娜,40
王强,39
赵敏杰,42
刘丽芳,37

student.csv:

姓名,年龄,老师,关系
李明轩,18,张伟,85
张梓涵,17,李娜,65
王梓轩,16,王强,90
赵欣怡,15,赵敏杰,70
刘浩宇,17,刘丽芳,55
陈梓萱,16,张伟,100
黄思远,18,李娜,75
杨梦涵,15,王强,80
周雨轩,17,赵敏杰,95
吴宇轩,16,刘丽芳,60

导入neo4j

首先将上述两张表保存到 import 文件夹下。
两张表,已放到 import 文件夹下。
在这里插入图片描述

启动 neo4j :

sudo neo4j start

访问 http://127.0.0.1:7474/browser/ :

Teacher

LOAD CSV WITH HEADERS FROM 'file:///teacher.csv' AS row  
CREATE (:Teacher {name: row.姓名, age: toInteger(row.年龄)})

在这里插入图片描述如下图所示,老师节点已经创建完成:
在这里插入图片描述

Student

学生节点的创建会麻烦一点。因为要生成与老师节点之间的关系。

学生表创建的Cypher语句如下:

LOAD CSV WITH HEADERS FROM 'file:///student.csv' AS row  
MATCH (t:Teacher {name: row.老师})  
CREATE (s:Student {name: row.姓名, age: toInteger(row.年龄)})  
CREATE (s)-[r:STUDENT_OF {weight: toInteger(row.关系)}]->(t)  
RETURN s, r, t

在这里插入图片描述我使用鼠标点击学生赵欣怡与老师赵敏杰之间的边(STUDENT_OF),在右侧展示出了他们之间的关系是70。

这篇关于从数据生成到图数据库:Linux下Neo4j的CSV导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103260

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S