CN114637865B - 关系数据显示方法及装置 - Google Patents
关系数据显示方法及装置 Download PDFInfo
- Publication number
- CN114637865B CN114637865B CN202210513418.7A CN202210513418A CN114637865B CN 114637865 B CN114637865 B CN 114637865B CN 202210513418 A CN202210513418 A CN 202210513418A CN 114637865 B CN114637865 B CN 114637865B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- force
- centripetal force
- center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 69
- 230000008859 change Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 16
- 230000000007 visual effect Effects 0.000 abstract description 6
- 230000002776 aggregation Effects 0.000 abstract description 3
- 238000004220 aggregation Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 22
- 230000002596 correlated effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000013016 damping Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例涉及数据显示技术领域,具体涉及一种关系数据显示方法及装置。该方法包括:确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;确定所述多个叶子节点的平均位置为第一中心;为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。该方法可以在保障关系数据布局清晰稳定的同时,实现节点按类分析聚集,从而可以便于用户快速区分节点类型,有助于用户对复杂的关系数据的高效可视化分析探索。
Description
技术领域
本说明书一个或多个实施例涉及数据显示技术领域,具体涉及一种关系数据显示方法及装置。
背景技术
知识图谱是以图的形式描述客观世界中业务对象及业务对象间关系的知识库,它是所有业务对象及其它们之间关系的集合,是知识和知识结构的形式化表征。其中,在知识图谱中,通常使用节点来代表业务对象,节点间的连接边代表业务对象之间的关系。
虽然,知识图谱能够很直观地表达业务对象和业务对象间的关联关系。但是,随着图数据库中数据的增多,知识图谱中的节点也越来越多。若节点在知识图谱中无序分布,会影响用户造成干扰,降低了知识图谱辅助用户对数据进行可视化分析的功能。
发明内容
本说明书一个或多个实施例描述了一种关系数据显示方法及装置,可以在保障关系数据布局清晰稳定的同时,实现节点按类分析聚集,从而可以便于用户快速区分节点类型,有助于用户对复杂的关系数据的高效可视化分析探索。
第一方面,提供了一种关系数据显示方法,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述方法包括:
基于力导布局算法显示所述多个节点及所述多个连接边;
确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;
确定所述多个叶子节点的平均位置为第一中心;
为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
在一个实施例中,所述关系数据包括不同类型的节点。
在一个实施例中,所述连接边为有向连接边,所述叶子节点连接至少一个有向连接边,且所述至少一个有向连接边的方向相同。
在一个实施例中,所述方法还包括:
确定所述多个节点中不和其他节点连接的孤点节点,所述其他节点为所述多个节点中除所述孤点节点之外的节点;
为所述孤点节点分配第二中心,所述第二中心到所述其他节点的距离大于所述多个节点两两间的最大距离;
为所述孤点节点分配第二向心力,其中,所述第二向心力的方向朝向所述第二中心,且所述第二向心力的值大于所述第一预设值;
所述根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示包括:
根据所述第一向心力和所述第二向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
在一个实施例中,所述第二向心力的值大于所述第一向心力的值。
第二方面,提供了一种关系数据显示方法,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述方法包括:
基于力导布局算法显示所述多个节点中第一节点以及所述第一节点的一度节点;
确定与所述第一节点连接的多个第一类型的叶子节点;
确定所述多个叶子节点的平均位置为第一中心;
为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
根据所述第一向心力,通过所述力导布局算法,更新对所述多个叶子节点的显示;
在第三中心和所述第一节点所在直线上,根据第二节点的重要性设置所述第二节点的初始位置,所述第三中心为在所述更新对所述多个叶子节点的显示后,所述多个叶子节点的平均位置;所述第二节点为所述第一节点的一度节点之外的节点;
根据所述初始位置,通过所述力导布局算法,更新对所述第一节点的一度节点和第二节点的显示。
在一个实施例中,所述在第三中心和所述第一节点所在直线上,设置所述第二节点的初始位置包括:
基于所述第二节点的大小,确定所述初始位置与所述第三中心之间的第一距离;所述第二节点的大小是预设的;
按照所述第一距离,在所述第三中心和所述第一节点所在直线上,设置所述初始位置。
在一个实施例中,所述第一节点代表第一业务对象,所述关系数据有至少两个图融合得到,其中,所述至少两个图中的每个图均包括代表所述第一业务对象的节点。
在第一方面或第二方面的一个实施例中,所述多个节点包括:代表商品销售商品的门店节点、代表商品的商品节点、代表制造商品的商户节点中的至少一项。
在一个实施例中,所述第一节点为代表第一商品的商品节点,所述多个叶子节点包括与所述第一商品关联的门店节点、与所述第一商品关联的商户节点。
第三方面,提供了一种关系数据显示装置,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述装置包括:
显示单元,用于基于力导布局算法显示所述多个节点及所述多个连接边;
第一确定单元,用于确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;
第二确定单元,用于确定所述多个叶子节点的平均位置为第一中心;
分配单元,用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
更新单元,用于根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
第四方面,提供了一种关系数据显示装置,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述装置包括:
显示单元,用于基于力导布局算法显示所述多个节点中第一节点以及所述第一节点的一度节点;
第一确定单元,用于确定与所述第一节点连接的多个第一类型的叶子节点;
第二确定单元,用于确定所述多个叶子节点的平均位置为第一中心;
分配单元,用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
更新单元,用于根据所述第一向心力,通过所述力导布局算法,更新对所述第一节点的一度节点的显示;
设置单元,用于在第三中心和所述第一节点所在直线上,根据第二节点的重要性设置所述第二节点的初始位置,所述第三中心为在所述更新对所述多个叶子节点的显示后,所述多个叶子节点的平均位置;所述第二节点为所述第一节点的一度节点之外的节点;
所述更新单元用于根据所述初始位置,通过所述力导布局算法,更新对所述第一节点的一度节点和第二节点的显示。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
本说明书实施例提供的关系数据显示方法及装置,可以将中心节点的同一类型的叶子节点,或者同一类型的所有节点,和中心节点聚在一起,可以在保证关系数据整体布局清晰稳定的基础上,可以快速区分节点类型分布,助力用户对复杂异构图数据的高效可视分析探索。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1A示出了本说明书披露的一种关系数据的显示图;
图1B示出了本说明书披露的一种关系数据的显示图;
图1C示出了本说明书披露的一种关系数据的显示图;
图1D示出了本说明书披露的一种关系数据的显示图;
图1E示出了本说明书披露的一种关系数据的显示图;
图2示出了本说明书披露的关系数据显示方法流程图;
图3示出了本说明书披露的关系数据显示装置示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
随着图数据库中数据的增多、知识图谱技术的进步,图分析也逐渐从原始的同构图分析转变为异构图分析。其中,在异构图中,节点之间的连接边可以是有方向的,可以称为有向连接边。相对于同构图,异构图更接近真实世界的描述,节点会存在多种类型,节点与节点之间也会存在多种连接关系。真实业务场景的图分析数据往往是非常复杂的,在复杂异构图分析的场景中,可能会存在节点重叠和不稳定的问题。
其中,采用力导布局算法构建关系图,可以在一定程度上解决关系图的节点重叠和不稳定问题。力导布局算法也可以称为力导向图(Force-Directed Graph),是一种基于力学模型的一种绘图算法。力导向图通常在二维或三维空间里配置节点,有关系的节点之间用线连接。具体是,可以将预设空间中待布局的每个节点视为带有一定电量的粒子,其中,可根据节点所连接的边的数量确定该节点对应的电量,粒子与粒子之间存在库伦力,两两相斥。同时,一些节点之间具有连接边,可将该连接边视为弹簧,通过该连接边产生两个节点之间的阻尼力。其中两个节点之间的库仑力与该两个节点对应的电量正相关、与该两个节点之间的距离成反比,两个节点之间的阻尼力与该两个节点之间的边的属性和该两个节点之间的距离都成正比。在前述两种力的作用下,各个节点达到稳定平衡的状态,并被打散至不同位置,实现了节点位置不重叠、位置稳定以及有关系的节点相互靠拢等效果。
其中,传统的力导布局算法未考虑节点的类型,因此,会导致不同类型的节点混杂在一起,不便于用户区分。特别是节点数量较多时,节点混乱排布、连接边交织严重。而用户在探索分析异构系图时,往往是从一个节点或者一个子图(即关系图的一个局部)出发,有方向性地去发现目标节点,然后,继续展开一度关系的深入分析。若关系图中的节点不加分类地混乱分布,且连接表交织严重,会在对用户造成干扰,使其难以快速找到目标节点,降低对关系图的探索分析的效率。
另外,在一种改进的力导布局算法中,可以按照节点类型对节点进行聚类,以将相同类型的节点聚在一起。但是,该算法是将关系图的全图中的节点聚在一起,这会破坏关系图的整体布局,进一步加重连接边的交织情况,影响用户对关系的探索分析。
本说明书提供了一种关系数据显示方法,可以对基于力导布局算法显示的关系数据,进行进一步处理,可以在保障关系数据的显示布局清晰稳定的同时,实现节点按类型聚集,从而可以便于用户快速区分节点类型,有助于用户对复杂的关系数据的高效可视化分析探索。其中,关系数据显示为关系图。
本说明书提供的关系数据显示方法,可以由任何具有计算/处理能力的装置、设备或设备集群执行。
接下来,结合附图,对本说明书提供的关系数据显示方法进行示例说明。
参阅图1A,本说明书实施例提供了一种关系图100,其所代表或者说所显示的关系数据,可以用于实施关系数据显示方法。该关系图100可以是基于力导布局算法生成的。具体生产过程,可以参考现有技术的介绍,在此不再赘述。
该关系图100可以包括节点A1、节点A11、节点A12、节点A13等多个节点。其中,节点A1和节点A11之间可以具有连接边,节点A1和节点A12之间可以具有连接边,节点A1和节点A13之间可以具有连接边。另外,在下文描述中,当对节点A1、节点A11、节点A12、节点A13不做特别区分时,它们可以被简称为节点。
关系图100中的节点可以代表业务对象。可以理解,在本说明书中,业务对象可以为是指物体或事件,其中,物体可以为具有物理实体的物体,例如服装、食物等。物体也可以为虚拟物体,例如电子书、电影的音视频数据等。
关系图100中节点间的连接边可以代表相应节点之间具有关系。例如,代表电影的节点和代表导演的节点之间具有连接边,则表示该导演参与了该电影的生产。在一些实施例中,节点间的连接边可以具有方向。也就是说,连接边所连接的两个节点,一个可以作为起点,另一个可以作为终点,连接边的方向是指起点到终点的方向。
在一些实施例中,关系图100可以为异构图,即关系图100中的节点的类型不完全相同。在一个说明性示例中,节点A1可以为类型C1节点,节点A11和节点A12可以为类型C2节点,节点A13可以为类型C3节点。该在示例的一个例子中,类型C1可以为商品B,类型C2可以为销售商品的门店,类型C3可以为制造商品的商户。也就是说,节点A1可以为代表商品B的节点,节点A11为代表一门店的节点,节点A12为代表另一门店的节点,A13为代表制造商品的商户节点。其中,节点A1和节点A11之间具有连接边,表示节点A11所代表的门店具有或者说销售节点A1所代表的商品B。节点A1和节点A12之间具有连接边,表示节点A12所代表的门店具有或者说销售节点A1所代表的商品B。节点A1和节点A13具有连接边,代表节点A1所代表门店所具有的商品B是节点A13所代表的商户所制造的。另外,节点A12和节点A13都为代表门店的节点,为属于同一类型的节点。
在一些实施例中,关系图100可以是由多个关系数据融合得到的。也就是说,采用力导布局算法,以多个关系数据中的节点为处理对象,进行绘图,得到关系图100。其中,该多个关系数据中每个关系数据均包括代表同一业务对象的节点。其中,可以理解,多个关系数据在融合生成关系图100时,代表同一业务对象的多个关系数据中的节点也会发生了融合,融合为关系图100中的一个节点。具体以同一业务对象是商品B为例,该多个关系数据中每个关系数据均包括代表商品B的节点。多个关系数据在融合生成关系图100时,代表多个关系数据中代表商品B的节点也会发生了融合,融合为关系图100中的代表商品B的节点A1。
参阅图2,本说明书实施例提供的一种关系数据显示方法,可以应用于图1所示的关系图100。如图2所示,该方法包括:步骤200,基于力导布局算法显示所述多个节点及所述多个连接边;步骤201,确定多个节点中与第一节点连接的多个第一类型的叶子节点;步骤203,确定多个叶子节点的平均位置为第一中心;步骤205,为多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;步骤207,根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。其中,显示所述多个节点及所述多个连接边是指显示关系图100,更新对所述多个节点及所述多个连接边的显示也可以称为更新关系图100。
接下来,在具体实施例中,对各步骤进行具体说明。
首先,在步骤200中,基于力导布局算法显示所述多个节点及所述多个连接边。具体可以参考现有技术的介绍,在此不再赘述。
在步骤201中,确定多个节点中与第一节点连接的多个第一类型的叶子节点。其中,叶子节点是指连接边的方向相同的节点。如上所述,连接边具有从起点到终点的方向,因此,叶子节点的连接边的方向均是从起点到终点,或者均是从终点到起点。换言之,叶子节点要么是连接边的起点,要么是连接边的终点,不同时为起点和终点。
另外,需要说明的是,在步骤201中,与第一节点连接的叶子节点是指与第一节点直接连接的叶子节点,第一节点连接的叶子节点也可以称为第一节点的叶子节点。即第一节点和第一节点的叶子节点可以通过连接边直接相连,或者说,第一节点的叶子节点属于第一节点的一度节点。相对于第一节点的叶子节点而言,第一节点可以称为中心节点。其中,中心节点的一度节点是指与中心节点直接相连,中间没有间隔其他节点的节点。
在一些实施例中,可以设定第一节点为节点A1,第一类型可以为门店。如上所述,节点A11为代表一门店的节点,节点A12为代表另一门店的节点。即节点A11和节点A12的类型相同。并且,节点A11的所有连接边的方向,与节点A11和节点A1之间的连接的方向相同;节点A12的所有连接边的方向,与节点A12和节点A1之间的连接的方向相同。即节点A11和节点A12均为叶子节点。
如此,在步骤201中,可以确定节点A11和节点A12为,与节点A1连接的且为同一类型的叶子节点。
接着,可以在步骤203中,确定多个叶子节点的平均位置为第一中心。
在一些实施例中,仍以多个叶子节点为节点A11和节点A12为例,可以确定节点A11和节点A12的平均位置a1。
其中,节点的位置是在节点在关系图100中的位置,其中,位置可以采用坐标表示。在一个说明性示例中,关系图100可以为一个二维空间,如此,关系图100中位置可以使用x-y坐标系表示。在另一个说明性示例中,关系图100可以为一个三维空间,如此,关系图100中位置可以使用x-y-z坐标系表示。
参阅图1B,如此,可以使用节点A11和节点A12的坐标,来计算得到用于表示平均位置a1的坐标。
可以将节点A11和节点A12的平均位置,确定为第一中心,以便后续根据第一中心,更新关系图100。
以及,在步骤205中,为多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值。
在一些实施例中,仍以多个叶子节点为节点A11和节点A12为例,可以为节点A11和节点A12均分配第一向心力。可以理解,力为具体大小和方向的矢量。对于第一向心力而言,其方向朝向第一中心。即分配给节点A11的第一向心力为从节点A11朝向节点A11和节点A12的平均位置a1,分配给节点A12的第一向心力为从节点A12朝向节点A11和节点A12的平均位置a1。
第一向心力的大小可以大于第一预设值。其中,第一预设值为力导布局算法在生成关系图100时,所采用的向心力的大小。在一个说明性示例中,力导布局算法在生成关系图100时,所采用的向心力可以由阻尼力和弹簧作用力合成。不难理解,在力导布局算法中,一般为每个节点分配默认大小、方向均朝向画布(关系图所在的画布)中心的向心力。即力导布局算法在生成关系图100时,各节点的向心力的大小为默认大小。其中,默认大小通常为1N。在本说明书实施例中,可以为不同节点设置不同大小和/或方向的向心力。其中,为节点A12分配的第一向心力的大小大于第一预设值。示例性的,第一向心力的大小减去第一预设值的差值可以处于预设范围中。在一些实施例中,该差值可以在区间(0,第一预设值的100倍)中取值。在一个例子中,该差值可以在区间[第一预设值的10倍,第一预设值的100倍]中取值。在一个例子中,该差值可以在区间[第一预设值的20倍,第一预设值的80倍]中取值。在一个例子中,该差值可以在区间[第一预设值的20倍,第一预设值的60倍]中取值。在一个例子中,该差值可以在区间[第一预设值的20倍,第一预设值的40倍]中取值。其中,第一预设值的大小可以为力导布局算法中的默认大小(即第一预设值为导布局算法在生成关系图100时,所采用的向心力的大小),例如为1N。可以设定第一预设值为1N,在一个例子中,第一向心力的大小可以为30N,或者为40N,或者为60N。并且,如上所述,第一向心力的方向为从节点A12朝向节点A11和节点A12的平均位置a1。如此,通过设置第一向心力的大小和方向,可以得到第一向心力。
之后,可以在步骤207中,根据所述第一向心力,通过所述力导布局算法,更新所述关系图100或者说更新对对所述多个节点及所述多个连接边的显示。
仍以多个叶子节点为节点A11和节点A12为例,在步骤207中,在通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示时,节点A11和节点A12除了具有所述力导布局算法中设定的库仑力之外,还具有第一向心力。如此,节点A11和节点A12在库仑力和第一向心力的作用下,位置发生变化,得到如图1C所示的更新后的关系图100。
在一些实施例中,该方法还包括:确定所述多个节点中不和其他节点连接的孤点节点,所述其他节点为所述多个节点中除所述孤点节点之外的节点;为所述孤点节点分配第二中心,所述第二中心到所述其他节点的距离大于所述多个节点两两间的最大距离;为所述孤点节点分配第二向心力,其中,所述第二向心力的方向朝向所述第二中心,且所述第二向心力的值大于所述第一预设值。其中,所述根据所述第一向心力,通过所述力导布局算法,更新所述关系图100包括:根据所述第一向心力和所述第二向心力,通过所述力导布局算法,更新所述关系图100。
回到图1A,关系图100还可以包括节点A2。如图1A所示,节点A2不与其他节点连接,该其他节点为关系图100中除节点A2之外的其他节点。如此,可以确定节点A2为孤点节点。
之后,参阅图1B,可以为节点A2分配远离其他节点的第二中心。具体而言,第二中心到其他节点的距离大于关系图100中多个节点两两间的最大距离。再为节点A2分配朝向第二中心的第二向心力。即第二向心力从节点A1朝向第二中心。第二向心力的大小大于第一预设值。在一个示例中,第二向心力的大小还可以大于第一向心力的大小。
在根据所述第一向心力,通过所述力导布局算法,更新所述关系图100的同时,还根据第二向心力,通过力导布局算法,更新对所述多个节点及所述多个连接边的显示。如此,可以得到如图1C所示的关系图100。
在一些实施例中,所述多个节点还包括所述第一类型的第二节点,所述第二节点为所述多个叶子节点之外的节点;所述根据所述第一向心力,通过所述力导布局算法,更新所述对所述多个节点及所述多个连接边的显示包括:在所述第一中心和所述第一节点所在直线上,设置所述第二节点的初始位置;根据所述初始位置和所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
仍以关系图100为例,回到图1A,关系图100还可以包括节点A3,节点A3的类型可以为类型C2。其中,节点A3不是节点A1的一度节点,即节点A3不和节点A1直接连接,例如,如图1A所示,节点A3连接到节点A13上,节点A13连接到节点A1上,即节点A3通过节点A13连接到节点A1上。
在这种情况下,参阅图1D,先基于力导布局算法显示节点A1以及节点A1的一度节点,再利用图2所示的方案,按照为节点A1的叶子节点分配的第一向心力更新显示叶子节点(在这个过程中不显示节点A1以及节点A1一度节点之外的节点)之后,再确定节点A12和节点A11的平均位置a1’。然后,可以在平均位置a1’(即)和节点A1的连线上设置初始位置a3。之后,再通过力导布局算法,更新关系图100。其中,在更新关系图100的过程中,在施加到节点A3的力的作用下,节点A3的位置从初始位置a3开始变化。当再次更新完成时,可以得到如图1E所示的关系数据。
在这些实施例的一个示例中,所述在所述第一中心和所述第一节点所在直线上,设置所述第二节点的初始位置包括:基于所述第二节点的大小,确定所述初始位置与所述第一中心之间的第一距离;所述第二节点的大小可以是预设的。例如,可以根据节点的重要程度,设置节点的大小。与所述第二节点所连接的有向连接边的数量正相关;按照所述第一距离,在所述第一中心和所述第一节点所在直线上,设置所述初始位置。
仍以第二节点为节点A3为例,可以根据节点A3的大小,设定节点A3的初始位置a3到平均位置a1’(即更新后的节点A12和节点A11的平均位置)的距离,如此,可以根据初始位置a3和平均位置a1’的距离,以及初始位置a3所在的直线,设置初始位置a3在关系图100中的具体位置。如上所述,节点的大小也可以称为节点的质量,与节点所连接的连接边的数量正相关。
在一个具体例子中,初始位置a3可以通过如下方式确定。
可以计算节点同一类型的叶子节点的平均位置到该节点的欧式距离。仍以节点A1以及节点A1在类型C2下的叶子节点(即节点A11和节点A12)为例,可以采用公式(1)计算节点A1在类型C2下的叶子节点的平均位置到节点A1的欧式距离:
其中,eulideanDistance代表节点A1在类型C2下的叶子节点的平均位置a1’到节点A1的欧式距离。avgNode代表节点A11和节点A12的平均位置a1’,coreNode代表节点A1。公式(1)中的avgNode.x代表平均位置a1’在x轴上的坐标,avgNode.y代表平均位置a1’在y轴上的坐标,coreNode.x代表节点A1在x轴上的坐标,coreNode.y代表节点A1在y轴上的坐标。
接着,可以计算节点同一类型的叶子节点的平均位置到该节点的单位向量。仍以节点A1以及节点A1在类型C2下的叶子节点(即节点A11和节点A12)为例,可以采用公式(2)计算节点A1在类型C2下的叶子节点的平均位置到节点A1的单位向量:
其中,unitVector代表节点A1在类型C2下的叶子节点的平均位置a1’到节点A1的单位向量。
然后,可以根据节点同一类型的叶子节点的平均位置到该节点的单位向量、该类型下非叶子节点的大小和位置索引,计算该类型下非叶子节点的初始位置到节点同一类型的叶子节点的平均位置的距离。仍以节点A1、节点A1在类型C2下的叶子节点(即节点A11和节点A12)以及类型C2下的非叶子节点A3为例,可以采用公式(3),计算非叶子节点A3的初始位置a3到节点A11和节点A12的平均位置a1’的距离:
其中,indexVector代表坐标系中的增量信息,可以用于表示距离。unitVector.x
代表单位向量unitVector在x轴上的分量,unitVector.y代表单位向量unitVector在y轴上的分量。nodeSize代笔节点的大小或者说质量,其与节点所连接的连接边的数量成正比。nodeIndex代表节点的位置索引,为预设值。
最后,可以根据该类型下非叶子节点的初始位置到节点同一类型的叶子节点的平均位置的距离、同一类型的叶子节点的平均位置,计算该非叶子节点的初始位置的具体坐标或者说具体位置。仍以节点A1、节点A1在类型C2下的叶子节点(即节点A11和节点A12)以及类型C2下的非叶子节点A3为例,可以采用公式(4),计算非叶子节点A3的初始位置a3的具体坐标:
其中,nodeVector代表初始位置a3的具体坐标,即初始位置a3在关系图100中的具体位置。indexVector.x代表单位向量indexVector在x轴上的分量,indexVector.y代表单位向量indexVector.y在y轴上的分量。
可以理解的是,上文以节点A1在类型C2下的叶子节点为例,对本说明书提供的关系数据显示方法进行了示例说明。关系图100中任意节点在任意类型下的叶子节点的处理方式,可以参考上文实现,在此不再一一赘述。
在一些实施例中,如图1A所示,节点A13类型C3节点,且为节点A1的叶子节点。在关系图100中,即为节点A1的叶子节点,也为类型C3节点的节点,只有节点A13一个节点。在这种情况下,为节点A13分配的向心力为默认值,即按照力导布局算法中的默认向心力。在更新关系图100时,对节点A12施加的力为导布局算法中默认的力。
本说明书实施例提供的关系数据显示方法,可以在力导布局的基础上,将不同类型的叶子节点施以一定向心力及设置不同的中心点,实现将同类型的叶子节点相对关联的节点聚在一起。可以在不破坏整体布局的基础上做了叶子节点聚类分堆,视觉上更方便对类型进行区分,同时也不会打乱边的展示。
本说明书实施例提供的关系数据显示方法,可以在力导布局的基础上,将叶子节点以及非叶子节点,按照中心节点,进行分堆/聚类,优化了力导布局节点初始位置的分配方式,使得节点位置不再是仅根据存在关系的约束分配,而是先为节点分配初始位置,然后,进行力导布局,在保障节点的位置没有重叠、节点位置稳定及有关联的节点相互靠拢的基础上,实现了关系数据中所有节点根据中心节点按类型做空间上的分堆/聚类。
简而言之,本说明书实施例提供的关系数据显示方法,可以将中心节点的同一类型的叶子节点,或者同一类型的所有节点,和中心节点聚在一起,可以在保证关系数据整体布局清晰稳定的基础上,可以快速区分节点类型分布,助力用户对复杂异构图数据的高效可视分析探索。
本说明书实施例还提供了一种关系数据显示装置,可以包括用于实现图2所示方法的功能单元。具体而言,如图3所示,该图像采集装置可以包括:
显示单元310,用于基于力导布局算法显示所述多个节点及所述多个连接边;
第一确定单元320,用于确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;
第二确定单元330,用于确定所述多个叶子节点的平均位置为第一中心;
分配单元340,用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
更新单元350,用于根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
在一些实施例中,所述装置还可以包括设置单元360。其中,
显示单元310,还用于基于力导布局算法显示所述多个节点中第一节点以及所述第一节点的一度节点;
第一确定单元320,还用于确定与所述第一节点连接的多个第一类型的叶子节点;
第二确定单元330,还用于确定所述多个叶子节点的平均位置为第一中心;
分配单元340,还用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值;
更新单元350,还用于根据所述第一向心力,通过所述力导布局算法,更新对所述第一节点的一度节点的显示;
设置单元360,用于在第三中心和所述第一节点所在直线上,根据第二节点的重要性设置所述第二节点的初始位置,所述第三中心为在所述更新对所述多个叶子节点的显示后,所述多个叶子节点的平均位置;所述第二节点为所述第一节点的一度节点之外的节点;
所述更新单元350还用于根据所述初始位置,通过所述力导布局算法,更新对所述第一节点的一度节点和第二节点的显示。
第一确定单元310,用于确定所述多个节点中与第一节点连接的多个第一类型的叶子节点
关系数据显示装置中各功能单元的功能可以参考上文对图2所示方式实施例的介绍实现,在此不再赘述。
本说明书的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2所示的方法。
本说明书的实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2所示的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (14)
1.一种关系数据显示方法,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述方法包括:
基于力导布局算法显示所述多个节点及所述多个连接边;
确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;
确定所述多个叶子节点的平均位置为第一中心;
为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值,所述第一预设值为所述力导布局算法中默认向心力的大小;
根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示;其中,在所述第一向心力和所述力导布局算法中设定的库仑力的作用下,所述多个叶子节点的位置发生变化,以更新对所述多个节点及所述多个连接边的显示。
2.根据权利要求1所述的方法,所述关系数据包括不同类型的节点。
3.根据权利要求1所述的方法,所述连接边为有向连接边,所述叶子节点连接至少一个有向连接边,且所述至少一个有向连接边的方向相同。
4.根据权利要求1所述的方法,其中,所述方法还包括:
确定所述多个节点中不和其他节点连接的孤点节点,所述其他节点为所述多个节点中除所述孤点节点之外的节点;
为所述孤点节点分配第二中心,所述第二中心到所述其他节点的距离大于所述多个节点两两间的最大距离;
为所述孤点节点分配第二向心力,其中,所述第二向心力的方向朝向所述第二中心,且所述第二向心力的值大于所述第一预设值;
所述根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示包括:
根据所述第一向心力和所述第二向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示。
5.根据权利要求4所述的方法,其中,所述第二向心力的值大于所述第一向心力的值。
6.一种关系数据显示方法,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述方法包括:
基于力导布局算法显示所述多个节点中第一节点以及所述第一节点的一度节点;
确定与所述第一节点连接的多个第一类型的叶子节点;
确定所述多个叶子节点的平均位置为第一中心;
为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值,所述第一预设值为所述力导布局算法中默认向心力的大小;
根据所述第一向心力,通过所述力导布局算法,更新对所述多个叶子节点的显示;其中,在所述第一向心力和所述力导布局算法中设定的库仑力的作用下,所述多个叶子节点的位置发生变化,以更新对所述多个叶子节点显示;
在第三中心和所述第一节点所在直线上,根据第二节点的重要性设置所述第二节点的初始位置,所述第三中心为在所述更新对所述多个叶子节点的显示后,所述多个叶子节点的平均位置;所述第二节点为所述第一节点的一度节点之外的节点;
根据所述初始位置,通过所述力导布局算法,更新对所述第一节点的一度节点和第二节点的显示。
7.根据权利要求6所述的方法,其中,所述在第三中心和所述第一节点所在直线上,设置所述第二节点的初始位置包括:
基于所述第二节点的大小,确定所述初始位置与所述第三中心之间的第一距离;所述第二节点的大小是预设的;
按照所述第一距离,在所述第三中心和所述第一节点所在直线上,设置所述初始位置。
8.根据权利要求6所述的方法,其中,所述第一节点代表第一业务对象,所述关系数据有至少两个图融合得到,其中,所述至少两个图中的每个图均包括代表所述第一业务对象的节点。
9.根据权利要求1-8任一项所述的方法,其中,所述多个节点包括:
代表商品销售商品的门店节点、代表商品的商品节点、代表制造商品的商户节点中的至少一项。
10.根据权利要求9所述的方法,其中,所述第一节点为代表第一商品的商品节点,所述多个叶子节点包括与所述第一商品关联的门店节点、与所述第一商品关联的商户节点。
11.一种关系数据显示装置,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述装置包括:
显示单元,用于基于力导布局算法显示所述多个节点及所述多个连接边;
第一确定单元,用于确定所述多个节点中与第一节点连接的多个第一类型的叶子节点;
第二确定单元,用于确定所述多个叶子节点的平均位置为第一中心;
分配单元,用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值,所述第一预设值为所述力导布局算法中默认向心力的大小;
更新单元,用于根据所述第一向心力,通过所述力导布局算法,更新对所述多个节点及所述多个连接边的显示;其中,在所述第一向心力和所述力导布局算法中设定的库仑力的作用下,所述多个叶子节点的位置发生变化,以更新对所述多个节点及所述多个连接边的显示。
12.一种关系数据显示装置,其中,所述关系数据包括多个节点以及多个连接边,所述连接边两端分别连接所述多个节点中的两个节点,所述多个节点中的节点代表业务对象,所述连接边代表其所连接的两个节点之间的关系;所述装置包括:
显示单元,用于基于力导布局算法显示所述多个节点中第一节点以及所述第一节点的一度节点;
第一确定单元,用于确定与所述第一节点连接的多个第一类型的叶子节点;
第二确定单元,用于确定所述多个叶子节点的平均位置为第一中心;
分配单元,用于为所述多个叶子节点分配第一向心力,其中,所述第一向心力的方向朝向所述第一中心,且所述第一向心力的值大于第一预设值,所述第一预设值为所述力导布局算法中默认向心力的大小;
更新单元,用于根据所述第一向心力,通过所述力导布局算法,更新对所述第一节点的一度节点的显示;其中,在所述第一向心力和所述力导布局算法中设定的库仑力的作用下,所述多个叶子节点的位置发生变化,以更新对所述多个叶子节点显示;
设置单元,用于在第三中心和所述第一节点所在直线上,根据第二节点的重要性设置所述第二节点的初始位置,所述第三中心为在所述更新对所述多个叶子节点的显示后,所述多个叶子节点的平均位置;所述第二节点为所述第一节点的一度节点之外的节点;
所述更新单元用于根据所述初始位置,通过所述力导布局算法,更新对所述第一节点的一度节点和第二节点的显示。
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210513418.7A CN114637865B (zh) | 2022-05-12 | 2022-05-12 | 关系数据显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210513418.7A CN114637865B (zh) | 2022-05-12 | 2022-05-12 | 关系数据显示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114637865A CN114637865A (zh) | 2022-06-17 |
CN114637865B true CN114637865B (zh) | 2022-08-23 |
Family
ID=81953086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210513418.7A Active CN114637865B (zh) | 2022-05-12 | 2022-05-12 | 关系数据显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637865B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115630698B (zh) * | 2022-12-08 | 2023-04-11 | 国家电网有限公司客户服务中心 | 基于力引导图的知识图谱可视化方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977232A (zh) * | 2019-03-06 | 2019-07-05 | 中南大学 | 一种基于力导图的图神经网络可视分析方法 |
CN113721894A (zh) * | 2021-09-14 | 2021-11-30 | 福韵数据服务有限公司 | 一种基于力导向算法模型的关联关系图绘制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685716B (zh) * | 2016-12-29 | 2019-04-26 | 平安科技(深圳)有限公司 | 网络拓扑自适应的数据可视化方法及装置 |
CN109167686B (zh) * | 2018-08-28 | 2021-09-28 | 中国科学院电子学研究所苏州研究院 | 一种基于多层复杂网络拓扑的布局与展现方法 |
GB2593700A (en) * | 2020-03-30 | 2021-10-06 | British Telecomm | Force-directed graph layout |
CN112100289A (zh) * | 2020-09-15 | 2020-12-18 | 杭州橙鹰数据技术有限公司 | 关系网络图布局方法及装置 |
CN112989028A (zh) * | 2021-02-26 | 2021-06-18 | 江苏大学 | 一种基于力导向算法的知识图谱布局优化方法 |
CN114357311B (zh) * | 2022-01-12 | 2024-08-20 | 东北大学 | 一种基于社区发现与聚类优化的力导向图布局方法 |
-
2022
- 2022-05-12 CN CN202210513418.7A patent/CN114637865B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977232A (zh) * | 2019-03-06 | 2019-07-05 | 中南大学 | 一种基于力导图的图神经网络可视分析方法 |
CN113721894A (zh) * | 2021-09-14 | 2021-11-30 | 福韵数据服务有限公司 | 一种基于力导向算法模型的关联关系图绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114637865A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3747404B2 (ja) | グラフィックス・イメージ作成装置、及びその方法並びにプログラム | |
JP5511485B2 (ja) | 動的グラフ用アニメーション・プランニング方法及び装置 | |
CN114637865B (zh) | 关系数据显示方法及装置 | |
WO2019057192A1 (zh) | 知识图谱的展示方法及装置、移动终端及可读存储介质 | |
US20140229879A1 (en) | Treemap visualization system and method | |
US10203847B1 (en) | Determining collections of similar items | |
US8150661B2 (en) | Design support system, method and storage medium for a route design for a deformable linear structure | |
US20210141514A1 (en) | Automatically positioning objects in three-dimensional space utilizing a widget | |
CN105447098A (zh) | 一种信息查询方法及装置 | |
US20150169156A1 (en) | Method and Mechanism for Human Computer Interaction | |
EP3794312A1 (en) | Indoor location-based service | |
CN110188151A (zh) | 一种基于cad和gis生成室内地图的方法及电子装置 | |
US9342577B2 (en) | Preference-based data representation framework | |
Zielasko et al. | Interactive 3D force‐directed edge bundling | |
Storey et al. | Customizing a fisheye view algorithm to preserve the mental map | |
JP2017215797A (ja) | 選択制御方法、選択制御装置および選択制御プログラム | |
JP2009134520A (ja) | ソーシャルネットワーク表示システム、方法、及びプログラム | |
US20110307793A1 (en) | System and method for visualizing an address space | |
Jänicke et al. | Visualization of graph products | |
US20230154102A1 (en) | Representing 3d shapes with probabilistic directed distance fields | |
WO2013038460A1 (ja) | 画像表示システム及びその方法 | |
US20110288830A1 (en) | Finite State Machine Diagram Generation | |
WO2023155348A1 (zh) | 游戏数据处理方法、装置、计算机设备及存储介质 | |
CN116580128A (zh) | 物品信息搭配图生成方法、装置、设备、介质和程序产品 | |
US12079916B2 (en) | Rendering of persistent particle trails for dynamic displays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |