1.概念
1.1 知识图谱
知识图谱是一种基于图的数据结构,由节点(Point)和边(Edge)组成,每个节点表示一个“实体”,每条边为实体与实体之间的“关系”。知识图谱本质上是语义网络,是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系。
知识图谱的技术流程如下图,包括信息抽取、信息融合、知识建模、知识应用。信息抽取和信息融合后输出三元组,对三元组进行有效的存储以方便检索和调用这就涉及到数据库的选择。典型应用包括语义搜索、知识问答和数据集成等。
1.2 图模型
知识图谱可以存储在任何后端中,可以是文件、关系型数据库、或者是文件型数据仓库。但是由于知识图谱本质上是图,因此利用图数据库来存储知识图谱将会在数据存储、数据提取方面提供更为优异的性能。
知识图谱根据知识形式的不同,分为面向语义网络的RDF模型(资源描述框架)和面向结构化实体的LPG模型(带标签的属性图)。传统知识图谱的数据源主要是是文本,以RDF图模型为主,随着大数据时代的到来,属性图模型由于其可理解性更好而收到越来越多的开发者青睐
RDF模型表示为三元组,由资源——属性——属性值组成,可以将其看作是一个包含主谓宾结构的语句,如小明出生于1990年。如图示,RDF中的节点可表示实体、属性,边表示实体间关系,以及实体和属性间的关系。
LPG模型即属性图,由节点和边组成,且均可包含属性。与RDF不同,这里的属性可直接存储在节点或边之中。
ArcGIS/GeoScene Knowledge Server使用的是ArangoDB,LPG型图数据库,是储存文档、图片并提供查询的多模型数据库,兼有Key/Value键/值对、Graph图和Document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。
2. ArcGIS/GeoScene中的知识图谱
2.1 能力
- 知识图谱的创建与删除;
- 实体类型和关系类型的定义与编辑;
- 向知识图谱添加实体与关系;
- 知识图谱的搜索(支持Lucene查询语法);
- 基于Cypher查询语言的知识图谱查询(实体和关系查询)。
Knowledge Server支持通过REST API访问,也支持通过Pro连接,支持在桌面端软件中完成知识图谱的创建、编辑、更新、查询和分析等一系列功能,无需使用API接口对Knowledge Server进行访问。
2.2 优势
1、业界领先的图数据库
- 多模型数据库 – ArangoDB
- 查询速率高、稳定性强
- 原生支持空间关系查询
- 统一的数据库查询语言
- 数据模型:键值对、图谱、文档
2、广泛的源数据支持
- 结构化数据(表、csv)
- 手工创建
- 一步创建实体、关系及空间属性
- GIS格式数据(Shapefile、要素类)
3、全流程+用户友好
- 知识图谱创建、可视化、共享协作全流程覆盖
- UI用户友好
- 0代码 + 即拿即用的企业级产品
4、炫酷的可视化效果
- 链接图表 - 高效展示实体间的联系
- 与已有GIS数据融合显示及交互
5、强大的图谱管理与分析功能
- 实体合并与实体属性更新
- 空间分析
- 最短路径分析
- 图中心性分析
- 带关系的查询 – 速度远优于传统数据模型
3. 实践
3.1 部署
基础部署+Knowledge Server站点(单机或集群)
托管Server注册图数据存储
3.2 授权
知识图谱Server授权KnowledgeServer许可
portal给“ArcGIS Knowledge”用户类型扩展模块许可
使用配置了知识图谱扩展许可的portal用户登录Pro
3.3 构建
3.3.1新建调查
调查是Pro中针对知识图谱的工作空间,类似地图、场景、布局等。
打开Pro的目录视图,新建调查。
可以基于新的知识图谱,或使用门户现有图谱,新的图谱将自动创建为门户项目
- 目前仅支持WGS1984
- 标题英文
新的调查项目包括实体类型、关系类型和数据加载配置,当前各项为空
3.3.2 新建实体/关系类型
接下来我们向调查中添加实体类型、实体、关系类型、关系。
3.3.2.1 手工创建
右键内容窗格中的实体类型
定义实体类型名称、空间类型
向实体类型中添加实体,新建实体,然后为其添加属性、关系、关联文档等信息
3.3.2.2批量创建——加载表
使用现有GIS数据(.shp、要素类)或结构化数据(表格、.csv)
按向导一步式配置实体、关系、属性、空间信息,实现批量导入,加载配置可保存以备后续重复使用
加载表配置演示
点击内容窗格的实体或关系,在调查中查看导入结果
除了自定义关系外,产品自带一类关联文档(HasDocument)关系,即可为实体添加文档、图片等
4.应用
4.1 可视化
4.1.1 使用链接图表
选择要创建图表的实体类型——右键添加至链接图表
修改图表布局以获得更优的可视化效果
创建链接图表、修改图表布局
4.1.2 与GIS数据联动显示
选择实体类型——右键添加至地图或场景
为链接图表启用动态选择模式,地图或场景的选择变化时链接图表相应更新
选择链接图表中的实体,点击应用到,地图或场景中的选择将更新
4.2 查询
4.2.1 搜索模式
关键词模糊查询
4.2.2 查询模式
Oc :https://opencypher.org/
使用图查询语言openCypher对图谱中的实体和关系进行查询
搜索窗口切换至查询模式
输入Cypher语句,运行查询
查询北京市朝阳区西坝河中里社区29号楼所属小区内的全部建筑
选中查询结果,应用到场景,可在场景中浏览高亮选中的实体
4.3 分析
此处实践了路径分析、中心性分析、空间分析
4.3.1 路径分析
如查找两个地铁站之间的换乘路径
基于链接图表的分析
点为实体,线为关系,其中,红色点代表地铁线路,绿色点代表地铁站,绿色线代表地铁线路拥有站点,蓝色线代表站点可换乘。
选择实体——查找路径
基于调查的分析
使用Cypher语句查询
Cypher语句查询南锣鼓巷站到芍药居站的换乘路径结果
4.3.2 中心性分析
如判断某街道管辖的社区实体和建筑物实体的重要性/影响力
基于链接图表的分析
选择某街道实体为根节点,选择“以根为中心”的链接图表布局,便于展示实体间关系
选择中心性,为链接图表计算中心性。下方表格即排序显示各实体节点的中心性,可辅助判断实体在关系网络中的重要程度。
产品提供多种中心性度量指标,如度中心性、介数中心性、接近中心性、特征向量中心性、网页排名中心性等。
4.3.3 空间分析
此处的空间分析是基于Cypher查询实现的
示例:
查询北京市朝阳区西坝河中里社区29号楼500m范围内的全部建筑
结果应用到场景:
以上为知识图谱服务器初步使用的内容,欢迎大家指导交流
5 参考资料
https://zhuanlan.zhihu.com/p/53753234
https://blog.csdn.net/ngl567/article/details/106677264
https://www.bilibili.com/video/BV12k4y1R76Q/?from=search&seid=11393258886127689893
欢迎关注公众号!共同学习!懒GISer