当前位置: 首页 > 专利查询>郑州大学专利>正文

基于RDF图的分布式关键词查询方法技术

技术编号:19692084 阅读:43 留言:0更新日期:2018-12-08 11:14
本发明专利技术设计一种基于RDF图的分布式关键词查询方法,属于信息检索领域。本发明专利技术首先将RDF数据图转化为RDF句子图;其次利用有条件的深度优先算法和模拟退火算法,按照边割集最小和分割后子图间数据平衡性两个最基本的原则对RDF句子图进行分割;最后将分割后的RDF句子图细化为RDF数据图,得到RDF图的点割集,并利用反向搜索算法及Hadoop分布式计算框架,实现关键词的高效快速查询。本发明专利技术在保证RDF数据的原子性和语义完整性的情况下,有效解决了传统算法对大规模数据集分割效率的局限性,并且极大地提高了关键词的查询效率。

【技术实现步骤摘要】
基于RDF图的分布式关键词查询方法
本专利技术涉及基于RDF图的分布式关键词查询方法,属于信息检索领域。
技术介绍
图是一种普遍存在的数据结构,广泛应用于各个领域。基于RDF图结构的关键词查询是目前的一个研究热点,它允许用户在不使用复杂结构查询语言的情况下,获取高效的查询结果。目前的大多数查询算法均是在集中式环境下实现,即关键词查询只能在单机上处理。事实上,随着RDF图的规模不断扩大,在单机上进行关键词查询是非常耗时的,因此在分布式环境下对图处理和存储有着十分重要的理论价值和现实意义。目前常用的关键词查询技术是将RDF数据表示为一个带标签的有向图,图中的顶点对应三元组中的主语和宾语,谓词为边。使用图表示RDF数据既能保持数据间的关联信息又不丧失语义信息,因此RDF数据的查询处理通常被转化为图匹配问题,即在RDF数据图上定位包含关键词的斯坦纳树(SteinerTree)。由于图数据本身固有的连通性和图计算表现出强耦合性的特点,所以为了实现图高效的并行处理,就需尽可能降低分布式处理的各子图之间的耦合度,则有效的图分割就是实现解耦的重要手段。目前的图分割算法主要有两个原则:一是提高子图内部的连通性,降低子图之间的连通性;二是考虑子图规模的均衡性,尽量保证各子图的数据规模均衡,不要出现较大的倾斜。其中Kim等人提出了SBV-Cut方法,该方法通过随机游走的方法确定平衡顶点,根据平衡顶点对图进行分割,使得每一个子图中包含近似相等的顶点;并通过expansion和modularity两个性质保证切点的数量最小。然而,使用该方法分割后的每个子图中顶点的数目是相同(或相近),但是每一个顶点所关联的边的数量是不一样的,从而造成子图间数据的不平衡。同时随着图规模的不断扩大,传统算法(如KL,DFEP,VSEP)在图规模上的局限性,使得这些算法已经满足不了数据呈爆炸式增长的需求。
技术实现思路
本专利技术针对上述问题的不足,提出基于RDF图的分布式关键词查询方法。该方法在保证分割子图数据平衡的情况下,实现大数据图的高效分割,同时能够实现关键词的快速查询,从而满足用户的查询需求。技术方案实施步骤如下:(1)将RDF图转化为RDF句子图:在RDF数据集中,每一个RDF三元组作为RDF数据的基本语句,表示Web上资源的一个完整语义信息,因此在对RDF数据集进行分割时,必须保证每个RDF三元组的原子性;同时空白节点简单地表示某事物的存在,而不指定全局标识所以只能在本地使用,共享同一个空白节点的RDF三元组表达了空白节点的共同语境,如果这样的RDF三元组被分开,则其表达的语境将被破坏。因此RDF句子s是由RDF三元组所构成的且满足以下条件:条件1:s中的任意两个RDF元祖是可连接的,即当两个RDF元祖共享同一个空白节点时,这两个RDF元祖是可连接的;条件2:s中的任意一个RDF元祖不能与不在s中的RDF元祖连接;本专利技术使用(s,p,o)描述一个RDF三元组,并简记为t,用s(t)、p(t)和o(t)分别表示三元组中的主体、谓词和客体,其中,RDF有向图和RDF句子图的定义如下:RDF有向图:设G=(V,E,L)表示一个带标签的RDF有向图,其中由RDF三元组中主体和客体组成的顶点集合V={v|v∈s(T)∪o(T)},主体和客体之间关系的谓词组成的有向边的集合E={<s(t),o(t)>|t∈T},边的方向由主体顶点指向客体顶点。L是标签的集合,L=Lv∪Lp,其中Lv表示顶点标签,Lp表示谓词标签。RDF句子图:设Gs=(S,E,l,w)表示一个RDF句子图,它是一个顶点带权无向图,其中图中的每一个节点对应一个RDF句子,S表示图中的顶点,E表示图中的边。若si,sj∈S且si≠sj,t′∈sj且有t.s=t′.s或者t.o=t′.s则si和sj是相关联的,即(si,sj)∈E。l是一个标签函数,对于l(si)是一个包含该句子的主语,谓语或者宾语的本地标签集合;w是顶点的权重,w(si)就等于该句子中所包含的RDF元祖的个数。(2)基于RDF句子图的边分割算法(REC):根据图分割的两个原则可知,一为了降低网络通信量,就要尽可能的降低被分割的边的数量。因此本专利技术利用顶点度最小的原则进行深度优先遍历,由于该方法易陷于局部最优解,所以使用模拟退火算法避免该情况;二为了实现子图间数据的平衡性,将RDF图中的边平均分配到每一个子图中,即每个RDF子图中边的个数若将图Gs分割成k个子图,使用函数P表示每一个顶点所在的子图,其中不同的子图用{1,2...k}来表示,则标签j=p(s)表示句子s所在的子图为Sj,其中Sj满足下面两个条件且Si∩Sj=Φ,其中,RDF句子图的边分割算法的具体步骤,如下:A步骤:输入RDF子图中边的个数根据RDF句子图Gs,输入RDF子图中边的个数e;B步骤:设置“访问标志”求解RDF句子图中度数最小的顶点,将其放入到集合D中,并为每一个顶点设置一个“访问标志”;C步骤:遍历集合D中的顶点,对RDF句子图进行分割C1:给定集合D中顶点的访问顺序,若当前RDF句子图中所有未被访问的顶点的权重之和|Gs|>e,则按序从D中选择一个未被访问的顶点;C2:将该顶点添加到集合S中同时将该顶点的状态置为已访问;C3:若当前子图的所有顶点权重|S|<e且与集合S中相邻的顶点的集合N(S,Gs)!=null,则从N(S,Gs)中随机选择一个顶点v;C4:若该顶点v未被访问并且除去S中与顶点v相邻的顶点|N(v,Gs)\S|的个数最小,即该顶点的度最小。跳转到步骤C2;C5:若当前集合S中顶点的权重|S|<e,且N(S,Gs)=null,则退回到最近访问的顶点,并跳转到步骤C4;C6:若此时当前集合S中顶点的权重|S|>e,则跳转到步骤C1;D步骤:模拟退火算法求最优解D1:给定集合D中顶点访问的顺序;D2:计算按照这样的访问顺序所分割的边的个数;D3:随机更换D中两个顶点的访问顺序,若此时分割的边的个数小于步骤D2中边的个数,说明新的结果好于旧的结果,则用新的访问顺序代替旧的访问顺序;D4:最后调用模拟退火函数;(3)利用Hadoop分布式计算框架实现关键词查询I步骤:分割RDF图的点割集的确定求解RDF子图的交集即可得到分割RDF图的点割集;II步骤:有向树的确定给定查询结果树(RT)的定义,设与关键词K匹配的顶点的集合是M(K)={m1,m2...ms},查询结果定义为一棵满足下面条件的有向树:1)G的树根是R;2)对于每一个集合mi中的某个顶点vi,存在从R到vi的有向通路在关键词查询的过程中,把那些包含部分关键词的查询结果树称为候选结果树,简称为CRT。III步骤:利用反向搜索算法实现关键词查询下面具体说明利用MapReduce实现关键词查询的过程,主要由以下四个步骤构成,即MR1:在map阶段,首先利用反向搜索算法查找候选结果树,用4元祖表示(CRTi,K,B,Si),其中CRTi是以R为树根的一棵树,K表示CRTi所包含的的关键词,B表示该子图中的被分割的顶点,Si表示CRTi所在的子图;其次,将该4元祖封装成key-value的键值对<B,CRTi>;MR2:本文档来自技高网
...

【技术保护点】
1.基于RDF图的分布式关键词查询方法,包含以下步骤:步骤(1):将RDF图转化为RDF句子图;步骤(2):基于RDF句子图的边分割算法(REC);步骤(3):利用Hadoop分布式计算框架实现关键词查询。

【技术特征摘要】
1.基于RDF图的分布式关键词查询方法,包含以下步骤:步骤(1):将RDF图转化为RDF句子图;步骤(2):基于RDF句子图的边分割算法(REC);步骤(3):利用Hadoop分布式计算框架实现关键词查询。2.根据权利要求1所述的基于RDF图的分布式关键词查询方法,其特征在于,所述步骤(1)中RDF句子s是由RDF三元组所构成的且满足以下条件:条件1:s中的任意两个RDF元祖是可连接的,即当两个RDF元祖共享同一个空白节点时,这两个RDF元祖是可连接的;条件2:s中的任意一个RDF元祖不能与不在s中的RDF元祖连接;使用(s,p,o)描述一个RDF三元组,并简记为t,用s(t)、p(t)和o(t)分别表示三元组中的主体、谓词和客体,其中,RDF有向图和RDF句子图的定义如下:RDF有向图:设G=(V,E,L)表示一个带标签的RDF有向图,其中由RDF三元组中主体和客体组成的顶点集合V={v|v∈s(T)∪o(T)},主体和客体之间关系的谓词组成的有向边的集合E={<s(t),o(t)>|t∈T},边的方向由主体顶点指向客体顶点,L是标签的集合,L=Lv∪Lp,其中Lv表示顶点标签,Lp表示谓词标签;RDF句子图:设Gs=(S,E,l,w)表示一个RDF句子图,它是一个顶点带权无向图,其中图中的每一个节点对应一个RDF句子,S表示图中的顶点,E表示图中的边;若si,sj∈S且si≠sj,t′∈sj且有t.s=t′.s或者t.o=t′.s则si和sj是相关联的,即(si,sj)∈E;l是一个标签函数,对于是一个包含该句子的主语,谓语或者宾语的本地标签集合;w是顶点的权重,就等于该句子中所包含的RDF元祖的个数。3.根据权利要求1所述的基于RDF图的分布式关键词查询方法,其特征在于,所述步骤(2)是根据图分割的两个基本原则进行分割。一为了降低网络通信量,就要尽可能的降低被分割的边数量。因此利用顶点度最小的原则进行深度优先遍历,并使用模拟退火算法优化分割结果;二为了实现子图间数据的平衡性,将RDF图中的边平均分配到每一个子图中,即每个RDF子图中边的个数若将图Gs分割成k个子图,使用函数P表示每一个顶点所在的子图,其中不同的子图用{1,2...k}来表示,则标签j=p(s)表示句子s所在的子图为Sj,其中Sj满足下面两个条件且Si∩Sj=Φ,其中,RDF句子图的边分割算法的具体步骤,如下:A步骤:输入RDF子图中边的个数根据RDF句子图Gs,输入RDF子图中边的个数e;B步骤:设置“访问标志”求解RDF句子图中度数最小的顶点,将其放入到集合D中,并为每一个顶点设置一个“访问标志”;C步骤:遍历集合D中的顶点,对RDF句子图进行分割C1:给定集合D中顶点的访问顺序,若当前RDF句子图中...

【专利技术属性】
技术研发人员:郑志蕴丁阳李钝张行进王振飞
申请(专利权)人:郑州大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1