GIS知识图谱案例(手把手教程)

本文作者:关关

0 内容导读

之前搞过知识图谱产品的培训,感觉相对也是好上手的,所以今天就请小伙伴写了一篇手把手使用教程。
使用软件:GeoScene Pro 4.0(需要有Knowledge授权)
本文在科普知识图谱技术的基本概念与原理同时,将简单介绍GeoScene 知识图谱产品的能力;最后通过模拟的疫情数据,详细讲解如何使用GeoScene Pro构建并可视化与疫情相关的知识图谱,探索实体间的隐藏关系,以便更好地理解和分析数据,提升决策效率和信息整合能力。

1 知识图谱(Knowledge Graph)简述

一、简述

首先,知识图谱到底是什么?

当前,对于知识图谱,学术界和产业界并没有一个被广泛接受的正式定义。当考虑知识图谱的图结构时,知识图谱可以看作是一个图。当它涉及到形式语义时,它可以作为解释和推断事实的知识库。知识可以用事实的三元组形式 - HRT(头实体,关系,尾实体)或者SPO(主语,谓语,宾语)来表达。

举个例子,(阿尔伯特爱因斯坦, 获奖者, 诺贝尔物理学奖)或者(Albert Einstein, WinnerOf, Nobel Prize in Physics)就是一条知识。在这条知识里,有“阿尔伯特爱因斯坦”和“诺贝尔物理学奖”两个实体,“获奖者”是描述这两个实体之间的关系,上述内容在知识图谱中就组成了一个SPO三元组。

图片

图1 示意图

这种图形化知识表示的思想最高可以追溯的1956年Richens提出的语义网(Sematic Net)概念。随着2012年谷歌搜索引擎首次提出知识图谱(Google’s Knowledge Graph)的概念,基于规则的图形化知识表达才逐渐获得了极大的普及。

通常,我们普遍会采用数据表的方式储存信息,例如Excel表格、关系型数据库;但是这种存储方式往往使得数据呈现烟囱式发展,难以形成结构化的知识。知识图谱不仅实现了各类型各专业数据之间的桥接,形成庞大且全面的知识库;同时,还提供了一种新的可视化手段,更直观的展示现实世界的事物之间的关联关系。

二、GeoScene Knowledge 介绍

近两年知识图谱作为前沿技术热点词汇之一被频繁提及。而知识图谱技术如何与GIS结合,如何赋能各行业的业务决策,如何为企业带来增值,如何更好的发挥地理数据价值,是当前业内重点探讨和分析的焦点。

GeoScene 从3.1 版本开始全新推出Knowledge Server知识图谱服务器产品,将知识图谱的能力集成到GIS平台中,提供了即用型的图数据管理、可视化、检索与分析工具。通过连接拥有知识图谱服务器权限的门户,便可在GeoScene Pro (3.1及以上版本)中加载可视化知识图谱、创建知识图谱、查询与分析。分析人员可以通过地图、链接图表、直方图和实体卡片等多种视角将信息可视化,或通过链接网络分析技术(例如:中心性分析、社区分析、最短路径分析等)以及结合空间统计在内的GIS分析技术,挖掘数据中隐藏的关系获取针对数据更全面的认知:

  • 预测哪些地理区域可能会因为设施建设而受到最大影响

  • 评估额外的人员与设施点的地理位置如何影响整个网络的生产力

  • 了解网络中看似无关的两个人在短时间内出现在同一个地方

  • ……

图2 GeoScene产品架构图

2 应用教程

一、软件与数据

1.1 操作软件

桌面端GIS软件:GeoScene Pro 4.0

1.2 数据来源

北京市流行病学调查数据集(模拟数据)

注:本数据为编撰模拟数据,为练习使用,非真实数据。

二、创建知识图谱

2.1 用授权账户登录门户

这里我们使用一个现成的“知识图谱培训”资源包,双击以 .aprx 结尾的工程文件,打开工程。(该资源包数据全部为编撰模拟数据,因此就不共享给大家了,本文重点讲操作流程和方法。)

图片

图3 案例包内容 

点击头像,用账号密码登录门户。

注意:请确保所使用的门户关联服务器以及账号拥有知识图谱的授权,否则将无法进行后续操作。

图片

图4 登录许可服务器

2.2 创建新调查

在功能区中单机“新建”,查看下拉菜单,点击“新建调查”。

注意:如果没有按照以上要求打开工程文件,可通过点击“视图”栏,找到“目录窗格”选项,打开此界面。

图片

图5 新建调查创建知识图谱项目

在弹出的“创建调查”窗格中:

  • 标题:CovidKG_test

  • 知识图:选择在门户中创建新的知识图谱项目

  • 其他部分可填可不填

  • 点击下一步

  • 门户文件夹栏中选择默认(根)文件夹;也可以通过输入名称创建新的文件夹来存储知识图谱服务

  • 如有数据库选项,选择默认托管图数据库即可

  • 点击下一步

  • 当前仅支持WGS1984坐标系,无需额外操作

  • 点击完成

图片

图6 创建知识图谱过程

稍作等待后,看到以下界面则表示已完成知识图谱的创建。注意到,当前实体类型和关系类型计数都为0。接下来我们将通过加载要素数据来定义实体与关系,导入数据,丰富现有的知识图谱服务。

图片

图7 创建成功界面

2.3 导入数据创建实体关系

在这个部分,我们将定义2种实体类型和2种关系类型:

  • (案例,接触,案例) -  (Cases -> Contacts -> Cases)

  • (地点,被拜访,案例)- (Location -> VisitedBy -> Cases)

注意:实体和关系名称不支持中文字符;如有中文字符,请修改成英文,否则会影响实体关系的成功创建。

首先,在“调查”功能区中单击“加载表”。

图片

图8 加载表

弹出的新窗口是帮助我们快速创建知识图谱的向导工具。窗格右侧中的文字详细解释了在使用向导时会涉及到专业词汇的。

接下来,我们将通过向导来读取要素数据,定义上文提到的实体与关系。

图片

图9 加载表向导界面

2.3.1新冠案例实体关系
i. 向导工具开始界面

点击向导中,源表框旁的文件夹标志。选择“所有案例”点要素数据,点击确定,完成导入。

图片

图10 定位案例点要素数据

点击 下一步:实体 。

图片

图11 选择实体

ii. 创建实体界面

在这一步中,我们想要利用拥有唯一值特性的“案例ID”的值作为实体,代表每一个记录在流行病学调查数据集中的人。本例中“案例ID”比较特殊,因为它除了与地点有关联关系外,还与自身存在关联关系;例如 A10001接触过A10006、A10008、A10009等。

图片

图12 案例要素属性表

因此,我们需要先通过创建两组同类型的实体,即 同为“Cases”类型的“案例ID”和“关联源案例ID”实体,用以下一步的“接触”关系的创建所用;再通过勾选合并选项将ID相同的实体进行合并消歧,以避免在知识图谱中有两个ID相同的独立实体的存在,同时也方便针对原有的知识图谱进行更新和扩展。

具体操作如下图所示,在属性字段表中:

  • 勾选“案例ID”和“关联源案例ID

  • 修改相应实体类型名称为“Cases”(回车表示输入完毕)

  • 勾选相应的 合并 选项

  • 单击 下一步:关系

图片

图13 创建Cases实体

iii. 创建关系界面

上文提到“案例ID”和“关联源案例ID”有“接触”的关系。因此在这一步,我们将创建“接触”关系。 

  • 初始实体:(Cases*)关联源案例ID

  • 目标实体:(Cases*)案例ID

  • 关系类型:Contacts (回车完成输入)

  • 勾选中  合并 选项

  • 单击 下一步:属性

图片

图14 创建关系

iv. 添加属性值界面

在这一步中,我们将为实体和关系赋予属性值,用来更详细的描述实体关系的特征。以本案为例,“案例ID”的值是一串字母和数字的组合,很难直观了解到它所指代的真实对象。但如果我们将姓名、年龄、性别、地址等标识信息作为“案例ID”的描述性属性,后续无论是在可视化还是在查询分析方面都能提供更丰富的信息。

属性赋值具体操作参考下图:

  • 单击 实体 框内的(Cases*)案例ID

  • 双击或拖动 列名称 框内 属性名称 到 属性 框内

  • 单击 实体 框内的(Cases*)关联源案例ID

  • 修改 属性名 为 案例ID 

  • 单击 下一步:空间

图片

图15 添加属性值

注意:上述步骤修改了“(Cases*)关联源案例ID ”实体的属性名称。这是因为“关联源案例ID ”是“案例ID”的子集。在后续合并消歧的过程中,将自动合并到总集中,继承“案例ID”的属性值。后续创建空间要素同理。

v. 创建空间要素界面

在这一步中,我们将定义实体的空间要素。实体的空间属性将会影响到实体是否能在地图场景中进行可视化以及参与空间分析。例如,拥有空间属性的实体可以参与缓冲区分析、最短路径分析等;没有空间属性的实体仅支持网络分析。

本案例中使用的数据皆为点要素数据。因此,在定义实体的空间要素时,我们可以直接读取要素的几何对象来定义,也可以使用属性表中提供的XY经纬度值来创建几何对象来定义。

具体操作如下图:

  • 勾选(Cases*)案例ID

  • 选择几何类型为 点

  • 输入空间格式几何,输入几何字段 为 Shape(默认)

  • 单击 下一步: 检查/运行

图片

图16 创建空间要素

vi. 检查/运行界面

检查/运行是创建新冠案例实体关系的最后一步。依照以上操作步骤,我们将会在最后一步得到1类实体(Cases)1类关系(Contacts)的创建。

图片

图17 实体关系示意图

如果您当前的操作界面与下图不一致,请返回到相对应的配置界面进行修改,以免影响后续可视化和分析步骤的正常运行。

确认内容无误后,点击运行。向导工具将会自动读取要素类的属性信息,根据我们之前步骤的配置来导入实体和关系。

图片

图18 检查运行

注意:运行完成后出现了

图片

的报错。这是正常情况。这是因为数据中存在部分“案例ID”没有相对应的“关联源案例ID”,也就是说此人没有记录在册的接触者,因此导致了相对应的实体关系创建失败。

完成运行后,在界面左侧的内容窗口我们可以看到, Cases实体和Contacts关系已成功导入CovidKG_test知识图谱中。

图片

图19 知识图谱中的实体关系

2.3.2 过去14天所到地实体关系

接下来,我们将通过过去14天所到地的点要素数据创建“所到地实体(Location)”以及“所到地与案例实体的关联关系(VisitedBy)”。

图片

图20 实体关联关系

点击 欢迎,回到向导初始界面。

图片

图21 向导菜单

i. 向导工具开始界面

点击向导中,源表框旁的文件夹标志。选择“过去14天去过的地点”点要素数据,点击确定,完成导入。

点击 下一步:实体 。

图片

图22 定位访问地点要素数据

ii. 创建实体界面

在这一步中,我们将创建一类新的实体 “地点名称(Location)”,同时我们还需要“案例实体(Cases)”来支持 后续“案例‘访问’地点”的关系创建。

具体操作如下图所示,在属性字段表中:

  • 勾选“地点名称”和“案例ID

  • 修改“地点名称”的 实体类型 名称为“Location” (回车表示输入完毕)

  • 选择“案例ID”的实体类型 名称为“Cases”

  • 勾选相应的 合并 选项

  • 单击 下一步:关系

图片

图23 创建Location实体

iii. 创建关系界面

在这一步,我们将创建“被访问(VisitedBy)”的关系,形成(“地点”,“被访问”,“人”)的SPO三元体结构。

  • 初始实体:(Location*)地点名称

  • 目标实体:(Cases*)案例ID

  • 关系类型:VisitedBy (回车完成输入)

  • 勾选中  合并 选项

  • 单击 下一步:属性

图片

图24 创建关系

iv. 添加属性值界面

与新冠案例实体的属性添加部分相同,在这一步中,我们将为地点实体赋予属性值,用于详细描述地点实体。

  • 单击 实体 框内的(Location*)地点名称

  • 双击或拖动 列名称 框内 属性名称 到 属性 框内

  • 单击 下一步:空间

图片

图25 添加属性值

v. 创建空间要素界面

与定义案例空间要素时情况相同。由于“所到地”要素类的属性表中并未提供经纬度坐标字段;因此,我们直接通过读取“所到地”要素的几何对象来定义“地点名称(Location)”实体的空间要素。

具体操作如下图:

  • 勾选 (Location*)地点名称

  • 几何类型 为 

  • 输入空间格式 为 几何,输入几何字段 为 Shape(默认)

  • 单击 下一步: 检查/运行

图片

图26 创建空间要素

vi. 检查/运行界面

依照以上操作步骤,我们将会在最后一步得到1类实体(Location)和1类关系(VisitedBy)的创建。

图片

图27 实体关系

确认内容无误后,点击运行。

如果您当前的操作界面与下图不一致,请返回到相对应的配置界面进行修改,以免影响后续可视化和分析步骤的正常运行。

图片

图28 运行配置

完成运行后,在界面左侧的内容窗口我们可以看到, Location实体和VisitedBy关系已成功导入CovidKG_test知识图谱中。

图片

图29 知识图谱中的实体关系

3 在GeoScene Pro中管理知识图谱

通过操作上述步骤,我们便成功创建了一个迷你疫情知识库!

接下来,便可以针对我们感兴趣的问题在GeoScene Pro中对现有的知识图谱进行可视化、查询和分析等操作。

一、关键词搜索

现在可以关闭 加载表 界面,回到CovidKG_test 调查界面。我们可以通过点击相应实体/关系类型来查看知识图谱中的内容;例如:查看具体某个地点或者某人的属性信息。

图片

图30 通过点击查看实体关系

搜索关键词来定位感兴趣的实体和关系。

图片

图31 通过模糊检索查看实体关系

二、语义检索(Cypher脚本)

也可以通过Cypher脚本对知识图谱进行语义检索;例如查询知识图谱中的孤立病例(上一级未感染的阳性案例)。

  • 在 调查 功能区中定位 搜索与过滤

  • 在右侧 搜索与过滤 窗口中,点击查询标志 

    图片
  • 输入以下Cypher脚本,查询知识图谱中上一级接触者为阴性的阳性案例实体

  • 点击 应用

  • 查询结果会呈现在 结果列表 框中

    Cypher脚本:

MATCH    (c1:Cases)-[:Contacts]->(c2:Cases)WHERE    c1.测试结果='阴性' AND c2.测试结果='阳性' RETURN   c2,c1.姓名,c1.测试结果,c1.地址,c2.姓名,c2.测试结果,c2.地址ORDER BY c1.姓名,c2.姓名 ASC

图片

图32 语义检索

三、在链接图中可视化

如果我们想将上一步查询到的孤立病例的结果以链接图表的方式可视化:

  • 长按CTRL键,依次点击选中结果列表中返回的实体名称,如A10001

  • 右键任意一个被选中的实体名称

  • 展开 使用模板创建链接图表,选择 默认模板

图片

图33 使用模板创建链接图

3.1 修改主要图层样式

采用默认模板生成的链接图会赋予所有图层随机样式。下一步,我们将修改Cases 图层和Location图层的符号系统,让信息能够更直观的呈现,增强图表易读性。

回到链接图视图,在左侧内容窗格中展开所有图层,右键Cases图层,选择符号系统。在符号系统窗口中定位标志,单击,选择导入符号系统

符号系统图层框旁的文件夹标志。选择“图层样式文件”文件夹,点击Cases.lyrx文件,点击确定,完成导入。

重复上述步骤,选择 Location.lyrx 文件Location图层进行符号渲染。

图片

图34 修改图层样式

注意:Cases图层样式是依据实体中的测试结果和级别属性来对图层进行渲染。测试结果为阳性呈现为红底黑边的圆圈样式,若为阴性则呈现为灰底黑边的圆圈样式;级别分为0-3级,标注在圆圈中心。

3.2 展开孤立案例的“接触”关系

现在我们想用可视化的方式验证,查询结果是否正确,即查询到的案例实体的上一级接触者的检查结果是否都为阴性。参考一下步骤进行操作:

  • 在功能区中定位 选择,在下拉菜单中,切换光标到“选择并移动”模式,全选视图中所有实体

  • 在功能区中找到“扩展”选项,在下拉菜单中,选择“已过滤的展开”选项

  • 在弹出窗口中,选择 Contacts 关系,点击“已过滤的展开”窗口底部最右侧的标志

    图片

    ,导入与当前“孤立案例”实体有“接触”关系的所有其他“案例”实体。

在下图中,我们可以直观的看到,与红色圆点(阳性案例)有 Contacts(接触)关系的案例都只有一例,且皆为灰色(代表阴性)。证明查询结果无误。

但是,这依旧无法帮我们解答这6例孤立阳性案例是如何产生的。接下来,我们将通过相同的方式对孤立案例的到访关系进行下钻,探索一下涉及人员的所到地是否能给我们提供一些传染源头的启发。

图片

图35 接触关系展示

3.3 展开孤立案例的“到访”关系

  • 在功能区中定位 选择,在下拉菜单中,切换光标到“选择并移动”模式,全选视图中所有实体和关系

  • 在 “已过滤的展开”窗口中,选择  VisitedBy 关系,点击“已过滤的展开”窗口底部最右侧的标志

    图片

    ,导入“被”当前“案例”实体“拜访”过的所有“地点”实体。

在下图中,我们可以发现有一个地点被所有的孤立阳性案例都拜访过(Location实体与Cases实体之间存在VisitedBy关系)。在此,通过对现有知识图谱针对孤立案例的不同关系进行下钻,我们可以暂时推断出这些孤立的阳性案例的感染源可能来自于这个共同拜访过的地方。

图片

图36 到访关系展示

四、在地图中可视化

除了在链接图视图中展示实体与实体之间的关联关系外,我们还可以利用实体的空间属性,在地图上展示出这些实体关系在物理世界的分布位置。

  • 切换到“CovidKG_test”调查视图

  • 右键带有知识图谱图标

    图片

    的CovidKG_test 项目

  • 在下拉菜单中,展开 添加到新建项 选项,选择 地图(Location实体和Cases实体将会以要素图层的格式添加到新建地图中,VisitedBy关系和Contacts关系将会以表格形式添加到新建地图中)

  • 拖动 地图 标签页,将链接图与地图分屏展示

  • 在链接图视图中,选中 疑似感染源地点(所有阳性案例都到访过的地点)

  • 在功能区中定位 选择,点击“应用到”,在下拉菜单中,选择“地图

如下图所示,所有孤立案例共同到访过的地点在地图中呈现高亮显示,实现了数据在链接图与地图上的联动展示。链接图表补充了空间要素在地图中无法展示的关联关系,使得数据的呈现更加全面和丰富。 

图片

图37 链接图-地图联动展示

至此,我们便是对知识图谱这项技术以及GeoScene Knowledge的基础功能完成了入门级的探索。了解到了知识图谱不仅能为我们的数据提供了一种新型的管理模型,打破积年累月数据烟囱式发展形成的壁垒;还能通过建立各类数据之间的关系,挖掘一些数据之间潜在的联系,辅助我们更高效解决生活中那些看似复杂的问题。

M姐实验室说明:
无意中发现有人盗我文章发在CSDN还收费……所以我自己申请一个来发(第一次编辑还不熟练,给足自己进步空间了~~)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值