[知识图谱]-Neo4j图数据库安装及药材图谱实现

参考:https://blog.csdn.net/Eastmount/article/details/83268410

(一)Neo4j图数据库安装

可以从官方网站下载Neo4j对应的版本,包括网页版、桌面版。

官网地址:https://neo4j.com/download/

安装桌面版:

下载安装包,然后一直下一步,直到安装完成运行,初始化。

(二 )药材图谱构建

1 导入数据创建实体

1)点击“Project”=>“Add Graph”增加新的图形。

2)在弹出的新界面中点击“Create a Local Graph”按钮,创建一个本地的图形。

3) 输入创建图形的名字及密码,如“Graph1022”、“123456”,点击创建。

4) 在“Graph1022”中点击“Start”按钮开启图数据库服务器。

5) 点击“Manage”管理页面,接着点击“Open Browser”打开浏览器。

弹出如下所示界面,该界面中可以输入CQL语句编辑图数据库

(三) 导入数据创建关系

1.假设该药材的供应链如下图所示,现在需要建立对应的简单图谱。

2.需要导入的实体数据主要有两类,企业类、药材类。如下所示:

(1) 企业 entity-01.csv

id	name	label
1	威门药业	企业
2	东莞焱兴实业	企业
3	银川塞外杞香	企业
4	安徽亳州药业	企业
5	抚松泓宇特产	企业
6	格尔木源鑫堂	企业
7	亳州一阳药业	企业
8	成都德音电商	企业
9	康美中药材	企业
10	亳州昌盛鑫参茸	企业
11	郑州伟丰生物	企业
12	山东大凯生物	企业

(2) 药材 entity-02.csv

id	name	label
13	北沙参	药材
14	枸杞子	药材
15	麦冬	药材
16	川楝子	药材
17	当归	药材
18	地黄	药材
19	桂枝	药材
20	人参	药材
21	党参	药材
22	白芷	药材
23	羌活	药材
24	细辛	药材
25	防风	药材
26	荆芥	药材
27	薄荷	药材
28	甘草	药材
29	乳糖	药材
30	糊精	药材

3.接着将需要导入的csv文件放置在该数据库的import文件夹下,然后执行如下语句。

LOAD CSV WITH HEADERS  FROM "file:///entity-01.csv" AS line
MERGE (p:Enterprise{id:line.id,name:line.name})

代码功能:载入CSV文件从import文件夹中,AS line表示按行读取文件内容,包括两个值:id 和 name,抽象的实体概念名字为Enterprise(企业)。

4.插入实体成功之后,执行下面语句显示所插入的实体。

match(n) return n

点击运行之后可以看到插入的12个企业实体

5.执行如下语句插入30个药材实体。

LOAD CSV WITH HEADERS  FROM "file:///entity-02.csv" AS line
MERGE (p:Medicinal{id:line.id,name:line.name})

代码功能:载入CSV文件从import文件夹中,AS line表示按行读取文件内容,包括两个值:id 和 name,抽象的实体概念名字为Medicinal(药材)。

6.接着插入关系,包括三种:

(1) rela-11.csv:企业与企业的关系,企业买卖交易

from_id	pro1	pro2	pro3	pro4	pro5	pro6	pro7	to_id
1	交易	北沙参	威门药业股份有限公司	东莞市焱兴实业发展有限公司	936	10	9360	2
1	交易	枸杞子	威门药业股份有限公司	银川塞外杞香科贸有限公司	159	6	954	3
1	交易	麦冬	威门药业股份有限公司	安徽亳州药业集团	938	9	8442	4
1	交易	川楝子	威门药业股份有限公司	安徽亳州药业集团	767	4	3068	4
1	交易	当归	威门药业股份有限公司	安徽亳州药业集团	585	2	1170	4
1	交易	地黄	威门药业股份有限公司	安徽亳州药业集团	575	2	1150	4
1	交易	桂枝	威门药业股份有限公司	安徽亳州药业集团	787	7	5509	4
1	交易	人参	威门药业股份有限公司	抚松县泓宇特产有限公司	488	7	3416	5
1	交易	党参	威门药业股份有限公司	格尔木源鑫堂生物科技有限公司	861	1	861	6
1	交易	白芷	威门药业股份有限公司	亳州市一阳药业销售有限公司	282	3	846	7
1	交易	羌活	威门药业股份有限公司	亳州市一阳药业销售有限公司	853	1	853	7
1	交易	细辛	威门药业股份有限公司	亳州市一阳药业销售有限公司	560	3	1680	7
1	交易	防风	威门药业股份有限公司	成都德音电子商务有限公司	626	3	1878	8
1	交易	荆芥	威门药业股份有限公司	成都德音电子商务有限公司	62	3	186	8
1	交易	薄荷	威门药业股份有限公司	枣庄市台儿庄区康美中药材种植专业合作社	445	1	445	9
1	交易	甘草	威门药业股份有限公司	亳州市昌盛鑫参茸有限责任公司	426	5	2130	10
1	交易	乳糖	威门药业股份有限公司	郑州市伟丰生物科技有限公司	484	1	484	11
1	交易	糊精	威门药业股份有限公司	山东大凯生物科技有限公司	249	2	498	12

CQL代码如下,需要注意 from_id(关系起始) 和 to_id(关系介绍),包含的属性需要和CSV表格一致。

LOAD CSV WITH HEADERS FROM "file:///rela-11.csv" AS line
match (from:Enterprise{id:line.from_id}),(to:Enterprise{id:line.to_id})
merge (from)-[r:rel{pro1:line.pro1,pro2:line.pro2,pro3:line.pro3,pro4:line.pro4,pro5:line.pro5,pro6:line.pro6,pro7:line.pro7}]->(to)

结果如下图所示,可以看到企业之间交易关系。

(2) rela-12.csv:企业与药品的关系,威门药业购入药品。

from_id	pro1	pro2	pro3	pro4	to_id
1	买入	药品	威门药业股份有限公司	东莞市焱兴实业发展有限公司	13
1	买入	药品	威门药业股份有限公司	银川塞外杞香科贸有限公司	14
1	买入	药品	威门药业股份有限公司	安徽亳州药业集团	15
1	买入	药品	威门药业股份有限公司	安徽亳州药业集团	16
1	买入	药品	威门药业股份有限公司	安徽亳州药业集团	17
1	买入	药品	威门药业股份有限公司	安徽亳州药业集团	18
1	买入	药品	威门药业股份有限公司	安徽亳州药业集团	19
1	买入	药品	威门药业股份有限公司	抚松县泓宇特产有限公司	20
1	买入	药品	威门药业股份有限公司	格尔木源鑫堂生物科技有限公司	21
1	买入	药品	威门药业股份有限公司	亳州市一阳药业销售有限公司	22
1	买入	药品	威门药业股份有限公司	亳州市一阳药业销售有限公司	23
1	买入	药品	威门药业股份有限公司	亳州市一阳药业销售有限公司	24
1	买入	药品	威门药业股份有限公司	成都德音电子商务有限公司	25
1	买入	药品	威门药业股份有限公司	成都德音电子商务有限公司	26
1	买入	药品	威门药业股份有限公司	枣庄市台儿庄区康美中药材种植专业合作社	27
1	买入	药品	威门药业股份有限公司	亳州市昌盛鑫参茸有限责任公司	28
1	买入	药品	威门药业股份有限公司	郑州市伟丰生物科技有限公司	29
1	买入	药品	威门药业股份有限公司	山东大凯生物科技有限公司	30

CQL代码如下:

LOAD CSV WITH HEADERS FROM "file:///rela-12.csv" AS line
match (from:Enterprise{id:line.from_id}),(to:Medicinal{id:line.to_id})
merge (from)-[r:rel{pro1:line.pro1,pro2:line.pro2,pro3:line.pro3,pro4:line.pro4}]->(to)

结果如下图所示,可以看到企业药材之间关系。

(3) rela-21.csv:企业与药品的关系,from_id企业卖出to_id药品。

from_id	pro1	pro2	to_id
2	药品	卖出	13
3	药品	卖出	14
4	药品	卖出	15
4	药品	卖出	16
4	药品	卖出	17
4	药品	卖出	18
4	药品	卖出	19
5	药品	卖出	20
6	药品	卖出	21
7	药品	卖出	22
7	药品	卖出	23
7	药品	卖出	24
8	药品	卖出	25
8	药品	卖出	26
9	药品	卖出	27
10	药品	卖出	28
11	药品	卖出	29
12	药品	卖出	30

CQL代码如下:

LOAD CSV WITH HEADERS FROM "file:///rela-21.csv" AS line
match (from:Enterprise{id:line.from_id}),(to:Medicinal{id:line.to_id})
merge (from)-[r:卖出{pro1:line.pro1,pro2:line.pro2}]->(to)

运行结果如下图所示:

7.获取实体关系的顶层概念关系。

call db.schema

运行结果:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值