掌桥专利:专业的专利平台
掌桥专利
首页

知识图谱可视化方法、装置、设备及计算机可读介质

文献发布时间:2023-06-19 12:18:04


知识图谱可视化方法、装置、设备及计算机可读介质

技术领域

本申请涉及知识图谱技术领域,尤其涉及一种知识图谱可视化方法、装置、设备及计算机可读介质。

背景技术

随着知识图谱技术的不断探索和发展,以及知识图谱在未来的感知和认知更多的赋能,知识图谱的可视化技术也成为目前研究的热点。

目前,相关技术中,知识图谱的展现形式主要以echarts和d3框架为代表的力导相图、环形布局图进行展示,虽然能够很好的展示关系图谱,但是无论是力导向布局图还是环形布局图,都是2D的形式展示,而平面效果图视角单一,不能带来全方位感受,一旦图谱的节点数量略微增多,则该区域的图谱就很难对节点的信息进行清晰有效的显示,甚至无法有效显示节点名称等最基本的信息,用户只能通过节点颜色、形状等特征对节点的种类有一定的认知,并通过鼠标悬停、点击等交互方式对节点进行逐个操作来寻找所需的节点,极大的影响用户的辨识。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请提供了一种知识图谱可视化方法、装置、设备及计算机可读介质,以解决平面效果图无法对节点信息进行清晰有效的展示的技术问题。

根据本申请实施例的一个方面,本申请提供了一种知识图谱可视化方法,包括:通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间;在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数;利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。

可选地,三维空间中包括虚拟摄像机、场景元素、渲染器中的至少一种,通过三维引擎创建目标场景容器包括:调用第一函数创建预设场景,调用第二函数创建虚拟摄像机,调用第三函数创建渲染器,预设场景用于表示三维空间和三维空间中的场景元素,虚拟摄像机用于获取三维空间的画面,渲染器用于将画面中的物体渲染至显示界面;将预设场景、虚拟摄像机以及渲染器添加到预设容器,得到目标场景容器。

可选地,调用第三函数创建渲染器包括:将透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个传递至第三函数,以利用第三函数按照透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个创建渲染器,第三函数包括目标三维库中用于创建渲染器的构造函数,目标三维库为目标开发平台对开发三维场景的接口封装得到的算法库。

可选地,调用第二函数创建虚拟摄像机包括:将视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个传递至第二函数,以利用第二函数按照视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个创建虚拟摄像机,第二函数包括目标三维库中用于创建虚拟摄像机的构造函数。

可选地,创建表示所述三维空间的预设场景之后,所述方法还包括按照如下方式中的至少一种为预设场景添加旋转功能:通过第一循环使预设场景绕x轴旋转,第一循环为通过预设场景的场景对象将x轴作为参数对第四函数进行调用得到的,第四函数为目标三维库中库函数,用于提供旋转功能;通过第二循环使预设场景绕y轴旋转,第二循环为通过预设场景的场景对象将y轴作为参数对第四函数进行调用得到的;通过第三循环使预设场景绕z轴旋转,第三循环为通过预设场景的场景对象将z轴作为参数对第四函数进行调用得到的。

可选地,在目标场景容器的三维空间中创建第一多面体背景球包括:将球体半径和目标倍数作为参数传递至第五函数,以利用第五函数按照球体半径和目标倍数创建第一多面体背景球,其中,组成第一多面体背景球的平面的数量为预设面数的目标倍数倍,第五函数包括目标三维库中用于创建多面体背景球的构造函数。

可选地,利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线包括:将关系数据随机存放到第一多面体背景球顶点的三维坐标中,以将第一多面体背景球的顶点作为知识图谱的节点;为每个存放有关系数据的节点创建节点文字标签和关系文字标签,节点文字标签用于指示对应节点中存放的关系数据的内容,关系文字标签用于指示对应节点中存放的关系数据与其他节点的关系数据之间的关联关系;从保存具有关联关系的关系数据的两个节点中,选取一个作为起始点,另一个作为终止点,构建从起始点连接至终止点的关系线。

可选地,在关系数据的数量大于第一多面体背景球的顶点数量的情况下,增加目标倍数,以重新创建具有更多顶点的第二多面体背景球。

可选地,添加关系线之后,所述方法还包括:为存放关系数据的节点添加节点点击事件和关系点击事件,节点点击事件包括对节点执行查看、新增数据、删除数据、修改节点颜色以及修改节点形状中的至少一种操作;为每一种关系点击事件添加交互控件。

根据本申请实施例的另一方面,本申请提供了一种知识图谱可视化装置,包括:场景容器创建模块,用于通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间;多面体背景球创建模块,用于在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数;知识图谱导入模块,用于利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。

根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。

根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。

本申请实施例提供的上述技术方案与相关技术相比具有如下优点:

本申请技术方案为通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间;在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数;利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。本申请采用基于WebGL的知识图谱3d可视化方法,通过多面体背景球来承载知识图谱的关系数据和数据之间的关联关系,能够全方位的展示三维关系图谱,向用户展示更多的知识图谱信息,解决了平面效果图无法对节点信息进行清晰有效的展示的技术问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本申请实施例提供的一种可选的知识图谱可视化方法硬件环境示意图;

图2为根据本申请实施例提供的一种可选的知识图谱可视化方法流程图;

图3为一种可选的三维场景开发组件关系示意图;

图4为一种视觉形成示意图;

图5为本申请实施例提供的一种可选的摄像机获取三维场景画面的示意图;

图6为本申请实施例提供的一种可选的多面体背景球示意图;

图7为本申请实施例提供的一种可选的多面体背景球示意图;

图8为本申请实施例提供的一种可选的知识图谱可视化示意图;

图9为本申请实施例提供的一种可选的知识图谱可视化装置框图;

图10为本申请实施例提供的一种可选的电子设备结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

3D引擎:3D引擎是将现实中的物质抽象为多边形或者各种曲线等表现形式,在计算机中进行相关计算并输出最终图像的算法实现的集合。3D引擎就像是在计算机内建立一个“真实的世界”。

渲染器:渲染器是3D引擎的核心部分,是高级全局照明渲染插件。它完成将3D物体绘制到屏幕上的任务。渲染器分为硬件渲染器和软件渲染器组成。

场景容器:由于3D引擎可能会用来管理一些庞大的3D世界,在这个世界中物体与物体之间通常存在一些相关/从属/影响与被影响关系,如何组织这些关系,并确切的将这些关系与3D引擎的其他功能联系起来,就是场景管理需要完成的工作,而场景管理的工作就是在场景容器中进行。场景管理首先需要考虑如果表达场景中物体的关联关系,这部分通常是由场景图来实现的。通过一个一对多的树形结构已经可以满足要求,当然考虑到数据层的共享和维护,允许子树进行Clone也是前期设计时需要考虑的一个方面。再此之后,就需要考虑物体之间材质的继承关系,动态环境如何嵌入到你选择的场景图中。在一个考虑到交互和触发机制的引擎中,还需要考虑物体之间如何发送消息。(比如一个结合了物理引擎的场景)。实际上在整个引擎中你所涉及到的各种算法和设计,都或多或少的会和场景管理发生联系。比如在一个实现动态光影的引擎中,物体之间如何实现相互遮挡,光源的影响范围如何在场景图上继承,都是在设计时需要考虑的问题。

WebGL:WebGL(Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。

相关技术中,知识图谱的展现形式主要以echarts和d3框架为代表的力导相图、环形布局图进行展示,虽然能够很好的展示关系图谱,但是无论是力导向布局图还是环形布局图,都是2D的形式展示,而平面效果图视角单一,不能带来全方位感受,一旦图谱的节点数量略微增多,则该区域的图谱就很难对节点的信息进行清晰有效的显示,甚至无法有效显示节点名称等最基本的信息,用户只能通过节点颜色、形状等特征对节点的种类有一定的认知,并通过鼠标悬停、点击等交互方式对节点进行逐个操作来寻找所需的节点,极大的影响用户的辨识。

为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种知识图谱可视化方法的实施例。本申请技术方案提供了一种基于WebGL的知识图谱3d可视化方法,能够全方位的展示三维关系图谱,用户可以点击关系节点自由拖动旋转以及点击显示详细信息,可以对知识图谱交互操作更加友好透彻。

可选地,在本申请实施例中,上述方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。

本申请实施例中的一种方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:

步骤S202,通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间。

本申请实施例中,三维引擎可以采用Three.js,还可以采用unity3d。Three.js是一款运行在浏览器中的3D引擎,用户可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。Three.js是使用JavaScript对WebGL接口进行封装与简化而形成的一个易用的3D库。WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面。

本申请实施例中,Three.js的基本组件关系如图3所示。场景(Scene)中包括光源(Light)、物体(Objects),物体中包括几何形状(Geometry)、材料(Material)、材质(Texture)。相机(Camera)获取场景画面,由渲染器(Renderer)将画面中的物体实时渲染至视图(View)上,该视图即为用户看到的画面。画面中的元素可以由画布(Canvas)来绘制,绘制对象可以是可缩放矢量图形。

人眼的视觉形成如图4所示,Three.js的基本组件关系是模拟人眼实觉形成而建立的。世界中的光和物体通过眼睛在视觉神经中枢形成视觉。

可选地,三维空间中包括虚拟摄像机、场景元素、渲染器中的至少一种,通过三维引擎创建目标场景容器包括:调用第一函数创建预设场景,调用第二函数创建虚拟摄像机,调用第三函数创建渲染器,预设场景用于表示三维空间和三维空间中的场景元素,虚拟摄像机用于获取三维空间的画面,渲染器用于将画面中的物体渲染至显示界面;将预设场景、虚拟摄像机以及渲染器添加到预设容器,得到目标场景容器。

本申请实施例中,3D软件里面的虚拟摄像机摄影机几乎没有真实摄影的任何缺点,虚拟摄像机没有重量,没有尺寸,可以穿过任何墙壁地板,可以无限制的运动。虚拟摄像机可以模拟出镜头畸变、像差、慧差、光斑、拖影、胶片的颗粒度、运动模糊、景深、焦距以及肩扛摄影机的运动感等等。虚拟摄像机有无限尺度的感光度,因为一切由渲染器决定。场景元素包括背景、各式各样的物体、天空等。渲染器是3D引擎的核心部分,是高级全局照明渲染插件。它完成将3D物体绘制到屏幕上的任务。渲染器分为硬件渲染器和软件渲染器组成。

第一函数可以是Three.js提供的构造函数THREE.Scene。

第二函数可以是Three.js提供的构造函数PerspectiveCamera。通过该构造函数创建的虚拟摄像机具有透视效果。

作为一种可选的实施方式,调用第二函数创建虚拟摄像机包括:将视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个传递至第二函数,以利用第二函数按照视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个创建虚拟摄像机,第二函数包括目标三维库中用于创建虚拟摄像机的构造函数。

本申请实施例中,虚拟摄像机的设置可以如图5所示,虚拟摄像机的构造函数PerspectiveCamera的参数可以是fov、aspect、near、far四个属性值。fov表示视场,视场就是能够看到的角度范围,人的眼睛大约能够看到180度的视场,视角大小设置要根据具体应用,一般游戏会设置60~90度,默认值为45。aspect表示渲染窗口的长宽比,如果一个网页上只有一个全屏的canvas画布且画布上只有一个窗口,那么aspect的值就是网页窗口客户区的宽高比:window.innerWidth/window.innerHeight。near属性表示的是从距离相机多远的位置开始渲染,即开始渲染距离,一般情况会设置一个很小的值,默认值为0.1。在开始渲染距离对视场进行切割,可以得到近裁截面。far属性表示的是距离相机多远的位置截止渲染,即截止渲染距离,如果设置的值偏小,会有部分场景看不到,far属性的默认值为1000。在截止渲染距离对视场进行切割,可以得到远裁截面。视场范围内的网络模型为三维物体的模型。

第三函数可以是Three.js提供的构造函数WebGLRenderer。

作为一种可选的实施方式,调用第三函数创建渲染器包括:将透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个传递至第三函数,以利用第三函数按照透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个创建渲染器,第三函数包括目标三维库中用于创建渲染器的构造函数,目标三维库为目标开发平台对开发三维场景的接口封装得到的算法库。

本申请实施例中,目标三维库即为Three.js,目标开发平台为JavaScript。开发三维场景的接口即为WebGL接口。

可选地,创建预设场景之后,所述方法还包括按照如下方式中的至少一种对预设场景进行旋转:

通过第一循环使预设场景绕x轴旋转,第一循环为通过预设场景的场景对象将x轴作为参数对第四函数进行调用得到的,第四函数为目标三维库中库函数,用于提供旋转功能;

通过第二循环使预设场景绕y轴旋转,第二循环为通过预设场景的场景对象将y轴作为参数对第四函数进行调用得到的;

通过第三循环使预设场景绕z轴旋转,第三循环为通过预设场景的场景对象将z轴作为参数对第四函数进行调用得到的。

本申请实施例中,可以通过animate函数创建循环。第四函数可以是Three.js提供的库函数rotation。通过rotation函数可以设置场景的旋转,例如scene.rotation.y。对场景进行旋转会使摄像机捕捉的画面发生变化,为了使画面平滑,需要使渲染器高频绘制场景。

步骤S204,在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数。

本申请实施例中,第一多面体背景球为多个相同的平面所围成的闭合球体,所述相同的平面为大小相同、形状相同。由此得到的多面体背景球的表面存在多个平面相交形成的顶点,组成第一多面体背景球的平面的数量为预设面数,预设面数可以设置为20,即得到20面背景球。

作为一种可选的实施方式,在目标场景容器的三维空间中创建第一多面体背景球包括:将球体半径和目标倍数作为参数传递至第五函数,以利用第五函数按照球体半径和目标倍数创建第一多面体背景球,其中,组成第一多面体背景球的平面的数量为预设面数的目标倍数倍,第五函数包括目标三维库中用于创建多面体背景球的构造函数。

本申请实施例中,第五函数可以是Three.js提供的构造函数THREE.IcosahedronGeometry。该函数的参数可以包括球体半径和倍数。倍数默认是1,设置为n时,几何体的面是预设面数的n倍,如图6所示为按照预设面数为20、倍数为1创建得到的20面背景球。图中每个面均为相同的三角形,该20面背景球的顶点数为42。

可选地,在关系数据的数量大于第一多面体背景球的顶点数量的情况下,增加目标倍数,以重新创建具有更多顶点的第二多面体背景球。

本申请实施例中,所要展示的知识图谱的关系数据的数量大于第一多面体背景球的顶点时,需要增加目标倍数,从而创建由更多平面组成的第二多面体背景球,该第二多面体背景球的顶点也相应增加,以使得关系数据能够全部展示在球体的顶点上。目标倍数与顶点数量的对应关系为1-42,2-162,3-642,4-2562等。如图7所示为按照预设面数为20、倍数为2创建得到的40面背景球。

步骤S206,利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。

可选地,利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线包括:将关系数据随机存放到第一多面体背景球顶点的三维坐标中,以将第一多面体背景球的顶点作为知识图谱的节点;为每个存放有关系数据的节点创建节点文字标签和关系文字标签,节点文字标签用于指示对应节点中存放的关系数据的内容,关系文字标签用于指示对应节点中存放的关系数据与其他节点的关系数据之间的关联关系;从保存具有关联关系的关系数据的两个节点中,选取一个作为起始点,另一个作为终止点,构建从起始点连接至终止点的关系线。

本申请实施例中,得到第一多面体背景球之后,就得到了在三维空间中展示知识图谱的基础,此时需要将知识图谱中的关系数据添加到第一多面体背景球的顶点上,以将第一多面体背景球的顶点作为知识图谱的节点。可以通过canvas画布绘制自定义贴图,该自定义贴图包括节点文字标签和关系文字标签。节点文字标签可以是节点的内容,如人员姓名、物体名称、电影名称、企业名称等。关系文字标签可以是节点与节点之间的关联关系,如人员社会关系、企业关联关系、电影票房影响关系等等。构造节点之间的关系线可以通过Three.js提供的构造函数THREE.LineCurve实现。该函数为起始点至终止点创建关系线。如图8所示为将以人员及人员之间的社会关系构建的知识图谱导入到多面体背景球进行展示的示意。用户可以旋转该多面体背景球,从而多方位、立体地对该知识图谱进行观察。

可选地,添加关系线之后,所述方法还包括:为存放关系数据的节点添加节点点击事件和关系点击事件,节点点击事件包括对节点执行查看、新增数据、删除数据、修改节点颜色以及修改节点形状中的至少一种操作;为每一种关系点击事件添加交互控件。

本申请实施例中,可以为每个节点设置鼠标点击事件,如查看、新增数据、删除数据、修改节点颜色以及修改节点形状。还可以设置鼠标悬停事件,如鼠标悬停时展示简介信息等。

采用本神其技术方案,使得关系图谱可以通过三维模型来呈现,用户体验度高,互动性强,直观性更好。

根据本申请实施例的又一方面,如图9所示,提供了一种知识图谱可视化装置,包括:

场景容器创建模块901,用于通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间;

多面体背景球创建模块903,用于在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数;

知识图谱导入模块905,用于利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。

需要说明的是,该实施例中的场景容器创建模块901可以用于执行本申请实施例中的步骤S202,该实施例中的多面体背景球创建模块903可以用于执行本申请实施例中的步骤S204,该实施例中的知识图谱导入模块905可以用于执行本申请实施例中的步骤S206。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

可选地,该场景容器创建模块,具体用于:调用第一函数创建预设场景,调用第二函数创建虚拟摄像机,调用第三函数创建渲染器,预设场景用于表示三维空间和三维空间中的场景元素,虚拟摄像机用于获取三维空间的画面,渲染器用于将画面中的物体渲染至显示界面;将预设场景、虚拟摄像机以及渲染器添加到预设容器,得到目标场景容器。

可选地,该场景容器创建模块,具体用于:将透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个传递至第三函数,以利用第三函数按照透明度参数、抗锯齿参数、设备像素比以及颜色参数中的至少一个创建渲染器,第三函数包括目标三维库中用于创建渲染器的构造函数,目标三维库为目标开发平台对开发三维场景的接口封装得到的算法库。

可选地,该场景容器创建模块,具体用于:将视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个传递至第二函数,以利用第二函数按照视场参数、窗口长宽比、开始渲染距离以及截止渲染距离中的至少一个创建虚拟摄像机,第二函数包括目标三维库中用于创建虚拟摄像机的构造函数。

可选地,该场景容器创建模块,还用于:通过第一循环使预设场景绕x轴旋转,第一循环为通过预设场景的场景对象将x轴作为参数对第四函数进行调用得到的,第四函数为目标三维库中库函数,用于提供旋转功能;通过第二循环使预设场景绕y轴旋转,第二循环为通过预设场景的场景对象将y轴作为参数对第四函数进行调用得到的;通过第三循环使预设场景绕z轴旋转,第三循环为通过预设场景的场景对象将z轴作为参数对第四函数进行调用得到的。

可选地,该多面体背景球创建模块,具体用于:将球体半径和目标倍数作为参数传递至第五函数,以利用第五函数按照球体半径和目标倍数创建第一多面体背景球,其中,组成第一多面体背景球的平面的数量为预设面数的目标倍数倍,第五函数包括目标三维库中用于创建多面体背景球的构造函数。

可选地,知识图谱导入模块,具体用于:将关系数据随机存放到第一多面体背景球顶点的三维坐标中,以将第一多面体背景球的顶点作为知识图谱的节点;为每个存放有关系数据的节点创建节点文字标签和关系文字标签,节点文字标签用于指示对应节点中存放的关系数据的内容,关系文字标签用于指示对应节点中存放的关系数据与其他节点的关系数据之间的关联关系;从保存具有关联关系的关系数据的两个节点中,选取一个作为起始点,另一个作为终止点,构建从起始点连接至终止点的关系线。

可选地,该多面体背景球创建模块,还用于:在关系数据的数量大于第一多面体背景球的顶点数量的情况下,增加目标倍数,以重新创建具有更多顶点的第二多面体背景球。

可选地,该知识图谱可视化装置,还包括事件添加模块,用于:为存放关系数据的节点添加节点点击事件和关系点击事件,节点点击事件包括对节点执行查看、新增数据、删除数据、修改节点颜色以及修改节点形状中的至少一种操作;为每一种关系点击事件添加交互控件。

根据本申请实施例的另一方面,本申请提供了一种电子设备,如图10所示,包括存储器1001、处理器1003、通信接口1005及通信总线1007,存储器1001中存储有可在处理器1003上运行的计算机程序,存储器1001、处理器1003通过通信接口1005和通信总线1007进行通信,处理器1003执行计算机程序时实现上述方法的步骤。

上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。

可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:

通过三维引擎创建目标场景容器,三维引擎用于将三维数据视觉化,目标场景容器具有三维坐标,目标场景容器用于容纳三维空间;

在目标场景容器的三维空间中创建第一多面体背景球,第一多面体背景球由多个相同的平面组成,相邻平面的相交位置组成第一多面体背景球的顶点,组成第一多面体背景球的平面的数量为预设面数;

利用目标知识图谱中的关系数据在第一多面体背景球上生成节点,并按照关系数据之间的关联关系生成节点之间的关系线。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 知识图谱可视化方法、装置、设备及计算机可读介质
  • 知识图谱的生成方法、计算机可读存储介质及计算机设备
技术分类

06120113240540