将csv文件导入neo4j图形数据库操作

目标:将医疗数据按照属性,实体,实体关系分类,用python创建相关结点和关系,导入neo4j数据库,最后将图数据库导出为json格式。

一、处理数据

  1. 将有来医生,民福康,网易健康三个网站数据汇总,合并重叠的标题栏。

各网站标题栏如下(黄色和橙色表示标题栏有重合的部分):

有来医生

民福康

网易健康

科室

科室

科室

疾病名称

疾病名称

疾病名称

相关症状

相关症状

症状

相关检查

相关检查

检查

治疗方法

治疗方法

治疗

发病部位

发病部位

简介

多发人群

多发人群

病因

是否遗传

是否遗传

预防

相关疾病

相关疾病

护理

相关手术

相关手术

并发症

挂号科室

是否属于医保

 

是否传染

   

相关药品

   

相关费用

   

新建一个excel表格,将各网站信息标题合并成为一个标题栏如下:

  1.  手动处理表格,将各网站医疗信息对应标题分别存入新表格,没有的标题信息都为空。
  2. 将excel表格导出为csv格式,得到如下csv表格样式

将csv文件导入neo4j图形数据库操作_第1张图片

 

二、建立图型数据库

1. pycharm连接neo4j,创建csv文件对象

       安装py2neo库,从中导入Graph,Node,Relationship。并且创建csv文件对象,图形数据库对象。

将csv文件导入neo4j图形数据库操作_第2张图片

 

2. 根据事先划分好的实体,实体属性,实体关系类型,定义各类型对象名称。

其中实体类型:                        

实体类型

中文含义

对应csv列标

Department  

科室

0

Symptom    

相关症状

2

Check     

相关检查

3

Operation   

相关手术

9

Disease    

疾病

1

Relative_disease 

相关疾病

8

Drug   

相关药品

12

Registration_department

挂号科室   

10

        

实体(疾病)属性类型:

属性类型

中文含义

对应csv列标

Name  

疾病名称   

1

Cure

治疗方法   

4

Location_disease

发病部位   

5

Multiple_person

多发人群   

6

Inherit

是否遗传  

7

Infect

是否传染  

11

Fee

相关费用  

13

Insurance

是否医保  

14

Desc

简介    

15

Cause

病因   

16

Prevent

预防   

17

Nurse

护理

18

Complication

并发症   

19

      

实体关系类型:

实体关系类型

中文含义

has_symptom

疾病显示症状   

Need_check

疾病所需检查

Relative_Operation

疾病所需手术

Relative_Diseases

疾病的有关疾病

recommand_drug

疾病该吃的药品

Registrat_Department

疾病挂号科室

Belongto_department

疾病属于科室

 

  1. 对图形数据库对象创建实体,实体关系结点

   按行读取csv数据且跳过处理第一行数据,创建实体对象,其中疾病实体含有多种不同属性,数字分别表示是第几列的信息。

将csv文件导入neo4j图形数据库操作_第3张图片

 

 

 

   创建实体关系型结点对象:

将csv文件导入neo4j图形数据库操作_第4张图片

   在图形数据库中创建实体和关系:

将csv文件导入neo4j图形数据库操作_第5张图片

 

  1. 查看图形数据库,并导出为json

将csv文件导入neo4j图形数据库操作_第6张图片

 

Cypher语句输入:match (n) return (n) 查看所有结点

导出;

将csv文件导入neo4j图形数据库操作_第7张图片

 

你可能感兴趣的:(python)