Datawhale 知识图谱组队学习 之 Task 3 Neo4j图数据库导入数据

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否则会报错!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值