neo4j

Neo4j的基本了解与csv文件导入

  • Neo4j概述
    传统的数据库通常是以表格形式存储,neo4j是一种图数据库,图形数据库是以图形结构的形式存储数据的数据库。 它以节点,关系和属性的形式存储应用程序的数据。 正如RDBMS以表的“行,列”的形式存储数据,GDBMS以“图形”的形式存储数据。

  • 图数据库优点

    1. 更快的数据库操作。当然,有一个前提条件,那就是数据量较大,在MySql中存储的话需要许多表,并且表之间联系较多(即有不少的操作需要join表)。
    2. 数据更直观,相应的SQL语句也更好写(Neo4j使用Cypher语言,与传统SQL有很大不同)。
    3. 更灵活。不管有什么新的数据需要存储,都是一律的节点和边,只需要考虑节点属性和边属性。而MySql中即意味着新的表,还要考虑和其他表的关系
    4. 数据库操作的速度并不会随着数据库的增大有明显的降低。这得益于Neo4j特殊的数据存储结构和专门优化的图算法。

- CSV文件导入Neo4j ——在此我以学校专业之间的关系为例

1. 准备3个csv文件

1.school.csv(学校信息,包括学校名字 shool_name,学校编号 sid,sid唯一相当于主键)
2.personial.csv(专业信息,包括专业名字 personial_name,专业编号 pid,pid唯一相当于该专业表的主键)
3. personial_school.csv(学校-专业信息表,包括专业名字,学校名字,pid,sid,重点是这两个id对上号)

2. 将准备好的csv文件导入neo4j中

将我们准备好的数据导入下载的neo4j-community-3.5.5中的impor中在这里插入图片描述

3.打开Neo4j

打开命令控制台输入以下命令

neo4j.bat console

http://localhost:7474/进入网页版neo4j

4.导入csv文件

//导入专业
LOAD CSV WITH HEADERS  FROM "file:///personal_id.csv" AS line  
MERGE (p:personial{pid:toInteger(line.pid),p_name:line.Personial_name})
//导入学校
LOAD CSV WITH HEADERS  FROM "file:///school_id.csv" AS line  
MERGE (p:school{sid:toInteger(line.sid),s_name:line.School_name})

导入成功后可以查看到多了两个Node Lables
在这里插入图片描述
点击结点可查看生成的图
在这里插入图片描述

//导入关系
LOAD CSV WITH HEADERS FROM "file:///personial-school.csv" AS line 
match (from:school{sid:toInteger(line.sid)}),(to:personial{pid:toInteger(line.pid)})  
merge (from)-[r:shool_personial{sid:toInteger(line.sid),pid:toInteger(line.pid)}]->(to)

可查看到relationship types中多了一个我们所创建的关系在这里插入图片描述
点击该关系查看结果图,

在这里插入图片描述

//更改25可显示更多结点
MATCH p=()-[r:shool_personial]->() RETURN p LIMIT 25

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值