Datawhale 知识图谱组队学习 之 Task 3 Neo4j图数据库导入数据
目录
一、引言
图形作为一种特定的数据结构,用于表达数据之间的复杂关系,可以理解为你周边人际关系网络;
二、Neo4j简介
2.1 基本概念
eo4j使用图相关的概念来描述数据模型,即结点和边,外加属性。
2.2 索引
neo4j的索引机制,就是为了快速定位起始节点
2.3 Neo4j的优势
Neo4j:
- 查询的高性
- 设计的灵活性
- 开发的敏捷性等
2.4 环境部署
2.4.1 运行环境
https://editor.csdn.net/md/?articleId=112483440
2.4.2 neo4j安装及使用
https://editor.csdn.net/md/?articleId=112483440
备注一下:运行的时候需要安装多种库,方式一般俩种:
- pip installer XXXX
- pip install xxxx -i https://pypi.tuna.tsinghua.edu.cn/simple
xxxx的地方改成你想要的库就行了 国内的源挺好用的,不用再慢慢等待那个网络下载动不动就失败的情况
三、Neo4j 数据导入
3.1 数据集简介
15项信息,其中7类实体,约3.7万实体,21万实体关(:数据源:39健康网)
3.2 数据导入
3.2.1 Neo4j 账号密码设置
密码和用户名一直,第一次登陆后会要求你更改
3.2.2 导入 数据
运行 以下命令
python build_graph.py
此过程ssd跑的话会快一店大概1号,就跑完了
3.3 知识图谱展示
运行介绍之后,打开浏览器进入网址:http://localhost:7474/可以看到我们导入的数据的知识图谱
进入neo4j
3.4 主体类 MedicalGraph 介绍
class MedicalGraph:
def __init__(self):
pass
# 读取文件,获得实体,实体关系
def read_file(self):
psss
# 创建节点
def create_node(self, label, nodes):
pass
# 创建疾病节点的属性
def create_diseases_nodes(self, disease_info):
pass
# 创建知识图谱实体
def create_graphNodes(self):
pass
# 创建实体关系边
def create_graphRels(self):
pass
# 创建实体关系边
def create_relationship(self, start_node, end_node, edges, rel_type, rel_name):
pass';
3.5 主体类 MedicalGraph 中关键代码讲解
- 路径获取
我这边用了绝对路径,建议大家放到一个文件夹子 - 链接 Neo4j 图数据库,当启动问诊的时候一定要链接neo4j的图数据库,不然代码会报错,都是一些很奇怪的错误,只会越来越错
链接 Neo4j 图数据库 操作1
链接 Neo4j 图数据库 操作2
进入画面,连接成功,并运行
四、总结
一定正确配置环境,否则各种坑等着你一步步的踩。环境的配置我前面俩小节都详细的记录了。
运行kbqa_test.py时一定要链接neo4j否则会报错!