[发明专利]基于Spark Streaming的流式RDF数据并行推理算法有效
申请号: | 201810521793.X | 申请日: | 2018-05-28 |
公开(公告)号: | CN108763451B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 汪璟玢;陈晓曦 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06N5/04 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 spark streaming rdf 数据 并行 推理 算法 | ||
1.一种基于Spark Streaming的流式RDF数据并行推理算法,其特征在于,包括如下步骤:
步骤S1、结合OWL Horst 推理规则,构建相应的规则连接变量关系表;在迭代并行推理阶段定时获取Streaming数据流中的批量新数据以及前次推理产生的数据作为输入数据,对输入的模式数据和实例数据进行归类处理并存储到相应的Redis集群;
步骤S2、根据规则连接变量关系表,判断本次推理能够激活的规则,结合相应的实例数据产生推理数据;
步骤S3、删除本次推理产生的重复数据并存储,本次迭代推理结束;
步骤S1中,所述模式数据即模式三元组数据,所述实例数据即实例三元组数据;
所述实例三元组数据存储到Redis集群中的方式为:根据Redis集群的特点,采用key,value的形式,以三元组中的主语S、谓语P、宾语O分别作为key,即分别以 S, (P,O) 、P, (S,O) 和O, (S,P) 的形式存在三张表中;
所述模式三元组数据存储到Redis集群中的方式为:将OWL Horst 推理规则的每一条规则生成对应一张表Rulem_Table,存储在Redis中;以规则作为表名,根据每个规则连接变量个数的不同分为2类:无需连接变量的规则、有连接变量的规则;
无需连接变量的规则:在Redis中的存储方式以P作为key,S,O作为value来存储;
有连接变量的规则:
(1)对于单个连接变量的规则,在Redis中的存储方式以P作为key,且只有一个key取值;
(2)对于复杂的有多个连接变量的规则,在Redis中的存储方式以P作为key,S、O以S,O,0、O,S,1的Map型式存入value,其中0表示key为主语,1表示key为宾语。
2.根据权利要求1所述的基于Spark Streaming的流式RDF数据并行推理算法,其特征在于,步骤S2的具体实现过程如下:
步骤S21、遍历规则连接变量关系表,判断能够激活的规则;
步骤S22、对于能够激活的规则,如果不需要实例三元组数据就可直接推理得出结论,则跳至步骤S23;如果需要结合实例三元组数据,那么以每个规则需要的实例三元组数据的连接变量作为key,从事先存储好的实例表去找对应的实例三元组数据,如果能找到对应的实例三元组数据,则进入步骤S23,否则重复步骤S22的判定工作;如果所有数据都完成计算,则结束算法;
步骤S23、执行当前规则推理,得到推理结论,将推理产生的三元组Si,Pj,Ok输出到集合 Si, (Pj,Ok)中,并跳至步骤S22。
3.根据权利要求2所述的基于Spark Streaming的流式RDF数据并行推理算法,其特征在于,步骤S3的具体实现过程如下:
步骤S31、接收步骤S2推理生成的新三元组集合,如果接收到的数据为空,则结束算法;
步骤S32、遍历接收到的新三元组集合,去除其中重复的三元组;
步骤S33、将去重后的三元组集合以itr_data为集合名,保存于Redis集群中,用于下次推理的读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810521793.X/1.html,转载请声明来源钻瓜专利网。