CN106844445A - 基于语义的资源描述框架rdf图划分方法 - Google Patents
基于语义的资源描述框架rdf图划分方法 Download PDFInfo
- Publication number
- CN106844445A CN106844445A CN201611169530.4A CN201611169530A CN106844445A CN 106844445 A CN106844445 A CN 106844445A CN 201611169530 A CN201611169530 A CN 201611169530A CN 106844445 A CN106844445 A CN 106844445A
- Authority
- CN
- China
- Prior art keywords
- class
- subject
- direct
- rdf
- triple
- 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.)
- Granted
Links
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及资源描述框架图数据划分领域,为能够基于语义对大规模的RDF图进行划分,实现分布式存储RDF图数据,提高数据查询处理的性能,为此,本发明,基于语义的资源描述框架RDF图划分方法,步骤如下:1)得到主语s所属的类C;2)生成s的直接类;3)生成与RDF图G对应的RDF模式图GS;4)计算比率;5)计算基数因子;6)赋初始rank值;7)设置迭代次数;8)按照rank值的大小选取前k个直接类;9)依次搜索邻居直接类C';10)重复步骤8)和步骤9)直到top‑k中的直接类被划分完为止;11)进行后处理。本发明主要应用于数据划分场合。
Description
技术领域
本发明涉及RDF(资源描述框架)图数据划分领域,具体来说,涉及面向大规模RDF三元组数据的语义划分领域。
背景技术
作为下一代的Web技术,语义Web要在现有Web的基础上实现机器可读懂数据,并为人类提供自动服务。由Tim Berners-Lee发起的关联数据(Linked Data)运动的持续推进,使目前RDF三元组数据已超过520亿并且仍在不断增长。由于资源描述框架(ResourceDescription Framework,简称RDF)的数据模型在各领域的可控制性、高度灵活性和扩展性,使得它在处理大规模数据领域方面尤其重要,如在Web语义、政府机构、生物信息及社交网络方面等。RDF是用于描述网络资源的W3C(万维网联盟)标准,其格式为(主语,谓语,宾语),即(s,o,p),其中s表示主语,p表示谓语,o表示宾语。一个三元组中的宾语可作为另一个三元组中的主语,于是RDF语义数据形成了一种有向图结构。
全球范围的RDF图数据库正在形成,但规模庞大加之发布的数据分散度高,使得单个计算节点已无法容纳海量RDF图数据。面对海量RDF图数据分布式存储已势在必行,其核心技术图划分方法对研究RDF图算法意义重大。大规模RDF图上的数据查询代价往往很昂贵,分布式集群中划分数据不合理,跨站点的边数目较大,会导致数据查询(如,连接操作)的通信量激增,降低数据查询处理性能。目前大量的研究工作关注一般无向图或有向图的划分,针对RDF图的划分可以分为两类,一是简单的哈希划分,目前大量RDF引擎,如4store,YARS2都采用哈希算法进行图划分,在主语或宾语上建立key(键),通过对key取哈希值随机地划分三元组,没有进一步的处理。二是以传统的图划分为基础,增加部分优化,其关注点都在图的结构。部分研究通过经典的图划分方法METIS对RDF图进行划分,并在此基础上进行n-跳延伸,对于每个计算节点的边界顶点,通过复制它的n跳距离内的点到该节点,以减少跨越站点的边数目,优化数据查询。此外,也有研究以路径为划分单元将RDF图划分到不同的计算节点,优化RDF图上的SPARQL(Simple Protocol and RDF Query Language,是为RDF开发的一种查询语言和数据获取协议)查询。
以上技术仅利用传统的图划分方法对RDF图进行划分并做出部分优化,但均未考虑RDF图内含的丰富语义,它们主要存在如下问题:
1)仅考虑一般图自身的结构,包括以点、边、或者路径为基本单元进行图划分,而没有考虑RDF图中的RDF模式(RDF schema)信息;
2)以一般图划分方法为基础进行优化,仍具有传统图划分方法的特性,如通过METIS划分进行n-跳延伸会导致RDF数据划分不均匀,成为并行计算的瓶颈;
3)哈希图划分方法没有考虑RDF图的任何结构及语义,划分结果中跨越节点的边的数目较多,数据查询性能较差,对分布式的RDF图进行处理时性能较低;
4)RDF图描述真实世界中Web上的资源信息,具有丰富语义,不仅仅是单独的点、边、或路径,传统图划分方法忽略了这些语义,使得划分结果没有实际意义。
针对以上问题,有必要在划分大规模RDF图时考虑RDF内含的丰富语义,充分利用三元组中谓语为rdf:type(如(s,rdf:type,C)三元组用rdf:type声明主语s的类为C)的类信息进行RDF图划分,以减少跨越站点的边数目,提高数据查询及处理的性能。基于语义的划分依据现实世界中Web资源的类信息进行划分,具有实际意义。
发明内容
为克服现有技术的不足,本发明旨在提出一种基于语义的RDF图的划分方法,能够基于语义对大规模的RDF图进行划分,实现分布式存储RDF图数据,在不牺牲时间效率的情况下减少跨越节点的边的数目,提高数据查询处理的性能,利于大规模RDF图数据的并行化操作。为此,本发明采用的技术方案是,基于语义的资源描述框架RDF图划分方法,步骤如下:
1)根据RDF数据中(s,rdf:type,C)形式的三元组,得到主语s所属的类C,将主语s加入类C集合,主语s可能不止属于一个类,由此得到主语s的类集合;
2)对主语s的类集合取交集,生成s的直接类,直接类是包含多个主语的集合,各个主语的直接类生成类系统;
3)根据2)中的类系统生成与RDF图G对应的RDF模式图GS,模式图中的点表示RDF直接类,边为三元组中的谓语;
4)计算RDF模式图GS中直接类之间谓语的比率;
5)计算RDF模式图GS中直接类之间谓语的基数因子;
6)为RDF模式图GS中的直接类赋初始rank值,该值为模式图中顶点个数的倒数,rank值用来为直接类排序,RDF模式图中所有直接类的rank值和为1;
7)设置迭代次数,对RDF模式图GS中的直接类的rank值进行排序;
8)按照rank值的大小选取前k个直接类,得到top-k集合,划分rank值最大的类C中的主语,对该类中的主语分别取哈希值,依据哈希值的不同划分到不同的计算节点,划分过程中将主语相同的三元组划分到相同的计算节点;
9)依次搜索8)中直接类C的邻居直接类C',如果直接类C和它的邻居直接类C'之间谓语的基数因子大于给定阈值并且邻居类中的主语没有被划分过,将直接类C'中与直接类C中主语s有三元组关系的主语s'划分到与主语s相同的计算节点;
10)重复步骤8)和步骤9)直到top-k中的直接类被划分完为止;
11)对8)到10)步中未划分完的三元组分三种情况进行后处理。
上述的步骤1)把RDF图T中主语为si的所有三元组称为实体si,用来表示,假定对于任意主语s在RDF图中都至少存在一个三元组(s,rdf:type,C)∈Ent(s)指明主语s属于类C,用s∈C表示,由此得到s的类集合rdf:subClassOf声明类C'是类C的子类。
上述的步骤2)根据1)中的类系统C(s)计算s的直接类,具体计算过程为C(s)=∩Ci∈C(s)Ci,RDF数据中所有三元组的主语的直接类组成的集合就是RDF图T的类系统,即C(T)={C(s)|s∈S(T)};此外,RDF允许一个三元组的主语作为另一个三元组的宾语,同样也允许一个三元组的宾语作为其它三元组的主语。即,任何主语都可以扮演宾语的角色。
上述步骤3)将2)中生成的直接类作为顶点,两个直接类的主语存在三元组关系,添加一条无向边,生成的无向图即为RDF模式图,定义如下:
给定RDF图T,其模式图是一个带标签的无向图,用GS(T)=(VS,ES,lS)表示,其中(1)VS=C(T)表示点的有限集合;(2)表示边的有限集合;(3)lS:ES→P(T)是表示函数,该函数为边分配谓语;(4)对于边e=(C1,C2)∈ES,存在一个三元组(s,p,o)∈T使得C1=C(s),C2=C(o),并且lS(e)=p,p表示谓语,o表示宾语。
上述步骤4)需定义以下符号。
4.1 T(Ci,Cj)={(s,p,o)∈T|C(s)=Ci∧C(o)=Cj}表示所有主语直接类为Ci,宾语直接类为Cj,且Ci,Cj∈VS的三元组的集合;
4.2 T(Ci,Cj,pk)={(s,pk,o)∈T|C(s)=Ci∧C(o)=Cj}表示原RDF三元组中主语所属的直接类为Ci,宾语所属的直接类为Cj,谓语为pk,且Ci,Cj∈VS的三元组的集合;
4.3具体计算方法,对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,且lS(e)=pk,统计4.2中三元组的个数,统计RDF图中总三元组的个数,计算这两个直接类之间谓语pk比率,计算公式为:
上述步骤5)分两步计算。
5.1先计算两个直接类之间谓语的基数card(Ci,Cj,pk)=(m,n),统计Ci中的主语个数x,统计Ci和Cj之间谓语为pk的三元组的个数y,n=y/x,同样统计Cj中的主语个数x',n=y/x';
5.2对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,根据以下公式计算RDF模式图GS中直接类之间谓语的基数因子:
上述步骤7),采用本发明中的ClassRank算法对RDF模式图中的顶点进行排序,该算法设计思想源于网页排名PageRank算法,在PageRank算法的基础上进行修改,具体如下:
7.1 PageRank算法每轮迭代中,各网页将自身rank值平均分配到与它相连的网页中,而ClassRank算法中rank值并不是平均分配,用步骤4)中的因子pr表示流经不同谓语的边时分配的rank值比例不同,即pr值越大,比例越高;
7.2 PageRank算法每轮迭代中,各网页将经上轮迭代后自身所含的全部rank值流向邻居网页,接受本轮与之相连的网页传来的rank值,ClassRank算法中,并不是所有的类都会流出rank值,根据步骤5)中的因子cf值得大小决定rank值的流向,即不同的直接类中主语间的关系有一对一,一对多和多对多,rank值由多的一方流到少的一方;
7.3ClassRank算法设置nowRk值统计每次迭代中直接类的rank值变化,用该直接类的rank值和本次迭代中nowRk值得变化计算经过一次迭代后该直接类的rank值。
上述步骤8)到10)建立在步骤7)的基础上,得到rank值较高的前k个直接类top-k后,从rank值最高的直接类开始划分,每个直接类中的各个主语根据哈希值将它们的实体划分到不同的计算节点,在语义划分阶段,对top-k中的每个类中的主语划分完成后,会遍历该类的邻居直接类,根据这两个直接类之间谓语基数因子cf与阈值的大小关系决定是否划分邻居直接类中的主语,若cf大于阈值,且邻居直接类中的主语未被划分过,进一步根据三元组划分邻居类中主语,将同一个三元组中的主语划分到相同的计算节点。
上述步骤11)针对8)到10)步未划分过的所有三元组分三种情况进行划分,a)对主语已经划分过但宾语未划分过得三元组,将宾语的实体划分到与主语实体相同的计算节点;b)对主语未划分但宾语已经划分过得三元组,将主语的实体划分到与宾语实体相同的计算节点;c)对主语和宾语都没有划分过得三元组,若主语和宾语所属的直接类之间的谓语基数因子cf大于阈值,则取主语的哈希值将主语实体划分到特定计算节点,否则,取宾语的哈希值。
本发明的特点及有益效果是:
本发明针对大规模的RDF图数据,提供了一种基于语义的划分方法,从而依据现实世界中Web资源的类信息对RDF图数据进行划分,使得划分结果按类划分具有实际意义,同时在不牺牲时间效率的情况下减少跨越节点的边的数目,提高数据查询处理的性能。
附图说明:
图1是本发明基于语义划分RDF图方法的整体流程图。
图2是本发明步骤7)中对RDF模式图GS中的直接类的rank值进行排序的ClassRank算法的流程图。
图3是本发明步骤8)到11)语义划分RDF图的核心部分(semPartition算法)的流程图。
图4是利用本发明和目前经典的图划分方法METIS及哈希划分方法对标准合成数据集LUBM进行划分的结果。
图5是利用本发明和METIS及哈希划分方法对真实数据集DBpedia-2015-10进行划分的结果。
具体实施方式
为达到本发明目的,本发明采用的技术方案是:
1)根据RDF数据中(s,rdf:type,C)形式的三元组,得到主语s所属的类C,将主语s加入类C集合,主语s可能不止属于一个类,由此得到主语s的类集合;
2)对主语s的类集合取交集,生成s的直接类,直接类是包含多个主语的集合,各个主语的直接类生成类系统;
3)根据2)中的类系统生成与RDF图G对应的RDF模式图GS,模式图中的点表示RDF直接类,边为三元组中的谓语;
4)计算RDF模式图GS中直接类之间谓语的比率;
5)计算RDF模式图GS中直接类之间谓语的基数因子;
6)为RDF模式图GS中的直接类赋初始rank值,该值为模式图中顶点个数的倒数;
7)设置迭代次数,对RDF模式图GS中的直接类的rank值进行排序;
8)按照rank值的大小选取前k个直接类,得到top-k集合,划分rank值最大的类C中的主语,对该类中的主语分别取哈希值,依据哈希值的不同划分到不同的计算节点,划分过程中将主语相同的三元组划分到相同的计算节点;
9)依次搜索8)中直接类C的邻居直接类C',如果直接类C和它的邻居直接类C'之间谓语的基数因子大于给定阈值并且邻居类中的主语没有被划分过,将直接类C'中与直接类C中主语s有三元组关系的主语s'划分到与主语s相同的计算节点;
10)重复步骤8)和步骤9)直到top-k中的直接类被划分完为止;
11)对8)到10)步中未划分完的三元组分三种情况进行后处理。
上述的步骤1)把RDF图T中主语为si的所有三元组称为实体si,用来表示,假定对于任意s在RDF图中都至少存在一个三元组(s,rdf:type,C)∈Ent(s)指明s属于类C,用s∈C表示。由此得到s的类集合
上述的步骤2)根据1)中的类系统C(s)计算s的直接类,具体计算过程为C(s)=∩Ci∈C(s)Ci。RDF数据中所有三元组的主语的直接类组成的集合就是RDF图T的类系统,即C(T)={C(s)|s∈S(T)}。此外,RDF允许一个三元组的主语作为另一个三元组的宾语,同样也允许一个三元组的宾语作为其它三元组的主语。即,任何主语都可以扮演宾语的角色。
上述步骤3)将2)中生成的直接类作为顶点,两个直接类的主语存在三元组关系,添加一条无向边,生成的无向图即为RDF模式图。本发明提出RDF模式图概念,定义如下:
给定RDF图T,其模式图是一个带标签的无向图,用GS(T)=(VS,ES,lS)表示,其中(1)VS=C(T)表示点的有限集合;(2)表示边的有限集合;(3)lS:ES→P(T)是表示函数,该函数为边分配谓语;(4)对于边e=(C1,C2)∈ES,存在一个三元组(s,p,o)∈T使得C1=C(s),C2=C(o),并且lS(e)=p。
上述步骤4)需定义以下符号。
4.1 T(Ci,Cj)={(s,p,o)∈T|C(s)=Ci∧C(o)=Cj}表示所有主语直接类为Ci,宾语直接类为Cj,且Ci,Cj∈VS的三元组的集合。
4.2 T(Ci,Cj,pk)={(s,pk,o)∈T|C(s)=Ci∧C(o)=Cj}表示原RDF三元组中主语所属的直接类为Ci,宾语所属的直接类为Cj,谓语为pk,且Ci,Cj∈VS的三元组的集合。
4.3具体计算方法,对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,且lS(e)=pk,统计4.2中三元组的个数,统计RDF图中总三元组的个数,计算这两个直接类之间谓语pk比率,计算公式为:
上述步骤5)分两步计算。
5.1先计算两个直接类之间谓语的基数card(Ci,Cj,pk)=(m,n),统计Ci中的主语个数x,统计Ci和Cj之间谓语为pk的三元组的个数y,n=y/x,同样统计Cj中的主语个数x',n=y/x'。
5.2对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,根据以下公式计算RDF模式图GS中直接类之间谓语的基数因子:
上述步骤7),本发明设计了ClassRank算法对RDF模式图中的顶点进行排序,借鉴PageRank算法思想,但有几个重要的不同点,具体如下:
7.1 PageRank算法每轮迭代中,各网页将自身rank值平均分配到与它相连的网页中,而ClassRank算法中rank值并不是平均分配,用步骤4)中的因子pr表示流经不同谓语的边时分配的rank值比例不同,即pr值越大,比例越高。
7.2 PageRank算法每轮迭代中,各网页将经上轮迭代后自身所含的全部rank值流向邻居网页,接受本轮与之相连的网页传来的rank值。ClassRank算法中,并不是所有的类都会流出rank值,根据步骤5)中的因子cf值得大小决定rank值的流向,即不同的直接类中主语间的关系有一对一,一对多和多对多,rank值由多的一方流到少的一方。
7.3 ClassRank算法设置nowRk值统计每次迭代中直接类的rank值变化,用该直接类的rank值和本次迭代中nowRk值得变化计算经过一次迭代后该直接类的rank值。
上述步骤8)到10)为本发明的关键,是语义划分阶段。该步骤建立在步骤7)的基础上,得到rank值较高的前k个直接类top-k后,从rank值最高的直接类开始划分,每个直接类中的各个主语根据哈希值将它们的实体划分到不同的计算节点,在语义划分阶段,对top-k中的每个类中的主语划分完成后,会遍历该类的邻居直接类,根据这两个直接类之间谓语基数因子cf与阈值的大小关系决定是否划分邻居直接类中的主语。若cf大于阈值,且邻居直接类中的主语未被划分过,进一步根据三元组划分邻居类中主语,将同一个三元组中的主语划分到相同的计算节点。
上述步骤11)是本发明的后处理阶段。针对8)到10)步未划分过的所有三元组分三种情况进行划分,a)对主语已经划分过但宾语未划分过得三元组,将宾语的实体划分到与主语实体相同的计算节点;b)对主语未划分但宾语已经划分过得三元组,将主语的实体划分到与宾语实体相同的计算节点;c)对主语和宾语都没有划分过得三元组,若主语和宾语所属的直接类之间的谓语基数因子cf大于阈值,则取主语的哈希值将主语实体划分到特定计算节点,否则,取宾语的哈希值。
下面结合附图对本发明作进一步详细说明。
参见图1,本发明基于语义划分RDF图数据方法,需要以下步骤:
1)选取待划分的RDF图数据,如标准合成数据集LUBM和从维基百科的词条里取出的结构化数据DBpedia数据集;
2)从RDF数据中筛选出(s,rdf:type,C)形式的三元组,得到RDF图的直接类,进而得到RDF图的类系统;
3)RDF允许一个三元组的主语作为另一个三元组的宾语,同样也允许一个三元组的宾语作为其它三元组的主语。即,任何主语都可以扮演宾语的角色。根据三元组关系,构建直接类之间的边,生成RDF模式图;
4)根据图2的流程图对RDF模式图中的直接类也就是点进行rank排序;
5)根据图3的流程图对RDF图数据进行划分。
参见图2,本发明中对RDF模式图GS中的直接类的rank值进行排序的算法——ClassRank算法如下:
算法1:ClassRank
输入:模式图GS,迭代次数k
输出:{Ci.rank|Ci∈VS}
利用本发明的方法对LUBM3、LUBM50、LUBM100和DBpedia-2015-10中的数据进行处理,其中LUBM100中包含13.9M条三元组,DBpedia-2015-10中包含23M条三元组。生成的RDF模式图分别包括14和314个直接类,排序结果见下表1和表2.
表1 LUBM100数据集rank排序结果(前14)
表2 DBpedia-2015-10数据集rank排序结果(前16)
参见图3,本发明对RDF图数据语义划分的关键,semPartition算法如下:
算法2:semPartition
输入:rank排序前k个类Top-k,RDF图T,分片个数n,阈值threshold
输出:RDF图T的一个划分
//主要划分阶段
简要介绍图4和图5中的实验环境。硬件配置;惠普台式机一台,8核CPU,频率为3.20GHz,内存8GB,磁盘容量500GB。软件配置,操作系统为Ubuntu 14.04,本发明实现语言为Python。对比方法METIS实现语言为C,下载现有软件metis-5.1.0.tar.gz测试(http://glaros.dtc.umn.edu/gkhome/metis/metis/download);哈希划分同样用Python语言实现。
参见图4,本发明对标准合成数据集LUBM中的LUBM3,LUBM50和LUBM100进行划分。图4从数据集规模,计算节点数,算法运行时间,和计算节点三元组数目百分比四个方面来描绘LUBM数据集的划分结果。从左上角的子图可以看出本发明随着数据集规模增大跨越节点的边数目比其他两种方法少;从右上角的子图可以看出随着计算节点数目增多,本发明的划分结果中跨越计算节点的数目少且增幅较慢;从左下角的子图可以看出本算法在合成数据集上的运行时间与METIS在同一个数量级上;从右下角的子图可以看出本发明可以将LUBM数据近似平均的划分到各计算节点。
参见图5,本发明对DBpedia-2015-10进行划分,该数据集从维基百科的词条里取出的结构化数据,图5从跨越计算机节点的边数目,计算机节点数,算法运行时间和计算节点三元组数目百分比四个方面来描绘DBpedia数据集的划分结果。左上角的子图是计算节点数目为20时,本发明与其它两种划分方法的划分结果中跨越站点的边数目;从右上角的子图可以看出,随着计算节点数目增多本发明的划分结果中跨越站点的边数目增长较慢,在计算节点数目大于20后划分结果跨越计算节点的数目少于METIS划分;从左下角的子图可以看出本算法在真实数据集上的运行时间与METIS在同一个数量级上;从右下角的子图可以看出本发明可以将DBpedia数据近似平均的划分到各计算节点。
Claims (9)
1.一种基于语义的资源描述框架RDF图划分方法,其特征是,步骤如下:
1)根据RDF数据中(s,rdf:type,C)形式的三元组,得到主语s所属的类C,将主语s加入类C集合,主语s可能不止属于一个类,由此得到主语s的类集合;
2)对主语s的类集合取交集,生成s的直接类,直接类是包含多个主语的集合,各个主语的直接类生成类系统;
3)根据2)中的类系统生成与RDF图G对应的RDF模式图GS,模式图中的点表示RDF直接类,边为三元组中的谓语;
4)计算RDF模式图GS中直接类之间谓语的比率;
5)计算RDF模式图GS中直接类之间谓语的基数因子;
6)为RDF模式图GS中的直接类赋初始rank值,该值为模式图中顶点个数的倒数,rank值用来为直接类排序,RDF模式图中所有直接类的rank值和为1;
7)设置迭代次数,对RDF模式图GS中的直接类的rank值进行排序;
8)按照rank值的大小选取前k个直接类,得到top-k集合,划分rank值最大的类C中的主语,对该类中的主语分别取哈希值,依据哈希值的不同划分到不同的计算节点,划分过程中将主语相同的三元组划分到相同的计算节点;
9)依次搜索8)中直接类C的邻居直接类C',如果直接类C和它的邻居直接类C'之间谓语的基数因子大于给定阈值并且邻居类中的主语没有被划分过,将直接类C'中与直接类C中主语s有三元组关系的主语s'划分到与主语s相同的计算节点;
10)重复步骤8)和步骤9)直到top-k中的直接类被划分完为止;
11)对8)到10)步中未划分完的三元组分三种情况进行后处理。
2.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,上述的步骤1)把RDF图T中主语为si的所有三元组称为实体si,用来表示,假定对于任意主语s在RDF图中都至少存在一个三元组(s,rdf:type,C)∈Ent(s)指明主语s属于类C,用s∈C表示,由此得到s的类集合rdf:subClassOf声明类C'是类C的子类。
3.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,上述的步骤2)根据1)中的类系统计算s的直接类,具体计算过程为RDF数据中所有三元组的主语的直接类组成的集合就是RDF图T的类系统,即此外,RDF允许一个三元组的主语作为另一个三元组的宾语,同样也允许一个三元组的宾语作为其它三元组的主语。即,任何主语都可以扮演宾语的角色。
4.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,上述步骤3)将2)中生成的直接类作为顶点,两个直接类的主语存在三元组关系,添加一条无向边,生成的无向图即为RDF模式图,定义如下:给定RDF图T,其模式图是一个带标签的无向图,用GS(T)=(VS,ES,lS)表示,其中(1)表示点的有限集合;(2)表示边的有限集合;(3)lS:ES→P(T)是表示函数,该函数为边分配谓语;(4)对于边e=(C1,C2)∈ES,存在一个三元组(s,p,o)∈T使得C1=C(s),C2=C(o),并且lS(e)=p,p表示谓语,o表示宾语。
5.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,所述步骤4)需定义以下符号:
4.1T(Ci,Cj)={(s,p,o)∈T|C(s)=Ci∧C(o)=Cj}表示所有主语直接类为Ci,宾语直接类为Cj,且Ci,Cj∈VS的三元组的集合;
4.2T(Ci,Cj,pk)={(s,pk,o)∈T|C(s)=Ci∧C(o)=Cj}表示原RDF三元组中主语所属的直接类为Ci,宾语所属的直接类为Cj,谓语为pk,且Ci,Cj∈VS的三元组的集合;
4.3具体计算方法,对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,且lS(e)=pk,统计4.2中三元组的个数,统计RDF图中总三元组的个数,计算这两个直接类之间谓语pk比率,计算公式为:
6.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,上述步骤5)分两步计算:
5.1先计算两个直接类之间谓语的基数card(Ci,Cj,pk)=(m,n),统计Ci中的主语个数x,统计Ci和Cj之间谓语为pk的三元组的个数y,n=y/x,同样统计Cj中的主语个数x',n=y/x';
5.2对RDF模式图中的任意两个直接类Ci,Cj∈VS,若它们之间存在一条边e,根据以下公式计算RDF模式图GS中直接类之间谓语的基数因子:
7.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,上述步骤7),
采用本发明中的ClassRank算法对RDF模式图中的顶点进行排序,该算法设计思想源于网页排名PageRank算法,在PageRank算法的基础上进行修改,具体如下:
7.1PageRank算法每轮迭代中,各网页将自身rank值平均分配到与它相连的网页中,而ClassRank算法中rank值并不是平均分配,用步骤4)中的因子pr表示流经不同谓语的边时分配的rank值比例不同,即pr值越大,比例越高;
7.2PageRank算法每轮迭代中,各网页将经上轮迭代后自身所含的全部rank值流向邻居网页,接受本轮与之相连的网页传来的rank值,ClassRank算法中,并不是所有的类都会流出rank值,根据步骤5)中的因子cf值得大小决定rank值的流向,即不同的直接类中主语间的关系有一对一,一对多和多对多,rank值由多的一方流到少的一方;
7.3ClassRank算法设置nowRk值统计每次迭代中直接类的rank值变化,用该直接类的rank值和本次迭代中nowRk值得变化计算经过一次迭代后该直接类的rank值。
8.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,所述步骤8)到10)建立在步骤7)的基础上,得到rank值较高的前k个直接类top-k后,从rank值最高的直接类开始划分,每个直接类中的各个主语根据哈希值将它们的实体划分到不同的计算节点,在语义划分阶段,对top-k中的每个类中的主语划分完成后,会遍历该类的邻居直接类,根据这两个直接类之间谓语基数因子cf与阈值的大小关系决定是否划分邻居直接类中的主语,若cf大于阈值,且邻居直接类中的主语未被划分过,进一步根据三元组划分邻居类中主语,将同一个三元组中的主语划分到相同的计算节点。
9.如权利要求1所述的基于语义的资源描述框架RDF图划分方法,其特征是,所述步骤11)针对8)到10)步未划分过的所有三元组分三种情况进行划分,a)对主语已经划分过但宾语未划分过得三元组,将宾语的实体划分到与主语实体相同的计算节点;b)对主语未划分但宾语已经划分过得三元组,将主语的实体划分到与宾语实体相同的计算节点;c)对主语和宾语都没有划分过得三元组,若主语和宾语所属的直接类之间的谓语基数因子cf大于阈值,则取主语的哈希值将主语实体划分到特定计算节点,否则,取宾语的哈希值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169530.4A CN106844445B (zh) | 2016-12-16 | 2016-12-16 | 基于语义的资源描述框架rdf图划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169530.4A CN106844445B (zh) | 2016-12-16 | 2016-12-16 | 基于语义的资源描述框架rdf图划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844445A true CN106844445A (zh) | 2017-06-13 |
CN106844445B CN106844445B (zh) | 2020-08-14 |
Family
ID=59139737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611169530.4A Active CN106844445B (zh) | 2016-12-16 | 2016-12-16 | 基于语义的资源描述框架rdf图划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844445B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909111A (zh) * | 2019-10-16 | 2020-03-24 | 天津大学 | 基于知识图谱rdf数据特征的分布式存储与索引方法 |
CN111309979A (zh) * | 2020-02-27 | 2020-06-19 | 桂林电子科技大学 | 一种基于邻居向量的RDF Top-k查询方法 |
CN112380354A (zh) * | 2020-11-13 | 2021-02-19 | 哈尔滨工业大学 | 面向航天器总体设计的知识获取方法、装置及存储介质 |
CN113191498A (zh) * | 2021-04-30 | 2021-07-30 | 重庆交通大学 | 一种基于规则的Spark分布式弹性语义流推理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070037809A (ko) * | 2005-10-04 | 2007-04-09 | 중앙대학교 산학협력단 | 의미론적 데이터 통합을 위한 시멘틱 웹 기반의정보검색시스템과 정보검색방법 |
CN102693310A (zh) * | 2012-05-28 | 2012-09-26 | 无锡成电科大科技发展有限公司 | 一种基于关系数据库的资源描述框架查询方法和系统 |
CN103530405A (zh) * | 2013-10-23 | 2014-01-22 | 天津大学 | 一种基于分层结构的图像检索方法 |
CN106021457A (zh) * | 2016-05-17 | 2016-10-12 | 福州大学 | 基于关键词的rdf分布式语义搜索方法 |
-
2016
- 2016-12-16 CN CN201611169530.4A patent/CN106844445B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070037809A (ko) * | 2005-10-04 | 2007-04-09 | 중앙대학교 산학협력단 | 의미론적 데이터 통합을 위한 시멘틱 웹 기반의정보검색시스템과 정보검색방법 |
CN102693310A (zh) * | 2012-05-28 | 2012-09-26 | 无锡成电科大科技发展有限公司 | 一种基于关系数据库的资源描述框架查询方法和系统 |
CN103530405A (zh) * | 2013-10-23 | 2014-01-22 | 天津大学 | 一种基于分层结构的图像检索方法 |
CN106021457A (zh) * | 2016-05-17 | 2016-10-12 | 福州大学 | 基于关键词的rdf分布式语义搜索方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909111A (zh) * | 2019-10-16 | 2020-03-24 | 天津大学 | 基于知识图谱rdf数据特征的分布式存储与索引方法 |
CN110909111B (zh) * | 2019-10-16 | 2023-07-14 | 天津大学 | 基于知识图谱rdf数据特征的分布式存储与索引方法 |
CN111309979A (zh) * | 2020-02-27 | 2020-06-19 | 桂林电子科技大学 | 一种基于邻居向量的RDF Top-k查询方法 |
CN111309979B (zh) * | 2020-02-27 | 2022-08-05 | 桂林电子科技大学 | 一种基于邻居向量的RDF Top-k查询方法 |
CN112380354A (zh) * | 2020-11-13 | 2021-02-19 | 哈尔滨工业大学 | 面向航天器总体设计的知识获取方法、装置及存储介质 |
CN113191498A (zh) * | 2021-04-30 | 2021-07-30 | 重庆交通大学 | 一种基于规则的Spark分布式弹性语义流推理方法 |
CN113191498B (zh) * | 2021-04-30 | 2022-08-05 | 重庆交通大学 | 一种基于规则的Spark分布式弹性语义流推理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106844445B (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | Graphbuilder: scalable graph etl framework | |
Kim et al. | From sparql to mapreduce: The journey using a nested triplegroup algebra | |
Shao et al. | Managing and mining large graphs: systems and implementations | |
CN106844445A (zh) | 基于语义的资源描述框架rdf图划分方法 | |
Cheng et al. | Clustering large attributed information networks: an efficient incremental computing approach | |
Tang et al. | Coselect: Feature selection with instance selection for social media data | |
Cossu et al. | Prost: Distributed execution of sparql queries using mixed partitioning strategies | |
CN103678550A (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
Chen et al. | Community-based network alignment for large attributed network | |
Shi et al. | Efficient approximate range aggregation over large-scale spatial data federation | |
CN108280366A (zh) | 一种基于差分隐私的批量线性查询方法 | |
CN104834746B (zh) | 基于图形处理单元的异构特征时序数据演化聚类方法 | |
Kang et al. | Research on construction methods of big data semantic model | |
CN106445913A (zh) | 基于MapReduce的语义推理方法及系统 | |
Cai et al. | Grae: Graph recurrent autoencoder for multi-view graph clustering | |
Zhou et al. | Clustering analysis in large graphs with rich attributes | |
Sohrabi et al. | A haoop-based parallel mining of frequent itemsets using N-Lists | |
Ravindra et al. | Efficient processing of RDF graph pattern matching on MapReduce platforms | |
Chawla et al. | JOTR: Join-optimistic triple reordering approach for SPARQL query optimization on big RDF data | |
Li et al. | Multi-topical authority sensitive influence maximization with authority based graph pruning and three-stage heuristic optimization | |
Ning et al. | Dominance-partitioned subgraph matching on large RDF graph | |
Kim et al. | Semantic query transformations for increased parallelization in distributed knowledge graph query processing | |
Horlova et al. | Array-based data management for genomics | |
Ravindra et al. | To nest or not to nest, when and how much: Representing intermediate results of graph pattern queries in mapreduce based processing | |
Balmin et al. | A platform for eXtreme Analytics |
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 |