CN112732933B - 一种海量知识图谱分布式管理与查询方法 - Google Patents
一种海量知识图谱分布式管理与查询方法 Download PDFInfo
- Publication number
- CN112732933B CN112732933B CN202110024902.9A CN202110024902A CN112732933B CN 112732933 B CN112732933 B CN 112732933B CN 202110024902 A CN202110024902 A CN 202110024902A CN 112732933 B CN112732933 B CN 112732933B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- density
- cluster
- noise
- 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
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
- 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/31—Indexing; Data structures therefor; Storage structures
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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/35—Clustering; Classification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种海量知识图谱分布式管理与查询方法,包括1、将知识图谱中的节点作为网格进行管理,BFS搜索,得到相邻网格,计算网格密度;2、遍历所有节点,当节点密度大于密度阈值时,建立新集群,并将该节点加入,再从该节点BFS搜索,若发现临近有其他高密度节点,将其加入同一集群;3、基于星形扩张的查询,将图谱中某个节点设为初始节点,把这个节点和与其直接相连的其它节点连接起来,一次遍历进行一次星形查询。依次以一跳查询的节点为中心,再次开展星形查询即依次星形扩张,重复该过程,直至达到指定跳数或遍历完所有节点。本发明提供的方法实现了知识图谱的按需分割,显著提高查询的性能,同时实现了跨不同分割子图的关联查询。
Description
技术领域
本发明涉及知识图谱与数据管理数据挖掘领域,具体涉及一种海量知识图谱分布式管理与查询方法。
背景技术
近年来,随着各类数据处理的需求日益增加,数据的规模也越来越大,人们面临着处理各种大容量,多样化和高增长率数据的严峻挑战。据估计,目前大型搜索引擎的索引量已经超过了一万亿链接,预计在一年内超过十万亿;2017年,Facebook拥有超过20亿活跃用户,拥有数以千亿的好友关系链接;百度知识图谱在上线五年的时间里,规模增长了160倍;当前公开的知识图谱数据量早已达到了千亿级别;据中国互联网络信息中心CNNIC(ChinaInternet Network Information Center)统计,2010年中国网页规模就达到了600亿,年增长率78.6%。而且不只是互联网中的图规模庞大,随着生物化学等领域科学数据采集手段的丰富,人脑级别的图建模已经达到了百万亿的规模。如何处理这些规模巨大结构复杂的大图变成了一大难题。知识图谱就是这些图中的一种。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种海量知识图谱分布式管理与查询方法。
为了解决上述技术问题,本发明公开了一种海量知识图谱分布式管理与查询方法,包括如下步骤:
步骤1,基于密度的节点聚类,将知识图谱中的节点作为网格进行管理,并对网格之间没有空间结构时无法通过下标直接访问的问题,通过广度优先搜索BFS(BreadthFirst Search),将搜索的单位层数设为1,通过搜索得到与某个网格相邻的其它网格,计算网格的密度,即节点的密度;
步骤2,基于标记的知识图谱分割,在得到知识图谱中所有节点的密度信息后,遍历这些节点,遇到节点密度大于密度阈值tv时,就建立一个新的集群,并将该节点加入,该节点标记为高密度节点;然后再从这个节点开始进行广度优先搜索,在此过程中,如果发现临近有其他高密度节点,也将其加入同一个集群;
步骤3,基于星形扩张的查询,所述星形扩张指的是,将知识图谱中某个节点设置为初始节点,并把这个节点和与其直接相连的其它节点连接起来,类似一个扩张的星座图,一次遍历,即一跳查询,称为一个星形查询;依次以一跳查询的节点为中心,再次开展星形查询,即两跳查询,称为一次星形扩张,重复该过程,直至达到指定跳数或遍历完所有节点。
在一种实现方式中,所述步骤1中所述网格的密度通过计算该网格与其相邻网格的出度与入度之和获得。
在一种实现方式中,所述步骤2包括:
步骤2-1,依次遍历读取并解析知识图谱三元组;
步骤2-2,遍历知识图谱中的所有节点,如果节点的密度大于或等于密度阈值tv,该节点标记为高密度节点,执行步骤2-3;如果全部遍历结束,执行步骤2-4;否则继续执行步骤2-2;
步骤2-3,建立一个空的集群,将高密度节点加入集群中,然后以这个高密度节点为中心开始广度优先搜索,若搜索到其他高密度节点,则将其加入这个集群,并结束当前节点的搜索过程;以搜索到的其他高密度节点为中心进行广度优先搜索,迭代上述过程,直至搜索不到高密度节点为止;搜索结束后,继续执行步骤2-2;
步骤2-4,将知识图谱中除高密度节点的节点分别标记为保护节点、噪声节点和边界节点,并对保护节点、噪声节点和边界节点进行处理;
步骤2-5,建立集群索引表,存储集群信息。
在一种实现方式中,所述步骤2-3中所述高密度节点在首次遍历后即可确定,如果一个高密度节点的1跳范围内存在有其他高密度节点,则可将他们纳入同一个集群;如果两个高密度节点之间的距离大于1跳,则可明确两者不属于同一个集群。
在一种实现方式中,所述步骤2-4中所述保护节点指知识图谱中与高密度节点相连接且密度仅为1的节点,将所述保护节点加入与其连接的高密度节点所在的集群中。
在一种实现方式中,所述步骤2-4中所述噪声节点指知识图谱中与高密度节点无直接连接关系且节点密度小于密度阈值tv的节点;所述边界节点指知识图谱中与高密度节点相连接且节点密度大于1小于密度阈值tv的节点,边界节点不但与一个高密度节点相连接,还与其他类型的节点有连接关系;将所述边界节点加入与其连接的高密度节点所在的集群中。
在一种实现方式中,所述步骤2-4中对噪声节点处理包括:
对噪声节点进行分类,得到真噪声节点和伪噪声节点,所述真噪声节点指节点密度没有达到密度阈值tv,且当节点密度大于等于1时,与之相连接的其它节点也将达不到密度阈值tv的孤岛型节点;所述伪噪声节点指在步骤2-3中,从以高密度节点为中心进行广度优先搜索时由于发现边界节点,而导致无法继续访问的节点;一个或多个噪声节点多位于两个不同集群的边界节点之间,为了处理这些噪声节点,依次以该噪声节点为中心再次进行广度优先搜索,若未搜索到其它非噪声节点,则将该噪声节点标记为真噪声点,若搜索到距离其最近的其它非噪声节点,则将该噪声节点加入所述其它非噪声节点所在的集群,并将该噪声节点转换为伪噪声节点。
在一种实现方式中,所述步骤2-4中对边界节点处理包括:
依次遍历所有边界节点和伪噪声节点,以某个边界节点或伪噪声节点BNorPN为中心执行一次跳数为1的广度优先搜索,得到搜索到的节点集合;当节点集合中的节点所在集群号与某个边界节点或伪噪声节点BNorPN所在的集群号相同时,则将该边界节点或伪噪声节点BNorPN标记为真边界节点,否则将其标记为伪边界节点;经过上述处理,集群将吸纳所有的伪边界点;当存在集群冲突时,集群之间的边界节点将被处理为伪噪声点;
以真边界节点为切割点,将知识图谱分割成多个子图。
在一种实现方式中,所述步骤2-5中所述集群索引表用于记录真边界节点以及其所在的集群号,集群索引表的条目长度可变,当真边界节点存在于两个集群,其在索引表中的条目长度为2,当真边界点存在于多个集群中时,其在索引表中的条目长度会变长。
在一种实现方式中,所述步骤3包括:
步骤3-1,获取各个集群的初始节点信息;
步骤3-2,以初始节点为中心,开始广度优先搜索搜索;
步骤3-3,当遇到边界节点,根据剩余的查询跳数判断是否需要跨集群查询,如果需要跨集群查询,则从集群索引表中查询该真边界节点所在的集群号,在查询队列中加入相应集群号所在集群的初始节点信息和剩余的查询跳数;
步骤3-4,一个集群查询结束时,开始对其它集群进行查询,每次从查询队列中取出一个节点,并导入该节点包含的跨集群信息,执行步骤3-2;查询队列为空时,查询结束。
有益效果:
1、通过对知识图谱按区域、按类型、按联通关系等进行分割,将海量知识图谱存储在一个计算集群的多个计算节点中,在此基础上,再通过并行计算将查询过程进行优化,从而显著提高查询的性能。
2、根据知识图谱的结构特征和典型背景,提出了一种能广泛适用于图结构特征的密度聚类算法和图上节点异构类型的数据标记方式,同时,还提出了针对不同类型节点的数据处理方式以及图结构分割方式,从结构和数据上实现了知识图谱的按需分割。
3、为了实现分割后知识图谱的关联查询,还提出了分割子图间的索引构建方式和针对星形查询要求的跨存储区和结构区的查询算法,实现了跨不同分割子图的关联查询。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。
图1是本发明实施例部分提供的最简单的三元组;
图2是本发明实施例部分提供的一条典型的SPO三元组;
图3是本发明实施例部分提供的知识图谱节点关系示例;
图4是本发明实施例部分提供的星形查询过程示例;
图5是本发明实施例部分提供的一种海量知识图谱分布式管理与查询方法流程图。
具体实施方式
知识图谱是一种整合和表征知识的方法。它由实体、属性和关系三个基本元素组成。图1所示是一个最简单的知识图谱三元组。图中的Entity1、Entity2、Entity3表示三个不同的实体,R1、R2、R3表示三个实体之间的关系,Attr1、Attr2、Attr3、Attr4、 Attr5、Attr6表示的是这三个实体本身的相关属性。资源描述框架是用于描述实体以及资源的标记语言,简称RDF(Resource Description Framework)。RDF提供了一种统一的标准对实体或者资源进行描述,已被万维网联盟(w3c)列为描述网络资源的标准。随着与知识图谱相关的技术不断发展,知识图谱存储与处理的规模也不断扩大,知识图谱中存储的三元组数量也呈现爆炸式的指数增长,有些已经达到几亿甚至更多。
每个RDF数据集主要包括对多个资源的描述信息,每个资源一般由一条或多条语句进行描述。描述语句由资源、属性类型和属性值三部分组成。资源描述语句和自然语言中的语句在结构和语法上类似,也分成主语、谓语、宾语。RDF的表达形式为SPO (Subject-Predicate-Object)类型的三元组,其中,S代表Subject,表示主语;P代表 Predication,表示关系;O代表Object,表示宾语。每条SPO三元组都是一条独立的语句,在知识图谱中将其称为一条知识。图2所示的就是一条简单的SPO三元组。可以看出,RDF中的每条语句在内部都呈现出一种相关间的关联/指向关系,由于知识图谱存储了大量的这种关系,因而呈现出一种复杂的网络结构。
图5是本发明实施例部分提供的一种海量知识图谱分布式管理与查询方法流程图,通过基于密度的节点聚类、基于标记的知识图谱分割和基于星形扩展的查询,实现海量知识图谱的分布式管理与查询,包括如下步骤:
步骤1,基于密度的节点聚类,将知识图谱中的节点作为网格进行管理,并对网格之间没有空间结构时无法通过下标直接访问的问题,通过广度优先搜索方法,将搜索的单位层数设为1,通过检索得到与某个网格相邻的其它网格,计算网格的密度,即节点的密度;
步骤2,基于标记的知识图谱分割,在得到知识图谱中所有节点的密度信息后,遍历这些节点,遇到节点密度大于密度阈值tv时,就建立一个新的集群,并将该节点加入,该节点标记为高密度节点;然后再从这个节点开始进行BFS搜索,在此过程中,如果发现临近有其他高密度节点,也将其加入同一个集群;
步骤3,基于星形扩张的查询,用以验证查询的性能。星形扩张指的是,将知识图谱中某个节点设置为初始节点,并把这个节点和与其直接相连的其它节点连接起来,类似一个扩张的星座图,一次遍历,称为一个星形查询(一跳查询)。依次以一跳查询的节点为中心,再次开展星形查询,成为依次星形扩张(两跳查询),重复该过程,直至达到指定跳数或遍历完所有节点。
本实施例中,所述步骤1中所述网格的密度通过计算该网格与其相邻网格的出度与入度之和获得。
本实施例中,所述步骤2包括:
输入:密度阈值tv、JENA(一个java的API)解析得到的知识图谱三元组
输出:若干个可以独立管理的集群
步骤:
步骤2-1,依次遍历读取并解析知识图谱三元组;
步骤2-2,遍历知识图谱中的所有节点,如果遇到密度值大于或等于密度阈值tv,该节点标记为高密度节点,执行步骤3;如果全部遍历结束,执行步骤2-4;否则继续执行步骤2-2;
步骤2-3,建立一个空的集群,将符合条件的高密度节点加入集群中,然后以这个节点为中心开始广度优先搜索(Breadth First Search,BFS),若搜索到其他高密度节点,则将其加入这个集群,并结束当前节点的搜索过程;以搜索到的其他高密度节点为中心进行广度优先搜索,迭代上述过程,直至搜索不到高密度节点为止。搜索结束后,继续执行步骤2-2;
步骤2-4,将知识图谱中除高密度节点的节点分别标记为保护节点、噪声节点和边界节点,并对保护节点、噪声节点和边界节点进行处理;
步骤2-5,建立集群索引表,存储集群信息。
(1)节点类型标记方法
将知识图谱中的节点分高密度节点、保护节点、边界节点和噪声节点四类。
高密度节点是节点的密度达到了密度阈值tv的点,如图3中的Nc、Ni、No三个点。高密度节点在首次遍历后即可确定。如果一个高密度节点附近(1跳范围内)存在有其他高密度节点,则可将他们纳入同一个集群。如果两个高密度节点之间的距离大于1跳,则可明确两者一定不属于同一个集群。当以一个高密度节点为中心进行广度优先搜索时,一旦发现另一个高密度节点,则结束当前节点的搜索过程,并立即以另一个高密度节点为中心进行搜索,迭代上述过程,直至搜索不到高密度节点为止。
保护节点指的是与高密度节点相连接且密度仅为1的节点,如图3中的Ne、Nd、Nf、Nm、Nj、Nk、Nl、Np、Nq、Nr、Ns所示。对于保护节点需要单处理,主要是因为根据幂率分布,在实际知识图谱运用过程中,发现这种密度仅为1的保护节点数量最多。依据前文所述的搜索过程,如果不对这些节点进行有效处理,将会切割出数量庞大而且又无实际意义的点。针对这种情况,可以将这些保护节点的集群与它们能连接的高密度节点进行绑定,将它们置入同一个集群中,从而避免了迭代访问的必要。
噪声节点指的是与高密度节点无直接连接关系的孤岛型节点,它们可能是单独一个,也可能有很多,但是它们的密度都小于密度阈值tv,如图3中的节点Na、Nx、Ny就是典型的噪声节点。
边界节点指的密度值大于1却小于密度阈值tv,同时与高密度节点相连接的点,如图3中的节点Nh、Nn、Ng、Nb所示。它的密度值表明其不但与一个高密度节点相连接,还与其他节点有连接关系。但现在还没有很好的方法确定这些节点是高密度节点还是普通的节点,如果以边界节点为中心进行广度优先搜索,会出现十分复杂的结果。所以在不影响应用的情况下,可以在处理完噪声节点后,将其与边界节点一起处理。
(2)噪声节点和边界节点的处理方法
1)噪声节点处理
首先是对噪声节点进行分类,得到真噪声节点和伪噪声节点。真噪声节点为上文提到的孤岛型节点,其特征是密度没有达到密度阈值tv,当它的密度大于等于1时,与之相连接的其它节点也将达不到密度阈值tv。伪噪声节点指的是在第一轮处理中,从以高密度节点为中心进行广度优先搜索时由于发现边界节点,而导致无法继续访问的节点。一个或多个噪声节点多位于两个不同集群的边界节点之间。为了处理这些噪声节点,可依次以该类型节点为中心再次进行广度优先搜索,如未搜索到其它非噪声节点,则将该节点标记为真噪声点,如图3中的节点Nx和Ny所示;若检索得到距离其最近的其它非噪声节点,则获取其所在集群号,将其加入到一个非噪声集群,从而将噪声节点转换为伪噪声节点,图3中Na节点即该类型节点。
2)边界节点处理
依次遍历所有边界节点和伪噪声节点,以其为中心执行一次跳数为1的广度优先搜索,得到搜索到的节点集合。当节点集合中的节点所在集群号与某个边界点或伪噪声点所在的集群号相同时,则将该节点标记为真边界点,如图3中节点Nh、Ng、Nn,否则将其标记为伪边界点,如节点Na。经过上述处理,集群将吸纳所有的伪边界点。当存在集群冲突时,集群之间的边界节点将被处理为伪噪声点。
(3)索引表
经过上述的遍历处理和标记,知识图谱中所有节点已经被标记为高密度节点、边界节点、噪声节点和保护节点四种类型。以真边界节点为切割点,可将知识图谱划分成几个子图。为了实现跨子图的检索,可以在子图之间建立一个索引表。索引表记录了真边界节点以及他们所在的集群信息,其条目长度应该是可变的,因为,普通的真边界点只存在于两个集群,所以它在索引表中的条目长度为2,当真边界点存在于多个集群中时,其在索引表中的条目长度会变长。
表1索引表
对图3中所示的知识图谱实施密度阈值tv为4的分割后,得到多个子图,形成了表1所示的索引信息。表中第一列是边界节点的名称,其它列是该节点所在的集群,该例子中的边界节点正好分布于三个不同集群,所以索引表的长度为定长,但需要考虑到边界节点所在集群数不一定相等时的情况,索引表要作可变处理。索引表生成后,对图谱的分割工作结束,接下来需要存储相关集群的信息。
本实施例中,所述步骤3的跨集群查询是基于星形扩张的查询,用以验证查询的性能。星形扩张指的是,将知识图谱中某个节点设置为初始节点(如图4所示的节点 NA),并把这个节点和与其直接相连的其它节点连接起来,类似一个扩张的星座图,一次遍历,称为一个星形查询(一跳查询)。依次以一跳查询的节点为中心(如图4所示的节点NB),再次开展星形查询,成为依次星形扩张(两跳查询),重复该过程,直至达到指定的查询跳数或遍历完所有节点。
当星形扩张到边界节点,但还未达到指定的查询跳数时,开始执行跨集群查询。在分布式管理条件下,跨集群查询需要借助网络通信实现。通过查询边界节点的索引条目信息,可以获得两个或多个集群号,通过网络通信实现这些集群之间的查询控制,网络通信信息包括需要查询的跳数、查询的起始节点等。
输入:初始节点名和查询跳数
输出:查询到的所有节点
步骤:
步骤3-1,获取各个集群的初始节点信息;
步骤3-2,以初始节点为中心,开始BFS搜索;
步骤3-3,当遇到到边界节点,根据剩余的查询跳数判断是否需要跨集群查询,如果需要,就在查询队列加入相应集群信息,包括查询起始节点和剩余跳数;
步骤3-4,一个集群查询结束时,开始对其它集群进行查询。每次从队列中取出一个节点,并导入该节点包含的跨集群信息,执行步骤3-2。队列为空时,查询结束。
本发明提供了一种海量知识图谱分布式管理与查询方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种海量知识图谱分布式管理与查询方法,其特征在于,包括如下步骤:
步骤1,基于密度的节点聚类,将知识图谱中的节点作为网格进行管理,通过广度优先搜索BFS,将搜索的单位层数设为1,通过搜索得到与某个网格相邻的其它网格,计算网格的密度,即节点的密度;
步骤2,基于标记的知识图谱分割,在得到知识图谱中所有节点的密度信息后,遍历这些节点,遇到节点密度大于密度阈值tv时,就建立一个新的集群,并将该节点加入,该节点标记为高密度节点;然后再从这个节点开始进行广度优先搜索,在此过程中,如果发现临近有其他高密度节点,也将其加入同一个集群;
步骤3,基于星形扩张的查询,所述星形扩张指的是,将知识图谱中某个节点设置为初始节点,并把这个节点和与其直接相连的其它节点连接起来,形成一个扩张的星座图,一次遍历,即一跳查询,称为一个星形查询;依次以一跳查询的节点为中心,再次开展星形查询,即两跳查询,称为一次星形扩张,重复该过程,直至达到指定跳数或遍历完所有节点。
2.根据权利要求1所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤1中所述网格的密度通过计算该网格与其相邻网格的出度与入度之和获得。
3.根据权利要求1所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2包括:
步骤2-1,依次遍历读取并解析知识图谱三元组;
步骤2-2,遍历知识图谱中的所有节点,如果节点的密度大于或等于密度阈值tv,该节点标记为高密度节点,执行步骤2-3;如果全部遍历结束,执行步骤2-4;否则继续执行步骤2-2;
步骤2-3,建立一个空的集群,将高密度节点加入集群中,然后以这个高密度节点为中心开始广度优先搜索,若搜索到其他高密度节点,则将其加入这个集群,并结束当前节点的搜索过程;以搜索到的其他高密度节点为中心进行广度优先搜索,迭代上述过程,直至搜索不到高密度节点为止;搜索结束后,继续执行步骤2-2;
步骤2-4,将知识图谱中除高密度节点的节点分别标记为保护节点、噪声节点和边界节点,并对保护节点、噪声节点和边界节点进行处理;
步骤2-5,建立集群索引表,存储集群信息。
4.根据权利要求3所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-3中所述高密度节点在首次遍历后即可确定,如果一个高密度节点的1跳范围内存在有其他高密度节点,则可将所述的其他高密度节点纳入同一个集群;如果两个高密度节点之间的距离大于1跳,则可明确两者不属于同一个集群。
5.根据权利要求3所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-4中所述保护节点指知识图谱中与高密度节点相连接且密度仅为1的节点,将所述保护节点加入与其连接的高密度节点所在的集群中。
6.根据权利要求3所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-4中所述噪声节点指知识图谱中与高密度节点无直接连接关系且节点密度小于密度阈值tv的节点;所述边界节点指知识图谱中与高密度节点相连接且节点密度大于1小于密度阈值tv的节点,边界节点不但与一个高密度节点相连接,还与其他类型的节点有连接关系;将所述边界节点加入与其连接的高密度节点所在的集群中。
7.根据权利要求6所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-4中对噪声节点处理包括:
对噪声节点进行分类,得到真噪声节点和伪噪声节点,所述真噪声节点指节点密度没有达到密度阈值tv,且当节点密度大于等于1时,与之相连接的其它节点也将达不到密度阈值tv的孤岛型节点;所述伪噪声节点指在步骤2-3中,从以高密度节点为中心进行广度优先搜索时由于发现边界节点,而导致无法继续访问的节点;一个或多个噪声节点多位于两个不同集群的边界节点之间,为了处理这些噪声节点,依次以该噪声节点为中心再次进行广度优先搜索,若未搜索到其它非噪声节点,则将该噪声节点标记为真噪声点,若搜索到距离其最近的其它非噪声节点,则将该噪声节点加入所述其它非噪声节点所在的集群,并将该噪声节点转换为伪噪声节点。
8.根据权利要求7所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-4中对边界节点处理包括:
依次遍历所有边界节点和伪噪声节点,以某个边界节点或伪噪声节点BNorPN为中心执行一次跳数为1的广度优先搜索,得到搜索到的节点集合;当节点集合中的节点所在集群号与某个边界节点或伪噪声节点BNorPN所在的集群号相同时,则将该边界节点或伪噪声节点BNorPN标记为真边界节点,否则将其标记为伪边界节点;经过上述处理,集群将吸纳所有的伪边界点;当存在集群冲突时,集群之间的边界节点将被处理为伪噪声点;
以真边界节点为切割点,将知识图谱分割成多个子图。
9.根据权利要求8所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤2-5中所述集群索引表用于记录真边界节点以及其所在的集群号,集群索引表的条目长度可变,当真边界节点存在于两个集群,其在索引表中的条目长度为2,当真边界点存在于多个集群中时,其在索引表中的条目长度会变长。
10.根据权利要求3所述的一种海量知识图谱分布式管理与查询方法,其特征在于,所述步骤3包括:
步骤3-1,获取各个集群的初始节点信息;
步骤3-2,以初始节点为中心,开始广度优先搜索;
步骤3-3,当遇到边界节点,根据剩余的查询跳数判断是否需要跨集群查询,如果需要跨集群查询,则从集群索引表中查询真边界节点所在的集群号,在查询队列中加入相应集群号所在集群的初始节点信息和剩余的查询跳数;
步骤3-4,一个集群查询结束时,开始对其它集群进行查询,每次从查询队列中取出一个节点,并导入该节点包含的跨集群信息,执行步骤3-2;查询队列为空时,查询结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024902.9A CN112732933B (zh) | 2021-01-08 | 2021-01-08 | 一种海量知识图谱分布式管理与查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024902.9A CN112732933B (zh) | 2021-01-08 | 2021-01-08 | 一种海量知识图谱分布式管理与查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732933A CN112732933A (zh) | 2021-04-30 |
CN112732933B true CN112732933B (zh) | 2022-09-06 |
Family
ID=75589926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110024902.9A Active CN112732933B (zh) | 2021-01-08 | 2021-01-08 | 一种海量知识图谱分布式管理与查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732933B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI385544B (zh) * | 2009-09-01 | 2013-02-11 | Univ Nat Pingtung Sci & Tech | 基於密度式之資料分群方法 |
US9727648B2 (en) * | 2014-12-19 | 2017-08-08 | Quixey, Inc. | Time-box constrained searching in a distributed search system |
CN107247738B (zh) * | 2017-05-10 | 2019-09-06 | 浙江大学 | 一种基于spark的大规模知识图谱语义查询方法 |
CN110909111B (zh) * | 2019-10-16 | 2023-07-14 | 天津大学 | 基于知识图谱rdf数据特征的分布式存储与索引方法 |
-
2021
- 2021-01-08 CN CN202110024902.9A patent/CN112732933B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112732933A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659467B1 (en) | Distributed storage and distributed processing query statement reconstruction in accordance with a policy | |
Zhang et al. | Scalable skyline computation using object-based space partitioning | |
Tao et al. | Range search on multidimensional uncertain data | |
US7263525B2 (en) | Query processing method for searching XML data | |
Peng et al. | Persistent bloom filter: Membership testing for the entire history | |
US9946752B2 (en) | Low-latency query processor | |
CN104123288A (zh) | 一种数据查询方法及装置 | |
KR100284778B1 (ko) | 내용기반 이미지 검색을 위한 고차원 색인구조의 삽입 방법 | |
CN106951526B (zh) | 一种实体集扩展方法及装置 | |
Bramandia et al. | On incremental maintenance of 2-hop labeling of graphs | |
KR101105736B1 (ko) | 대용량 트랜잭션 데이터베이스 환경에서 효율적인 빈발 항목 집합 탐색 방법 | |
US7814087B2 (en) | Method of hierarchical searching on a conditional graph | |
Lavergne et al. | Min-max itemset trees for dense and categorical datasets | |
Álvarez-García et al. | Compact and efficient representation of general graph databases | |
Wong et al. | Online skyline analysis with dynamic preferences on nominal attributes | |
US7917517B2 (en) | Method and apparatus for query processing of uncertain data | |
CN112732933B (zh) | 一种海量知识图谱分布式管理与查询方法 | |
Sun et al. | A spatially-pruned vertex expansion operator in the Neo4j graph database system | |
Nekrich et al. | Optimal color range reporting in one dimension | |
Sun et al. | Riso-tree: An efficient and scalable index for spatial entities in graph database management systems | |
Shana et al. | An improved method for counting frequent itemsets using bloom filter | |
Ganti et al. | MP-trie: Fast spatial queries on moving objects | |
Wang et al. | KeyLabel algorithms for keyword search in large graphs | |
US20230385337A1 (en) | Systems and methods for metadata based path finding | |
CN115328904B (zh) | 一种通过多层hash索引树过滤重复数据的方法和系统 |
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 |