首页> 中国专利> 一种基于规则的Spark分布式弹性语义流推理方法

一种基于规则的Spark分布式弹性语义流推理方法

摘要

本发明公开了一种基于规则的Spark分布式弹性语义流推理方法,包括:S1、获取RDF图;S2、为RDF图的标识符构建双向字典;S3、对RDF图进行划分得到模式图模型和实例图模型;S4、利用双向字典基于模式图模型和实例图模型设计对应的键值模型;S5、基于规则的Spark分布式弹性语义流推理引擎模块读取模式图模型和实例图模型中的模式数据和实例数据,根据RDFS规则的优化顺序执行Spark作业。与现有技术相比,本发明采用分布式内存计算模型Spark,把面向分布式数据集的操作抽象成面向本地数据集的操作,进一步提高了大数据处理环境下迭代计算的效率,并且实现了分布式的内存RDFS推理,有助于进一步提升RDFS推理效率和可扩展性。

著录项

  • 公开/公告号CN113191498B

    专利类型发明专利

  • 公开/公告日2022-08-05

    原文格式PDF

  • 申请/专利权人 重庆交通大学;

    申请/专利号CN202110482360.X

  • 发明设计人 李韧;张露伊;杨建喜;王桂平;

    申请日2021-04-30

  • 分类号G06N5/04(2006.01);G06N5/02(2006.01);G06F16/36(2019.01);

  • 代理机构重庆博凯知识产权代理有限公司 50212;

  • 代理人张先芸

  • 地址 400074 重庆市南岸区学府大道66号

  • 入库时间 2022-09-06 00:40:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-05

    授权

    发明专利权授予

说明书

技术领域

本发明涉及数据处理技术领域,具体涉及一种基于规则的Spark分布式弹性语义流推理方法。

背景技术

语义网的快速发展使得人们可获得大量的知识图谱RDF数据。然而,大多数传统推理器都是基于集中式架构设计的,使得传统推理器在性能和可伸缩性方面表现较差,不可避免的限制了处理网络规模数据的可能性。

在分布式环境下,对大量的RDF数据进行高效的RDF模式(RDFS)推理和SPARQL查询是语义网领域的一项关键而富有挑战性的任务。目前,研究人员已经提出了几种大规模RDF数据的分布式查询和推理方法。但是,大多数都是基于MapReduce的并行推理方法,效率有待进一步提高。

综上所述,本发明公开了一种基于规则的Spark分布式弹性语义流推理方法,采用分布式内存计算模型Spark,把面向分布式数据集的操作抽象成面向本地数据集的操作,进一步提高了大数据处理环境下迭代计算的效率,并且实现了分布式的内存RDFS推理,有助于进一步提升RDFS推理效率和可扩展性。

发明内容

针对上述现有技术的不足,本发明公开了一种基于规则的Spark分布式弹性语义流推理方法,采用分布式内存计算模型Spark,把面向分布式数据集的操作抽象成面向本地数据集的操作,进一步提高了大数据处理环境下迭代计算的效率,并且实现了分布式的内存RDFS推理,有助于进一步提升RDFS推理效率和可扩展性。

为了解决上述技术问题,本发明采用了如下的技术方案:

一种基于规则的Spark分布式弹性语义流推理方法,包括:

S1、获取RDF图;

S2、为RDF图的标识符构建双向字典;

S3、对RDF图进行划分得到模式图模型和实例图模型;

S4、利用双向字典基于模式图模型和实例图模型设计对应的键值模型;

S5、基于规则的Spark分布式弹性语义流推理引擎模块读取模式图模型和实例图模型中的模式数据和实例数据,根据RDFS规则的优化顺序执行Spark作业。

优选地,步骤S3包括:

S301、将RDF图映射到多个模式图模型和实例图模型,G

S302、将模式图模型存储在主计算节点的文件系统中,将实例图模型存储在内存中。

优选地,步骤S4包括:

S401、对于V

S402、对于V

S403、对于V

优选地,步骤S4还包括:

S404、将实例键值模型中的(C,v)设置为行键;

S405、将e

优选地,步骤S5包括:

S501、从模式数据和实例数据中基于RDFS语义,列出RDFS规则,并优化规则推理顺序;

S502、利用Spark分布式弹性语义流推理引擎实现分布式弹性语义流推理。

综上所述,本发明与现有技术相比,具有以下技术效果:

(1)与现有技术相比,本发明采用分布式内存计算模型Spark,把面向分布式数据集的操作抽象成面向本地数据集的操作,进一步提高了大数据处理环境下迭代计算的效率,并且实现了分布式的内存RDFS推理,有助于进一步提升RDFS推理效率和可扩展性。

(2)本发明中,可根据实例键值模型设计内存中的存储模型,能够减少磁盘读写,提高效率。

(3)现有技术中,可以通过划分RDF规则来实现分布式推理方法,但这种方法只能将简单的逻辑数据划分为独立的分区,对数据的独立性有一定的要求,未充分考虑数据之间的关联性,因此其最终推理效果不佳。本发明采用了基于图划分的技术来实现RDFS规则推理,基于图划分技术,不仅可以充分考虑RDF图内部关系,同时可以清晰了解RDF图之间的关联性。

(4)在执行推理算法的过程中会产生大量重复的三元组数据,如不删除重复的三元组,会浪费系统资源,降低推理效率。本发明借助RDD中distinct和subtract完成删除重复三元组算法,避免了对系统资源的浪费。

附图说明

为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为本发明公开的一种基于规则的Spark分布式弹性语义流推理方法的流程图;

图2为Spark作业中的工作流程图;

图3为一RDF图示例;

图4为RDFS规则推理方法的流程图。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

如图1及图2所示,本发明公开了一种基于规则的Spark分布式弹性语义流推理方法,包括:

S1、获取RDF图;

S2、为RDF图的标识符构建双向字典;

S3、对RDF图进行划分得到模式图模型和实例图模型;

S4、利用双向字典基于模式图模型和实例图模型设计对应的键值模型;

S5、基于规则的Spark分布式弹性语义流推理引擎模块读取模式图模型和实例图模型中的模式数据和实例数据,根据RDFS规则的优化顺序执行Spark作业。

本发明利用Spark Streaming流数据处理框架,它为连续的数据流提供了一种叫做离散流(Discretized Stream,DStream)的高级抽象。离散流的原理是按照固定的持续时间,将连续的数据流分成小的时间片批次,这样,就可采用类似批处理的方法来处理每个批次中的数据。从Spark内部来看,离散流被表示为一个又一连串RDD构成的序列,应用于离散流上的转换操作都最终会交给Spark来转换为对底层RDD的操作。本发明采用分布式内存计算模型Spark,把面向分布式数据集的操作抽象成面向本地数据集的操作,进一步提高了大数据处理环境下迭代计算的效率,并且实现了分布式的内存RDFS推理,有助于进一步提升RDFS推理效率和可扩展性。

具体实施时,步骤S3包括:

S301、将RDF图映射到多个模式图模型和实例图模型,G

S302、将模式图模型存储在主计算节点的文件系统中,将实例图模型存储在内存中。

本发明中,将实例图模型缓存在内存中,能够减少磁盘的读写,提高效率。可根据“rdf:type”和用户定义的属性关系来划分G

具体实施时,步骤S4包括:

S401、对于V

S402、对于V

S403、对于V

C是v的RDF类,用“rdf:type”属性描述。InList={(e

具体实施时,步骤S4还包括:

S404、将实例键值模型中的(C,v)设置为行键;

S405、将e

e

本发明中,可根据实例键值模型设计内存中的存储模型,能够减少磁盘读写,提高效率。

此外,现有技术中,可以通过划分RDF规则来实现分布式推理方法,但这种方法只能将简单的逻辑数据划分为独立的分区,对数据的独立性有一定的要求,未充分考虑数据之间的关联性,因此其最终推理效果不佳。本发明采用了基于图划分的技术来实现RDFS规则推理,基于图划分技术,不仅可以充分考虑RDF图内部关系,同时可以清晰了解RDF图之间的关联性。

如图4所示,具体实施时,步骤S5包括:

S501、从模式数据和实例数据中基于RDFS语义,列出RDFS规则,并优化规则推理顺序;

S502、利用Spark分布式弹性语义流推理引擎实现分布式弹性语义流推理。

本发明中,基于RDFS语义,可以列出适用于本框架的RDFS规则。可通过分析不同规则间的前因后果,发现某些规则。

以表1及图3为例:

表1 RDFS规则

rdfs:domain用来表示属性的定义域;rdfs:range用来表示值域;rdfs:subPropertyOf用来表示主语是谓语的子属性,主语和谓语都是属性;rdfs:subClassOf用来表示主语是谓语的子类,主语和谓语都是一个类。

利用本发明的方法,发现的规则为规则5和规则11,只涉及模式数据并可生成新的类和属性层次,则模式推理可在主节点中实现,此外,由于RDFS规则2、3、7和9对模式和实例数据都起作用,某些规则如规则7和规则9的输入分别依赖于规则5和规则11的结果,则据此优化规则推理顺序。

生成分布式RDFS规则推理方法的具体操作如下:

对存储在主节点中的模型CR和PR执行规则5和规则11推理,对每个节点v和p,构建一个树模型来表示层次结构,并应用深度优先策略来迭代计算规则5和规则11的闭包,最后将这些推断和原始的类和属性层次组合为ΔCR和ΔPR;

通过从内存中访问IR数据,初始化一个名为RDD(IR)的键值对RDD对象;

对于RDD(IR),调用map和filter操作符来获得OutList.e与至少一个ΔPR.p(表示PR有一个属性节点p)。相匹配的模型IR,在这些匹配到的IR模型上执行规则7以推断实例关系,并将新的(s,p,o)三元组添加到模型IR,将结果存储到RDD(ΔIR);

其中(s,p,o),s即subject,声明被描述的事物,p即predicate,表明这个事物的属性,o即object,表示这个属性的值;

对于RDD(ΔIR),调用map和filter操作符来获得其OutList.e匹配的PR.p模型IR,并执行规则2和规则3以此获得基于域和范围定义的新的“rdf:type”语句,同时,通过与CR.v匹配并执行规则9来推断新的“rdf:type”语句;

其中,“rdf:type”用来表示主语是谓语的一个实例,主语是一个资源,谓语是一个类。

最后,将更新后的数据(进行规则推理后,优化了的RDF数据)更新到相应的存储器中。在执行推理算法的过程中会产生大量重复的三元组数据,如不删除重复的三元组,会浪费系统资源,降低推理效率。本发明借助RDD中distinct和subtract完成删除重复三元组算法,避免了对系统资源的浪费。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号