neo4j数据可视化实践
- [手动输入数据 - 官方demo](#手动输入数据 - 官方demo)
- csv数据导入
-
- 准备数据
- 数据处理
- 导入步骤
-
- [① 导入疾病表格](#① 导入疾病表格)
- [② 导入药物表格](#② 导入药物表格)
- ③导入疾病-药物关系表格
- 爬虫的csv文件
手动输入数据 - 官方demo

- 点击之后,按照左边10张图中的代码,复制粘贴熟悉语法

- 效果如下

csv数据导入
参考视频教程 《Neo4j图数据库csv格式文件数据导入》
视频中给出的参考文章 《csv文件导入Neo4j(包括结点和关系的导入)》

准备数据
三张表格,一张药物表,一张疾病表,一张关系表
数据处理
初始数据假设存储在 excel表格中
第一步另存为 csv 文件格式
第二步 txt 打开 csv
第三步 在txt中另存为 csv(这步主要是为了设置文本格式为 UTF-8)
然后把csv文件存储在 neo4j 安装目录的import文件夹中,可以neo4j restart
重启一下。
V:\neo4j\neo4j-community-5.23.0-windows\neo4j-community-5.23.0\import
导入步骤
① 导入疾病表格
java
LOAD CSV WITH HEADERS FROM "file:///jibing.csv" AS line
MERGE (p:jibing{jbid:line.jbid,jbmc:line.jbmc})

② 导入药物表格
java
LOAD CSV WITH HEADERS FROM "file:///yaowu.csv" AS line
MERGE (p:yaowu{ywid:line.ywid,ywmc:line.ywmc})
添加成功:
查看效果:(多了药物节点)
③导入疾病-药物关系表格
bash
LOAD CSV WITH HEADERS FROM "file:///guanxi.csv" AS line
MATCH (from:yaowu{ywid:line.ywid}),(to:jibing{jbid:line.jbid})
MERGE (from)-[r:rel{gx:line.gx}]->(to)
添加关系成功:
查看关系图:
爬虫的csv文件
两个表,非常多数据。
没有关系表,自己选关键字创建关系
java
LOAD CSV WITH HEADERS FROM "file:///topRankCompanyPeople.csv" AS line
MERGE (p:topRankCompanyPeople{CompanyName:line.CompanyName,Name:line.Name,Status:line.Status,ImageURL:line.ImageURL,CurrentCompany:line.CurrentCompany,JobTitle:line.JobTitle,XLink:line.XLink,LinkedInLink:line.LinkedInLink})
报错
java
Cannot merge the following node because of null property value for 'XLink': (:topRankCompanyPeople {XLink: null}) (Failure when processing file '///topRankCompanyPeople.csv' on line 5.)

去掉后面两个关键字就可以了
java
LOAD CSV WITH HEADERS FROM "file:///topRankCompanyPeople.csv" AS line
MERGE (p:topRankCompanyPeople{CompanyName:line.CompanyName,Name:line.Name,Status:line.Status,ImageURL:line.ImageURL,CurrentCompany:line.CurrentCompany,JobTitle:line.JobTitle})

- 通过两个表格的名字创建关联
java
MATCH (c:topRankCompanyPeople)-[:KNOWS]->(u:topRankUniversityPeople)
RETURN c.Name AS topRankCompanyPeople, u.Name AS topRankUniversityPeople;
