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

一种结合Rete算法的RDF数据分布式并行推理方法技术

技术编号:11442543 阅读:89 留言:0更新日期:2015-05-13 13:01
本发明专利技术涉及一种结合Rete算法的RDF数据分布式并行推理方法,在MapReduce算法框架下结合Rete算法并行推理。在结合Rete算法的时候,不是简单的将RDF数据进行分割,而是在Map阶段完成alpha网络的功能,在Reduce阶段完成beta网络的功能。本发明专利技术所提出的一种结合Rete算法的RDF数据分布式并行推理方法只需要启动一个MapReduce推理任务就可以完成所有RDFS/OWL规则的一次性推理,通过多次的推理任务迭代实现针对海量RDF数据的高效推理。

【技术实现步骤摘要】
一种结合Rete算法的RDF数据分布式并行推理方法
本专利技术涉及语义网
,特别是一种结合Rete算法的RDF数据分布式并行推理方法。
技术介绍
语义万维网(SematicWeb)是万维网的扩展与延伸,当前万维网联盟(W3C)指定的本体标准主要包括RDF/RDFS和OWL。随着语义万维网(SematicWeb)的应用,产生了海量的语义信息。由于数据的复杂性和大规模性,如何通过语义信息并行推理高效地发现其中隐藏的信息是一个亟待解决的问题。目前集中式环境中已经无法满足大规模数据的需求;而分布式的环境能够实现大规模数据的推理。目前,在分布式环境下的推理已经有不少工作。如模糊pD*的推理、ALC逻辑的P2P网络推理、OWL2的EL++分布式推理以及分布式推理引擎WebPIE。这些推理的方法不够高效。这些推理的方案大部分结合了MapReduce计算框架,通过RDFS/OWL推理规则对数据进行推理。随着语义网中数据的急速增长,如何高效地进行大数据的推理是近两年的研究热点,但还处于研究的初始阶段。目前比较成熟的分布式推理引擎为WebPIE,虽然满足大数据的并行推理,但是由于WebPIE针对每一条规则启用一个或者多个MapReduce任务进行推理,而MapReduceJob的启动相对耗时,因此随着RDFS/OWL推理规则的增加,推理的效率受到了限制。集中式中的Rete算法具有并行的高效性,目前还没有结合Rete算法的分布式并行推理方案。实用在集中式环境下无法满足海量数据的需求,而分布式环境下的推理不够高效,推理的并行化。集中式环境下的Rete算法虽然能够高效地实现数据的推理,但是由于在alpha阶段和beta阶段执行任务时候需要大量的内存,导致它无法直接在集中式中处理大规模的数据推理。
技术实现思路
本专利技术的目的在于提供一种结合Rete算法的RDF数据分布式并行推理方法,以满足大规模数据的分布式并行推理的需求,同时保证Rete算法实现分布后推理数据的正确性。为实现上述目的,本专利技术的技术方案是:一种结合Rete算法的RDF数据分布式并行推理方法,其特征在于,按照如下步骤实现:S1:在MapReduce算法框架下结合Rete算法,在所述分布式并行推理方法的Map阶段完成Rete算法中alpha网络的建立,并根据输入的RDF数据和对应的RDFS/OWL规则,以键值形式输出满足对应RDFS/OWL规则前件的实例三元组;S2:在所述分布式并行推理方法的Reduce阶段完成Rete算法中beta网络的功能,并根据步骤S1中Map阶段的输出结果,完成RDF数据对应的所有RDFS/OWL规则的并行推理。进一步的,所述步骤S1还包括如下步骤:S11:将输入的RDF数据中与对应的RDFS/OWL规则中所有前件的模式三元组作为所述Map阶段的输入,并将该模式三元组加载到内存中;S12:将所述Map阶段输出的键(key)设定为规则名称,值(value)为满足对应RDFS/OWL规则前件的实例三元组;如果一个实例三元组数据满足的前件是多个规则的前件,则采用不同的键(key)冗余的存储该实例三元组数据;S13:将所述Map阶段的输出的实例三元组作为所述Reduce阶段的输入数据。进一步的,所述步骤S2还包括如下步骤:S21:在所述Reduce阶段,SubReduce阶段个数和键(key)个数匹配,以保证分布式的并行性和推理的完整性,每一个键(key)对应一个SubReduce阶段,根据每个实例三元组对应的键(key),将实例三元组进行组合,获取相同键(key)的实例组合列表值,并将组合后的实例组合列表值作为每个键(key)对应的SubReduce阶段的输入;S22:在每个SubReduce阶段中,根据该SubReduce阶段对应的键(key)将内存中的所述模式三元组与所述实例组合列表完成连接推理,并获取推理结果;S23:将所述推理结果保存到一推理三元组列表中,当该推理三元组列表中的数量达到预设阈值N后启动I/O输出,一次性将所述推理结果输出,以避免频繁的I/O输出造成系统性能的下降;输出的推理结果以键(key)和值(value)为变量的形式进行保存,其中N为大于或等于1的正整数。进一步的,所述步骤S22还包括:在加载模式三元组到内存过程中,将谓语相同的模式三元组存放到一个模式三元组列表中,并命名为P_list,P为该模式三元组的谓语;在每一个SubReduce阶段阶段,根据P_list中的每一个模式三元组,遍历每个三元组列表,判断是否存在与该模式三元组相同的,且用于连接推理的连接变量;若不存在相同的连接变量,则跳过该三元组;若存在相同的连接变量,则根据该键(key)对应的RDFS/OWL规则完成连接推理。进一步的,所述三元组列表为模式三元组列表或实例组合列表;所述三元组为模式三元组或实例三元组。进一步的,在执行连接推理过程中,优先连接符合条件的模式三元组,再连接实例三元组。进一步的,所述连接变量为所述模式三元组中的主语、谓语或宾语。相较于现有技术,本专利技术具有以下有益效果:本专利技术所提出的一种结合Rete算法的RDF数据分布式并行推理方法,能够通过启动一次MapReduce推理任务就完成RDFS/OWL所有规则的一次推理,即借助MapReduce计算框架高效地实现大规模数据的并行推理;和现有的推理方法相比,可以更加高效地进行推理,尤其是在数据量大、规则数量较多的情况下,效果更加明显,同时该方案的推理效率随着推理规则的增加变化较小。本专利技术弥补了现有的Rete算法在执行推理时占用内存过多、无法对大规模数据进行推理的局限性。由于数据的复杂性和大规模性,如何通过语义信息并行推理高效地发现其中隐藏的信息是一个亟待解决的问题,本专利技术在海量语义信息推理中意义深远,能够在复杂、大规模的数据中通过语义信息并行推理高效地发现其中的隐藏信息。附图说明图1为本专利技术一实施例中alpha网络和beta网络算法模型示意图。图2为本专利技术一实施例中结合Rete算法的分布式并行推理总体框架图。图3为本专利技术一实施例中结合Rete算法的一次分布式并行推理框架图。具体实施方式下面结合附图,对本专利技术的技术方案进行具体说明。本专利技术提供一种结合Rete算法的RDF数据分布式并行推理方法,其特征在于,按照如下步骤实现:S1:在MapReduce算法框架下结合Rete算法,在所述分布式并行推理方法的Map阶段完成Rete算法中alpha网络的建立,并根据输入的RDF数据和对应的RDFS/OWL规则,以键值形式输出满足对应RDFS/OWL规则前件的实例三元组,完成所述alpha网络的功能;S2:在所述分布式并行推理方法的Reduce阶段完成Rete算法中beta网络的建立,并根据步骤S1中Map阶段的输出结果,完成RDF数据对应的所有RDFS/OWL规则的并行推理,完成所述beta网络的功能。在本实施例中,Rete算法主要分为两个部分:alpha网络和beta网络,算法模型如图1所示;其中,alpha网络:在工作存储区元素WME(workingmemoryelements)中过滤数据,找出符合规则的每一个模式集合,生成满足该模式的集合。beta网络:有两种类型的节点BetaMemory和J本文档来自技高网
...
一种结合Rete算法的RDF数据分布式并行推理方法

【技术保护点】
一种结合Rete算法的RDF数据分布式并行推理方法,其特征在于,按照如下步骤实现:S1:在MapReduce算法框架下结合Rete算法,在所述分布式并行推理方法的Map阶段完成Rete算法中alpha网络的建立,并根据输入的RDF数据和对应的RDFS/OWL规则,以键值形式输出满足对应RDFS/OWL规则前件的实例三元组;S2:在所述分布式并行推理方法的Reduce阶段完成Rete算法中beta网络的功能,并根据步骤S1中Map阶段的输出结果,完成RDF数据对应的所有RDFS/OWL规则的并行推理。

【技术特征摘要】
1.一种结合Rete算法的RDF数据分布式并行推理方法,其特征在于,按照如下步骤实现:S1:在MapReduce算法框架下结合Rete算法,在所述分布式并行推理方法的Map阶段完成Rete算法中alpha网络的建立,并根据输入的RDF数据和对应的RDFS/OWL规则,以键值形式输出满足对应RDFS/OWL规则前件的实例三元组;S2:在所述分布式并行推理方法的Reduce阶段完成Rete算法中beta网络的功能,并根据步骤S1中Map阶段的输出结果,完成RDF数据对应的所有RDFS/OWL规则的并行推理;所述步骤S1还包括如下步骤:S11:将输入的RDF数据中与对应的RDFS/OWL规则中所有前件的模式三元组作为所述Map阶段的输入,并将该模式三元组加载到内存中;S12:将所述Map阶段输出的键(key)设定为规则名称,值(value)为满足对应RDFS/OWL规则前件的实例三元组;如果一个实例三元组数据满足的前件是多个规则的前件,则采用不同的键(key)冗余的存储该实例三元组数据;S13:将所述Map阶段的输出的实例三元组作为所述Reduce阶段的输入数据;所述步骤S2还包括如下步骤:S21:在所述Reduce阶段,SubReduce阶段个数和键(key)个数匹配,以保证分布式的并行性和推理的完整性,每一个键(key)对应一个SubReduce阶段,根据每个实例三元组对应的键(key),将实例三元组进行组合,获取相同键(key)的实例组合列表值,并将组合后的实例组合列表值作为每个键(key)对应的SubReduce阶段的输入;S22:在每个SubReduc...

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

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

1