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

结合Spark平台的OWLHorst规则分布式并行推理算法制造技术

技术编号:15938938 阅读:45 留言:0更新日期:2017-08-04 21:46
本发明专利技术提供一种结合Spark平台的OWLHorst规则分布式并行推理算法:根据Spark RDD的特点,结合TREAT算法的原理,首先对RDF本体数据进行构建模式三元组对应的alpha寄存器Om_RDD或Pt_RDD并广播以及规则标记模型;对每条规则的模式前件进行连接并生成对应的连接模式三元组集合Rulem_linkvar_RDD,从而加快推理过程中的匹配速度;在OWL Horst推理阶段,结合MapReduce实现TREAT算法中的alpha阶段,实现多条规则的分布式并行推理,然后对推理结果进行去重处理;通过alpha寄存器和规则标记模型能够过滤大量实例三元组,减少Map阶段键值对的输出,从而减少了无效的网络传输。

A OWLHorst rule based distributed parallel inference algorithm based on Spark platform

The invention provides a parallel reasoning algorithm of distributed OWLHorst rules combined with the Spark platform: according to the characteristics of Spark RDD, combined with the principle of TREAT algorithm, firstly RDF ontology data model of three tuples corresponding to the alpha register Om_RDD or Pt_RDD and broadcast and marking rules of each rule model; mode of connection and the former to generate the corresponding connection mode of three tuple set Rulem_linkvar_RDD, thus speeding up the matching speed in the reasoning process; in the OWL Horst reasoning stage, combined with MapReduce to achieve alpha TREAT algorithm, distributed multi rule parallel inference, and the reasoning results are re processing; through the alpha register and the Rule Markup model can filter a lot three examples of tuples, reduce Map keys and values of the output stage, thus reducing the network transmission invalid.

【技术实现步骤摘要】
结合Spark平台的OWLHorst规则分布式并行推理算法
本专利技术属于语义网
,具体涉及一种结合Spark平台的OWLHorst规则分布式并行推理算法。
技术介绍
语义万维网中的RDF和OWL标准已在各个领域有着广泛的应用,如一般知识(DBpedia)、医疗生命科学(LODD)、生物信息学(UniProt)、地理信息系统(Linkedgeodata)和语义搜索引擎(Watson)等。随着语义万维网的应用,产生了海量的语义信息。由于数据的复杂性和大规模性,如何通过语义信息并行推理高效地发现其中隐藏的信息是一个亟待解决的问题。由于语义网数据的急速增长,集中式环境的内存限制,已不适用于大规模数据的推理。研究RDFS/OWL分布式并行推理是目前较新的一个领域。J.Urbani等人在RDFS/OWL规则集上采用WebPIE进行推理,能够满足大数据的并行推理;但该算法针对每一条规则启用一个或者多个MapReduce任务进行推理,由于Job的启动相对耗时,因此随着RDFS/OWL推理规则的增加,整体推理的效率受到了限制。顾荣等人提出了基于MapReduce的高效可扩展的语义推理引擎(YARM),使推理在一次MapReduce任务内即可完成RDFS规则的推理;但该算法并不适用于复杂的OWL规则的推理。此外,当某一规则产生的新三元组重复时,YARM会存在过多的冗余计算且产生无用数据。汪璟玢等人提出结合Rete的RDF数据分布式并行推理算法,该算法结合RDF数据本体,构建模式三元组列表和规则标记模型;在RDFS/OWL推理阶段,结合MapReduce实现Rete算法中的alpha阶段和beta阶段,从而实现Rete算法的分布式推理;但该算法在连接beta网络推理时需要消耗较多的内存且进行多次迭代时效率低下,因而此算法受到集群内存和平台的限制。顾荣等人提出了一种基于Spark的高效并行推理引擎(Cichlid),结合RDD的编程模型,优化了并行推理算法;但该算法未考虑规则能否被激活,均需要进行推理,因而造成了推理性能的浪费和传输的冗余。由于语义网数据的急速增长,集中式环境的内存限制,已不适用于大规模数据的推理。目前存在分布式推理引擎虽然能够实现数据的并行推理,但是MapReduce任务启动个数多且耗时,对于复杂的OWLHorst规则无法执行推理,且存在过多的冗余计算且产生无用数据,以及消耗大量的内存多次迭代效率低下,导致无法在数据量增大的情况下能够高效且正确的实现RDFS/OWL规则的推理。需要解决的技术问题:1.解决如何结合RDF数据本体构建模式三元组RDD和规则标记模型,以及TREAT算法中alpha阶段的构建,从而能够高效并行的完成OWLHorst全部规则的推理。2.结合提出的分布式方案提出了对应的并行推理方案,从而满足大规模数据的分布式并行推理的需求。
技术实现思路
为了解决上述问题,本专利技术提供一种结合Spark平台的OWLHorst规则分布式并行推理算法。本专利技术针对OWLHorst规则,提出了DPRS算法(DistributedparallelreasoningalgorithmbasedonSpark)。该算法在数据量动态增加的情况下能够高效地构建alpha网络,并执行正确的推理。为实现上述目的,本专利技术采用以下技术方案实现:一种结合Spark平台的OWLHorst规则分布式并行推理算法,其特征在于,包括以下步骤:S1:加载模式三元组集合Pj_RDD、OK_RDD和Rulem_linkvar_RDD并广播;模式三元组(Si,Pj,Ok)指的是三元组中主语、谓语和宾语的定义都在本体文件中其中,i,j,k表示具体的某个元素;模式三元组集合包含Pj_RDD与Ok_RDD设模式三元组(Si,Pj,Ok),则Pj_RDD={<Pj,{(Si,Ok)}>},表示具有相同Pj且Pj∉{rdf:type}的所有模式三元组中(Si,Ok)组成的集合,Ok_RDD={<Ok,{Si}>},表示具有相同Ok且Pj∈{rdf:type}的所有模式三元组中Si组成的集合;Rulem_link_RDD在RDFS/OWL规则中用于连接两个前件的模式三元组项,将每一条规则的连接变量信息以<key,value>的形式存储在Rulem_link_RDD,其中key存储该规则所有用于前件连接的模式三元组项,value存储该规则结论部分的模式三元组项;S2:构建规则标记模型Flag_Rulem并广播;Flag_Rulem标识规则m的状态是否为激活;规则不能激活时,Flag_Rulem=0;规则激活且为类型1时,Flag_Rulem=1;规则激活且为类型2时,Flag_Rulem=2;其中类型1表示:只包含一个前件的规则或模式三元组与实例三元组组合的规则,且只有一个实例三元组;类型2:模式三元组与实例三元组组合的规则,且有多个实例三元组;S3:对Flag_Rulem=1或Flag_Rulem=2的规则并行执行OWLHorst规则的并行推理,并输出中间结果;S4:删除重复三元组;S5:如果产生新的模式三元组数据,则跳至S2,如果产生新的实例三元组数据,则跳至S3,否则算法结束;实例三元组(si,pj,ok)指的是三元组中主语、谓语和宾语至少有一个的定义不是在本体文件中,且是具体的实例,其中,i,j,k表示具体的某个元素。与现有技术相比,本专利技术具有以下优点:1.结合Spark平台构建模式三元组集合并广播,减少了网络传输的开销。2.设计的冲突集更新策略,加快了数据更新速度从而提升了推理的效率。附图说明图1为本专利技术的总体框架示意图。图2为OWLHorst规则结构图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步解释说明。本专利技术提供一种结合Spark平台的OWLHorst规则分布式并行推理算法,其包括以下步骤:DPRS算法主要包括以下几个步骤:1.加载模式三元组集合Pj_RDD、Ok_RDD和Rulem_linkvar_RDD并广播。2.构建规则标记模型Flag_Rulem并广播。3.对Flag_Rulem的规则并行执行OWLHorst规则的并行推理,并输出中间结果。4.删除重复三元组。5.如果产生新的模式三元组数据,则跳至2,如果产生新的实例三元组数据,则跳至3,否则算法结束。本专利技术的整体框架图参见图1。定义1.(模式三元组,SchemaTriple)指的是三元组中主语(subject)、谓语(predicate)和宾语(object)的定义都在本体文件中。SchemaTriple表示为大写的S,P,O组成的(Si,Pj,Ok),其中,i,j,k表示具体的某个元素。定义2.(实例三元组,InstanceTriple)指的是三元组中主语(subject)、谓语(predicate)和宾语(object)至少有一个的定义不是在本体文件中,且是具体的实例。InstanceTriple表示为小写的s,p,o组成的(si,pj,ok),其中,i,j,k表示具体的某个元素。定义3.(模式三元组集合,SchemaRDD(包含Pj_RDD与Ok_RDD))设模式三元组(Si,Pj,Ok),结合定义1,则Pj_RDD={&本文档来自技高网
...
结合Spark平台的OWLHorst规则分布式并行推理算法

【技术保护点】
一种结合Spark平台的OWL Horst规则分布式并行推理算法,其特征在于,包括以下步骤:S1:加载模式三元组集合Pj_RDD、OK_RDD和Rulem_linkvar_RDD并广播;模式三元组(Si,Pj,Ok)指的是三元组中主语、谓语和宾语的定义都在本体文件中其中,i,j,k表示具体的某个元素;模式三元组集合包含Pj_RDD与Ok_RDD.设模式三元组(Si,Pj,Ok),则Pj_RDD = {<Pj, {(Si,Ok)}>},表示具有相同Pj且Pj∉{rdf : type}的所有模式三元组中(Si,Ok)组成的集合,Ok_RDD = {<Ok, {Si}>},表示具有相同Ok且Pj∈{rdf : type}的所有模式三元组中Si组成的集合;Rulem_link_RDD在RDFS/OWL规则中用于连接两个前件的模式三元组项,将每一条规则的连接变量信息以<key,value>的形式存储在Rulem_link_RDD,其中key存储该规则所有用于前件连接的模式三元组项,value存储该规则结论部分的模式三元组项;S2:构建规则标记模型Flag_Rulem并广播;Flag_Rulem标识规则m的状态是否为激活;规则不能激活时,Flag_Rulem=0;规则激活且为类型1时,Flag_Rulem=1;规则激活且为类型2时,Flag_Rulem=2;其中类型1表示:只包含一个前件的规则或模式三元组与实例三元组组合的规则,且只有一个实例三元组;类型2:模式三元组与实例三元组组合的规则,且有多个实例三元组;S3:对Flag_Rulem=1或Flag_Rulem=2的规则并行执行OWL Horst规则的并行推理,并输出中间结果;S4:删除重复三元组;S5:如果产生新的模式三元组数据,则跳至S2,如果产生新的实例三元组数据,则跳至S3,否则算法结束;实例三元组(si,pj,ok)指的是三元组中主语、谓语和宾语至少有一个的定义不是在本体文件中,且是具体的实例,其中,i,j,k表示具体的某个元素。...

【技术特征摘要】
1.一种结合Spark平台的OWLHorst规则分布式并行推理算法,其特征在于,包括以下步骤:S1:加载模式三元组集合Pj_RDD、OK_RDD和Rulem_linkvar_RDD并广播;模式三元组(Si,Pj,Ok)指的是三元组中主语、谓语和宾语的定义都在本体文件中其中,i,j,k表示具体的某个元素;模式三元组集合包含Pj_RDD与Ok_RDD.设模式三元组(Si,Pj,Ok),则Pj_RDD={<Pj,{(Si,Ok)}>},表示具有相同Pj且Pj∉{rdf:type}的所有模式三元组中(Si,Ok)组成的集合,Ok_RDD={<Ok,{Si}>},表示具有相同Ok且Pj∈{rdf:type}的所有模式三元组中Si组成的集合;Rulem_link_RDD在RDFS/OWL规则中用于连接两个前件的模式三元组项,将每一条规则的连接变量信息以<key,value>的形式存储在Rulem_link_RDD,其中key存储该规则所有用于前件连接的模式三元组项,value存储该规则结论部分的模式三元组项;S2:构建规则标记模型Flag_Rulem并广播;Flag_Rulem标识规则m的状态是否为激活;规则不能激活时,Flag_Rulem=0;规则激活且为类型1时,Flag_Rulem=1;规则激活且为类型2时,Flag_Rulem=2;其中类型1表示:只包含一个前件的规则或模式三元组与实例三元组组合的规则,且只有一个实例三元组;类型2:模式三元组与实例三元组组合的规则,且有多个实例三元组;S3:对Flag_Rulem=1或Flag_Rulem=2的规则并行执行OWLHorst规则的并行推理,并输出中间结果;S4:删除重复三元组;S5:如果产生新的模式三元组数据,则跳至S2,如果产生新的实例三元组数据,则跳至S3,否则算法结束;实例三元组(si,pj,ok)指的是三元组中主语、谓语和宾语至少有一个的定义不是在本体文件中,且是具体的实例,其中,i,j,k表示具体的某个元素。2.根据权利要求1所述的结合Spark平台的OWLHo...

【专利技术属性】
技术研发人员:汪璟玢叶怡新
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1