知识图谱可视化(知识图谱可视化工具neo4j)不看后悔
说明上篇博客《知识图谱构建利器:图数据库Neo4j的环境部署和简单使用》分享了Neo4j图数据库的环境搭建和简单使用,下面就以农作物为例创建一个
说明上篇博客《知识图谱构建利器:图数据库Neo4j的环境部署和简单使用》分享了Neo4j图数据库的环境搭建和简单使用,下面就以农作物为例创建一个简单的农作物相关的知识图谱,首先了解一下相关概念知识图谱(Knowledge Graph,引自百科),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用 可视化技术描述知识资源及其载体,挖掘、分析、 构建、绘制和显示知识及它们之间的相互联系。
知识图谱是通过将应用数学、 图形学、信息可视化技术、 信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、 前沿领域以及整体知识架构达到多学科融合目的的现代理论。
它能为学科研究提供切实的、有价值的参考使用1. 首先,我们删除数据库中以往的图,确保一个空白的环境进行操作:MATCH (n) DETACHDELETEn这里,MATCH是匹配操作,而小括号()代表一个
节点node,括号里面的n为标识符2.接下来,我们创建一个农作物(小麦)节点:CREATE (n:Crops {name:Wheat}) RETURNnCREATE是创建操作,Crops是标签,代表节点的类型。
花括号{}代表节点的属性,属性类似Python的字典这条语句的含义就是创建一个标签为Crops的节点,该节点具有一个name属性,属性值是Wheat如图所示,在Neo4J的界面上可以看到创建成功的节点
3. 我们继续来创建更多的农作物节点:CREATE (n:Crops {name:Corn}) RETURNnCREATE (n:Crops {name:DaDou}) RETURNnCREATE (n
:Crops {name:ShuiDao}) RETURNnCREATE (n:Crops {name:MianHua}) RETURNnCREATE (n:Crops {name:QingKe}) RETURN
nCREATE (n:Crops {name:DaZao}) RETURNn如图所示,7个农作物节点创建成功
4. 接下来创建地区节点CREATE (n:Location {region:HuaBei, QiHou:冬暖夏凉}) CREATE (n:Location {region:NanFang, QiHou:
湿热}) CREATE (n:Location {region:DongBei, QiHou:冷}) CREATE (n:Location {region:XiBei, QiHou:环境比较恶劣,高寒})
可以看到,节点类型为Location,属性包括region和QiHou。如图所示,共有7个农作物节点、3个地区节点,Neo4J有好地使用不用的颜色来表示不同类型的节点。
5. 创建关系(农作物的生长地)MATCH (a:Crops {name:MianHua}), (b:Location {region:XiBei}) MERGE (a)-[:Grown_IN]->(b
) MATCH (a:Crops {name:QingKe}), (b:Location {region:XiBei}) MERGE (a)-[:Grown_IN]->(b) MATCH (a:Crops
{name:DaZao}), (b:Location {region:XiBei}) MERGE (a)-[:Grown_IN]->(b) MATCH (a:Crops {name:ShuiDao}), (
b:Location {region:NanFang}) MERGE (a)-[:Grown_IN]->(b) MATCH (a:Crops {name:DaDou}), (b:Location {region
:DongBei}) MERGE (a)-[:Grown_IN]->(b) MATCH (a:Crops {name:Wheat}), (b:Location {region:HuaBei}) MERGE
(a)-[:Grown_IN]->(b) MATCH (a:Crops {name:Corn}), (b:Location {region:HuaBei}) MERGE (a)-[:Grown_IN]
->(b)这里的关系是Grown_IN,表示生长在哪里。如图,在农作物节点和地区节点之间,农作物生长地关系已建立好。
6. 至此,知识图谱的数据已经插入完毕,可以开始查询了我们查询下所有XiBei地区的农作物:MATCH (a:Crops)-[:Grown_IN]->(b:Location {region:XiBei})
RETURNa,b结果
7. 查询所有对外有关系的节点MATCH (a)-->() RETURNa注意这里箭头的方向,返回结果不含任何地区节点,因为地区并没有指向其他节点(只是被指向)
8. 查询所有对外有关系的节点,以及关系类型MATCH (a)-[r]->() RETURNa.name, type(r)结果如下图所示
9. 增加/修改节点的属性MATCH (a:Crops {name:Wheat}) SET a.type=农作物这里,SET表示修改操作10. 删除节点的属性MATCH (a:Crops {name:Wheat
}) REMOVEa.type删除属性操作主要通过REMOVE11. 删除节点MATCH (a:Location {region:DongBei}) DELETEa删除节点操作是DELETE总结本文重点以农作物和生长地关系为案例,对常见的图数据库Neo4J进行了介绍,讲解了Neo4J的查询语言Cypher的使用方法。
类似MySQL等其它关系型数据库一样,在实际的生产应用中,一般还是使用Python、Java等提供的driver来在程序中实现,后续会继续介绍编程语言如何操作Neo4J。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186