首页> 中国专利> 基于力引导图的知识图谱可视化方法、装置及电子设备

基于力引导图的知识图谱可视化方法、装置及电子设备

摘要

本申请公开了一种基于力引导图的知识图谱可视化方法、装置及电子设备。通过应用本申请的技术方案,能够为知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图。从而能够实现各个子节点与父节点之间形成均匀分布态势的力引导图,进而直观的为用户展示节点和连线不相重叠的力引导图,并依据该力引导图生成可视化的知识图谱,并依据该力引导图生成可视化的知识图谱。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-11

    授权

    发明专利权授予

  • 2023-02-14

    实质审查的生效 IPC(主分类):G06N 5/02 专利申请号:202211568648X 申请日:20221208

    实质审查的生效

  • 2023-01-20

    公开

    发明专利申请公布

说明书

技术领域

本申请中涉及知识图谱技术,尤其是一种基于力引导图的知识图谱可视化方法、装置及电子设备。

背景技术

知识图谱是指以图的形式描述客观世界中的概念、实体、事件及其之间关系的知识库。随着互联网时代的发展,信息呈爆炸式增长,将知识图谱中的数据直观展示出来成为越来越多领域的需求。

相关技术中,在web应用页面或者移动端的图表展示页面中,为了直观展示不同实体数据之间的关系结构,常常会采用力引导图来的方式向用户展示。其中,力引导图是一种基于物理仿真系统的关系型信息图,每个节点都相当于一个带有能量的粒子,依靠节点之间的相互作用力从无序随机的布局逐渐趋于平衡稳定。

然而,现有的力引导图的生成方式往往存在有因各个实体数据结构不统一、内置力设置不均衡所导致的力引导图中多个节点和连线重叠、分布不均匀的问题,这也导致依据其生成的知识图谱同样存在有缺陷。

发明内容

本申请实施例提供一种基于力引导图的知识图谱可视化方法、装置及电子设备。用以解决相关技术中存在的,力引导图中存在多个节点和连线重叠、分布不均匀的问题。

其中,根据本申请实施例的一个方面,提供的一种基于力引导图的知识图谱可视化方法,其中:

在目标网页中构建画布;

调取知识图谱数据,所述知识图谱数据包含父节点数据以及与所述父节点数据相关联的多个子节点数据;

基于所述父节点数据构建虚拟坐标系,并将所述多个子节点数据添加在所述虚拟坐标系上,得到待渲染虚拟坐标系,其中所述多个子节点数据均匀分布在所述父节点数据的周围;

将所述待渲染虚拟坐标系渲染到所述画布上,经过预设处理后得到力引导图,并对所述力引导图进行可视化处理,得到可视化知识图谱。

可选地,在基于本申请上述方法的另一个实施例中,所述基于所述父节点数据构建虚拟坐标系,包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点数据在所述虚拟坐标系的间隔角度,其中所述间隔角度为每个子节点均匀分布在所述父节点数据周围的情况下,相邻的两个子节点间在所述虚拟坐标系的间隔角度;

以及,

以所述父节点数据为中心点,构建所述虚拟坐标系,其中所述虚拟坐标系的尺寸小于等于所述画布的尺寸。

可选地,在基于本申请上述方法的另一个实施例中,在所述以所述父节点数据为中心点,构建所述虚拟坐标系之后,还包括:

在所述虚拟坐标系上,将所述多个子节点数据中的其中一个子节点数据添加在所述父节点数据的第一预设方向上;

按照预设排列规则,将所述多个子节点数据中的其他子节点数据以所述间隔角度分别添加在所述父节点数据的周围,得到所述待渲染虚拟坐标系;

其中,所述预设排列规则为顺时针排列规则,或,逆时针排列规则。

可选地,在基于本申请上述方法的另一个实施例中,所述将所述待渲染虚拟坐标系渲染到所述画布上,包括:

将所述待渲染虚拟坐标系中的父节点数据渲染到所述画布上;

基于所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系,将所述多个子节点数据渲染到包含有所述父节点数据的画布上;

其中,在所述画布与所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系相同。

可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待渲染虚拟坐标系渲染到所述画布上之后,还包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点的尺寸数据;以及,在每个子节点数据的第二预设方向上添加对应的节点描述文字。

可选地,在基于本申请上述方法的另一个实施例中,所述将所述待渲染虚拟坐标系渲染到所述画布上,经过预设处理后得到力引导图,包括:

将所述待渲染虚拟坐标系渲染到所述画布后,基于所述画布中的各个节点所表征的实体类型,选取与实体类型相匹配的色彩进行填充;以及,

在所述画布的预设位置处添加描述字段,所述描述字段用于描述所述力引导图中的索引信息、节点名称和用于表征节点实体类型的节点色彩;

对所述画布中的各个节点添加操作事件,所述操作事件包括鼠标点击事件、鼠标停留事件、鼠标圈起事件的其中至少一种。

可选地,在基于本申请上述方法的另一个实施例中,所述在目标网页中构建画布,包括:

响应于针对所述目标网页的访问请求,获取所述目标网页的宽度值以及高度值;

基于所述宽度值以及所述高度值,在目标网页中构建所述画布。

其中,根据本申请实施例的又一个方面,提供的一种基于力引导图的知识图谱可视化方法装置,其中:

获取模块,被配置为在目标网页中构建画布;

调取模块,被配置为调取知识图谱数据,所述知识图谱数据包含父节点数据以及与所述父节点数据相关联的多个子节点数据;

构建模块,被配置为基于所述父节点数据构建虚拟坐标系,并将所述多个子节点数据添加在所述虚拟坐标系上,得到待渲染虚拟坐标系,其中所述多个子节点数据均匀分布在所述父节点数据的周围;

生成模块,被配置为将所述待渲染虚拟坐标系渲染到所述画布上,经过预设处理后得到力引导图,并对所述力引导图进行可视化处理,得到可视化知识图谱。

根据本申请实施例的又一个方面,提供的一种电子设备,包括:

存储器,用于存储可执行指令;以及

显示器,用于与所述存储器以执行所述可执行指令从而完成上述任一所述基于力引导图的知识图谱可视化方法的操作。

根据本申请实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述基于力引导图的知识图谱可视化方法的操作。

本申请中,可以在目标网页中构建画布;调取知识图谱数据,知识图谱数据包含父节点数据以及与父节点数据相关联的多个子节点数据;基于父节点数据构建虚拟坐标系,并将多个子节点数据添加在虚拟坐标系上,得到待渲染虚拟坐标系,其中多个子节点数据均匀分布在父节点数据的周围;将待渲染虚拟坐标系渲染到画布上,并经过预设处理后得到力引导图后,对力引导图进行可视化处理,得到可视化知识图谱。通过应用本申请的技术方案,能够为知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图。从而能够实现各个子节点与父节点之间形成均匀分布态势的力引导图,进而直观的为用户展示节点和连线不相重叠的力引导图,并依据该力引导图生成可视化的知识图谱。

下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1示出了本申请一实施例所提供的一种基于力引导图的知识图谱可视化方法的示意图;

图2示出了本申请一实施例所提供的一种现有技术中,力引导图的显示示意图;

图3示出了本申请一实施例所提供的一种基于力引导图的知识图谱可视化方法的流程示意图;

图4示出了本申请一实施例所提供的一种力引导图的显示示意图;

图5示出了本申请一实施例所提供的另一种基于力引导图的知识图谱可视化方法的流程示意图;

图6示出了本申请一实施例所提供的一种电子装置的结构示意图;

图7示出了本申请一实施例所提供的一种电子设备的结构示意图;

图8示出了本申请一实施例所提供的一种存储介质的示意图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

需要说明的是,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应的随之改变。

下面结合图1-图5来描述根据本申请示例性实施方式的用于进行基于力引导图的知识图谱可视化方法。需要注意的是,下述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。

本申请还提出一种基于力引导图的知识图谱可视化方法、装置及电子设备。

图1示意性地示出了根据本申请实施方式的一种基于力引导图的知识图谱可视化方法的流程示意图。如图1所示,该方法包括:

S101,在目标网页中构建画布。

S102,调取知识图谱数据,知识图谱数据包含父节点数据以及与父节点数据相关联的多个子节点数据。

S103,基于父节点数据构建虚拟坐标系,并将多个子节点数据添加在虚拟坐标系上,得到待渲染虚拟坐标系,其中多个子节点数据均匀分布在父节点数据的周围。

S104,将待渲染虚拟坐标系渲染到画布上,并经过预设处理后得到力引导图。

相关技术中,力引导图是一种基于物理仿真系统的关系型信息图,每个节点都相当于一个带有能量的粒子,依靠节点之间的相互作用力从无序随机的布局逐渐趋于平衡稳定。另外,目前知识图谱可视化大多是基于d3.js来实现的力引导图的生成。

其中,对于D3.js来说,其有几种内置的经典力模型:中心力、碰撞力、牵引力、N体力、方向力,这些力模型之间是可以重复叠加的。现有技术通常设置几个不同的力,借助它们的相互作用让节点分布达到理想的效果。

进一步的,在力引导图的实际生成过程中,力引导图中节点的布局是比较难调整的,只能通过调整内置力的大小和迭代次数改变节点的布局。

然而,这种方式有以下几个缺点:

首先,参数较难调整,参数设置不当,会导致力引导图中的节点分布不均匀。如图2所示,这种情况下不仅不美观,且也不能改向用户清晰且直观的展示力引导图中的各个节点数据。另外,由于力引导图中的每组参数只能针对类似的知识图谱数据产生较好的展示效果,如果节点数量和关系结构相差较大,得到的效果也并不理想。

针对上述存在的问题,本申请实施例提供一种基于力引导图的知识图谱可视化方法,其思想为对知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图,以使后续根据该力引导图,得到一种优化后的可视化知识图谱。

如图3所示,以下对本申请提出的基于力引导图的知识图谱可视化方法进行具体解释:

步骤1、响应于针对目标网页的访问请求,获取目标网页的宽度值以及高度值。

步骤2、基于宽度值以及高度值,在目标网页中构建画布。

其中,本申请实施例需要首先在访问网页中预设一个画布,并在预加载阶段中调用window对象获取设备屏幕的宽度值和高度值,并将不大于该宽度值以及高度值的数值赋值给画布,以实现响应式布局。

一种方式中,画布可以为通过xml语言定义格式的可缩放矢量图形(ScalableVector Graphics svg)画布。

步骤3、调取知识图谱数据,知识图谱数据包含父节点数据以及与父节点数据相关联的多个子节点数据。

进一步的,本申请在构建画布之后,即可向后端发起http请求,以获取知识图谱数据中各实体数据的节点和边的数据及属性,并请求所有的本体列表。从而得到所有的父节点数据以及与父节点数据相关联的多个子节点数据。

步骤4、基于子节点数据的数量,确定每个子节点数据在虚拟坐标系的间隔角度。

其中,间隔角度即为确保每个子节点均匀分布在父节点数据周围的情况下,相邻的两个子节点间在虚拟坐标系的间隔角度。作为示例的,间隔角度可以为30度、40度、45度等等。

一种方式中,每个父节点相关联的子节点数据数量越多,则每个子节点间的间隔角度即越少。而如果每个父节点相关联的子节点数据数量越少,则每个子节点间的间隔角度即越多。

举例来说,例如如图4所示,一个父节点数据(运行班)关联有4个子节点数据(南京运行组、天津运行组、北京运行组、上海运行组)。由此可以看出,每个子节点间的间隔角度在45度的情况下,可以实现每个子节点均匀分布在父节点数据周围的目的。

再举例来说,如果一个父节点数据关联有10个子节点数据,那么每个子节点间的间隔角度在10度的情况下,则可以实现每个子节点均匀分布在父节点数据周围的目的。

一种方式中,计算每个子节点之间的间隔角度可以依靠下述公式得到:

其中,为圆的弧度,n为当前父节点拥有的子节点数量,α为每个子节点间隔的角度。

步骤5、以父节点数据为中心点,构建虚拟坐标系,其中虚拟坐标系的尺寸小于等于画布的尺寸。

步骤6、在虚拟坐标系上,将多个子节点数据中的其中一个子节点数据添加在父节点数据的第一预设方向上。

步骤7、按照预设排列规则,将多个子节点数据中的其他子节点数据以间隔角度分别添加在父节点数据的周围,得到待渲染虚拟坐标系。

其中,预设排列规则为顺时针排列规则,或,逆时针排列规则。

一种方式中,本申请实施例中,需要以父节点为中心点建立一个虚拟坐标系。并将第一个子节点固定在父节点的某一个方向上(即第一预设方向,例如为左侧或右侧)的位置上。

其中,子节点与父节点之间的距离可以为:

(0,d+k*n)。

其中,d是常量,默认为150px,k是常量系数,默认为0.5,n为当前父节点拥有的子节点数目。

需要说明的是,该第一个子节点可以为多个子节点数据中的任意一个子节点。一种方式中,第一个子节点可以根据知识图谱数据来确定。

另外多个子节点数据中的其他子节点数据则可以按照顺时针方向,或逆时针方向依次排列(每个子节点间的间隔角度为上述确定的间隔角度)。其中,第n个子节点对应的坐标为:

其中,n·α为第n个节点与第一个节点之间的角度。

一种方式中,父节点和其子节点的坐标都是根据对虚拟坐标系而言的,因此要把虚拟坐标系渲染到整个svg图中。需要注意的是,子节点的坐标需要后于父节点的位置确定。

作为示例的,假设父节点在虚拟坐标系的位置为:

那么子节点在整虚拟坐标系中的位置为:

步骤8、将待渲染虚拟坐标系中的父节点数据渲染到画布上。

步骤9、基于待渲染虚拟坐标系中,父节点数据与各个子节点数据的位置关系,将多个子节点数据渲染到包含有父节点数据的画布上。

其中,在所述画布与所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系相同

一种方式中,本申请实施例中,每一个子节点和其对应的节点描述文字是以一个组的形式出现的(g分组)。

其中,这个组的坐标与节点的坐标是相同的,节点的大小允许用户自定义。作为示例的,计算公式为:

其中,r为节点的半径,λ为基本值(默认10px),β为子节点的数量。

步骤10、将待渲染虚拟坐标系渲染到画布后,对画布中的各个节点进行填充色彩。

一种方式中,各个节点的色彩填充规则为,基于各个节点所表征的实体类型,选取与实体类型相匹配的色彩进行填充。也即,不同本体的节点需要对应填充不同的颜色。作为示例的,例如父节点与子节点对应的实体类型不同,那么对应填充的色彩可以一个为红色,一个为黄色等。

一种方式中,本申请实施例对画布中包含的,不同的实体数据下的节点填充不同的颜色用于区分,具体步骤为:

首先,设置一个颜色比例尺,默认使用d3.schemeYlGn颜色比例尺,同时也支持遵循d3-scale-chromatic语法规则自定义其他颜色方案。

其中,将节点的类别个数记为θ。在初始化颜色比例尺时,使用线性映射将 [0, θ]线性映射到颜色比例尺 [0,1] 中。

最后,绘制节点色彩时,首先判断该节点的本体在本体列表中的描述字段(例如为父节点还是子节点),记为i。然后将节点的颜色设置为对应实体类型相匹配的颜色。作为示例的,例如可以将父节点的色彩填充为红色,子节点的色彩填充为黑色等等。

步骤11、在画布的预设位置处添加描述字段,描述字段用于描述力引导图中的索引信息、节点名称和用于表征节点实体类型的节点色彩。

一种方式中,本申请实施例对画布的预设位置处添加描述字段。例如可以为在画布的左下角或右下角添加该描述字段。

例如,描述字段定位在整个svg图的左下角,展示每个本体的颜色和名称。这部分使用的是一个对象数组,其中每个对象有三个属性:索引信息、节点名称和节点色彩。在绘制时首先绘制一个g分组,用来放置节点和文字两部分内容,每个g分组的坐标按照如下公式确定:

其中,x、y分别为横纵坐标,Height为整个svg图的高度,γ为描述字段距离svg图底部的间隔(默认20px),20是指每个分组的高度,i表示该分组的索引。在每个g分组内部绘制的节点半径为6,填充对应的颜色并在指定的偏移位置绘制本体名称文字。

步骤12、对画布中的各个节点添加操作事件,操作事件包括鼠标点击事件、鼠标停留事件、鼠标圈起事件的其中至少一种。

一种方式中,本申请实施例可以对画布中的各个节点添加操作事件。例如,单击节点展示节点信息,双击展开节点关系。

一种方式中,为了避免单双击事件绑定在同一个元素上引起冲突,本申请采用的方法为:

1)定义一个全局变量click_store用来存储单击事件;

2)在单击事件触发的函数中首先清除已有的click_store中的内容,再将整个单击事件将要触发的指令保存到一个延时器中,设置300毫秒后运行,并将该延时器存储到click_store中;

3)在双击事件触发的函数中,只清除click_store中的内容,对双击事件中执行的指令不再进行延时处理。

步骤13、对力引导图进行可视化处理,得到可视化知识图谱。

本申请中,可以在目标网页中构建画布;调取知识图谱数据,知识图谱数据包含父节点数据以及与父节点数据相关联的多个子节点数据;基于父节点数据构建虚拟坐标系,并将多个子节点数据添加在虚拟坐标系上,得到待渲染虚拟坐标系,其中多个子节点数据均匀分布在父节点数据的周围;将待渲染虚拟坐标系渲染到画布上,并经过预设处理得到力引导图后,对力引导图进行可视化处理,得到可视化知识图谱。

通过应用本申请的技术方案,能够为知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图。从而能够实现各个子节点与父节点之间形成均匀分布态势的力引导图,进而直观的为用户展示节点和连线不相重叠的力引导图,并依据该力引导图生成可视化的知识图谱。

可选地,在基于本申请上述方法的另一个实施例中,所述基于所述父节点数据构建虚拟坐标系,包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点数据在所述虚拟坐标系的间隔角度,其中所述间隔角度为每个子节点均匀分布在所述父节点数据周围的情况下,相邻的两个子节点间在所述虚拟坐标系的间隔角度;

以及,

以所述父节点数据为中心点,构建所述虚拟坐标系,其中所述虚拟坐标系的尺寸小于等于所述画布的尺寸。

可选地,在基于本申请上述方法的另一个实施例中,在所述以所述父节点数据为中心点,构建所述虚拟坐标系之后,还包括:

在所述虚拟坐标系上,将所述多个子节点数据中的其中一个子节点数据添加在所述父节点数据的第一预设方向上;

按照预设排列规则,将所述多个子节点数据中的其他子节点数据以所述间隔角度分别添加在所述父节点数据的周围,得到所述待渲染虚拟坐标系;

其中,所述预设排列规则为顺时针排列规则,或,逆时针排列规则。

可选地,在基于本申请上述方法的另一个实施例中,所述将所述待渲染虚拟坐标系渲染到所述画布上,包括:

将所述待渲染虚拟坐标系中的父节点数据渲染到所述画布上;

基于所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系,将所述多个子节点数据渲染到包含有所述父节点数据的画布上;

其中,在所述画布与所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系相同。

可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待渲染虚拟坐标系渲染到所述画布上之后,还包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点的尺寸数据;以及,在每个子节点数据的第二预设方向上添加对应的节点描述文字。

可选地,在基于本申请上述方法的另一个实施例中,所述将所述待渲染虚拟坐标系渲染到所述画布上,经过预设处理后得到力引导图,包括:

将所述待渲染虚拟坐标系渲染到所述画布后,基于所述画布中的各个节点所表征的实体类型,选取与实体类型相匹配的色彩进行填充;以及,

在所述画布的预设位置处添加描述字段,所述描述字段用于描述所述力引导图中的索引信息、节点名称和用于表征节点实体类型的节点色彩;

对所述画布中的各个节点添加操作事件,所述操作事件包括鼠标点击事件、鼠标停留事件、鼠标圈起事件的其中至少一种。

可选地,在基于本申请上述方法的另一个实施例中,所述在目标网页中构建画布,包括:

响应于针对所述目标网页的访问请求,获取所述目标网页的宽度值以及高度值;

基于所述宽度值以及所述高度值,在目标网页中构建所述画布。

可以理解的,在相对于以往技术中生成的力引导图来说,如果要使力引导图中的子节点均匀分布,需要设置多个内置力,通过他们的相互作用让子节点分布在根节点周围,这种方式容易受到节点数量和关系结构的影响,从而导致一种设置好的节点分布模式可能在有些模型中表现的很好。然而,在另一些模型中可能会出现节点重叠或节点之间斥力太大造成节点分布太远等问题,影响数据展示和用户体验。

一种方式中,如图5所示,本申请实施例可以为知识图谱数据中所有父节点建立虚拟坐标系,以获得子节点基于父节点的相对位置。再将每个单独的虚拟坐标系投射到整个svg图中,重新渲染节点坐标,实现力引导图中子节点围绕父节点均匀分布的效果。

通过应用本申请的技术方案,能够为知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图。从而能够实现各个子节点与父节点之间形成均匀分布态势的力引导图,进而直观的为用户展示节点和连线不相重叠的力引导图,并依据该力引导图生成可视化的知识图谱。

可选的,在本申请的另外一种实施方式中,如图6所示,本申请还提供一种基于力引导图的知识图谱可视化方法装置。其中包括:

获取模块201,被配置为在目标网页中构建画布;

调取模块202,被配置为调取知识图谱数据,所述知识图谱数据包含父节点数据以及与所述父节点数据相关联的多个子节点数据;

构建模块203,被配置为基于所述父节点数据构建虚拟坐标系,并将所述多个子节点数据添加在所述虚拟坐标系上,得到待渲染虚拟坐标系,其中所述多个子节点数据均匀分布在所述父节点数据的周围;

生成模块204,被配置为将所述待渲染虚拟坐标系渲染到所述画布上,经过预设处理后得到力引导图,并对所述力引导图进行可视化处理,得到可视化知识图谱。

通过应用本申请的技术方案,能够为知识图谱数据中的父节点建立一个虚拟坐标系,并将与该父节点相关联的子节点在虚拟坐标系中与其进行固定间隔角度的坐标绑定,再将该坐标系渲染到预先构建的画布视图中,以最终得到一个由子节点围绕父节点均匀分布,且各个节点之间覆盖率低的力引导图。从而能够实现各个子节点与父节点之间形成均匀分布态势的力引导图,进而直观的为用户展示节点和连线不相重叠的力引导图,并依据该力引导图生成可视化的知识图谱。

在本申请的另外一种实施方式中,调取模块202,被配置执行的步骤包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点数据在所述虚拟坐标系的间隔角度,其中所述间隔角度为每个子节点均匀分布在所述父节点数据周围的情况下,相邻的两个子节点间在所述虚拟坐标系的间隔角度;

以及,

以所述父节点数据为中心点,构建所述虚拟坐标系,其中所述虚拟坐标系的尺寸小于等于所述画布的尺寸。

在本申请的另外一种实施方式中,构建模块203,被配置执行的步骤包括:

在所述虚拟坐标系上,将所述多个子节点数据中的其中一个子节点数据添加在所述父节点数据的第一预设方向上;

按照预设排列规则,将所述多个子节点数据中的其他子节点数据以所述间隔角度分别添加在所述父节点数据的周围,得到所述待渲染虚拟坐标系;

其中,所述预设排列规则为顺时针排列规则,或,逆时针排列规则。

在本申请的另外一种实施方式中,构建模块203,被配置执行的步骤包括:

将所述待渲染虚拟坐标系中的父节点数据渲染到所述画布上;

基于所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系,将所述多个子节点数据渲染到包含有所述父节点数据的画布上;

其中,在所述画布与所述待渲染虚拟坐标系中,所述父节点数据与各个子节点数据的位置关系相同。

在本申请的另外一种实施方式中,生成模块204,被配置执行的步骤包括:

确定所述知识图谱数据中记录的,所述子节点数据的数量;

基于所述子节点数据的数量,确定每个子节点的尺寸数据;以及,在每个子节点数据的第二预设方向上添加对应的节点描述文字。

在本申请的另外一种实施方式中,生成模块204,被配置执行的步骤包括:

将所述待渲染虚拟坐标系渲染到所述画布后,基于所述画布中的各个节点所表征的实体类型,选取与实体类型相匹配的色彩进行填充;以及,

在所述画布的预设位置处添加描述字段,所述描述字段用于描述所述力引导图中的索引信息、节点名称和用于表征节点实体类型的节点色彩;

对所述画布中的各个节点添加操作事件,所述操作事件包括鼠标点击事件、鼠标停留事件、鼠标圈起事件的其中至少一种。

在本申请的另外一种实施方式中,获取模块201,被配置执行的步骤包括:

响应于针对所述目标网页的访问请求,获取所述目标网页的宽度值以及高度值;

基于所述宽度值以及所述高度值,在目标网页中构建所述画布。

本申请实施方式还提供一种电子设备,以执行上述基于力引导图的知识图谱可视化方法。请参考图7,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图7所示,电子设备3包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述任一实施方式所提供的基于力引导图的知识图谱可视化方法。

其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。

总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述数据识别的方法可以应用于处理器300中,或者由处理器300实现。

处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

一种方式中,处理器300还可以为图形处理器(graphics processing unit,GPU)。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的电子设备与本申请实施例提供的基于力引导图的知识图谱可视化方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。

本申请实施方式还提供一种与前述实施方式所提供的基于力引导图的知识图谱可视化方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于力引导图的知识图谱可视化方法。

需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的数据识别的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。

需要说明的是:

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号