1.一种基于规则的Spark分布式弹性语义流推理方法,其特征在于,包括:S1、获取RDF图;
S2、为RDF图的标识符构建双向字典;
S3、对RDF图进行划分得到模式图模型和实例图模型;
S4、利用双向字典基于模式图模型和实例图模型设计对应的键值模型;
S5、基于规则的Spark分布式弹性语义流推理引擎模块读取模式图模型和实例图模型中的模式数据和实例数据,根据RDFS规则的优化顺序执行Spark作业。
2.如权利要求1所述的基于规则的Spark分布式弹性语义流推理方法,其特征在于,步骤S3包括:
S301、将RDF图映射到多个模式图模型和实例图模型,Gs=(Vs,Es,Ls),Gi=(Vi,Ei,Li),Gs表示第s个模式图模型,Vs表示Gs对应的一组类或属性节点,Es表示Gs对应的子类和子属性关系以及属性的域和范围定义的一组边,Ls表示Vs和Es中元素的对应的双向字典映射值,Gi表示第i个实例图模型,Vi表示RDF类、实例、空白节点和文字的集合,Ei表示rdf:type和用户定义的属性,Li表示Vi和Ei中元素的对应的双向字典映射值;
S302、将模式图模型存储在主计算节点的文件系统中,将实例图模型存储在内存中。
3.如权利要求2所述的基于规则的Spark分布式弹性语义流推理方法,其特征在于,步骤S4包括:
S401、对于Vs中每一个RDF类节点v,设计一个类键值模型CR=
S402、对于Vs中的每一个RDF属性节点p,设计一个属性键值模型PR=
,p为PR的键,subp表示p的子属性列表,parp表示p的超属性列表,dom表示p对应的域,rag表示p对应的范围;
S403、对于Vi中的每个实例节点v,构造一个实例键值模型IR=<(C,v),(InList,OutList)>,(C,v)表示IR的键部分,(InList,OutList)表示IR的值部分。
4.如权利要求3所述的基于规则的Spark分布式弹性语义流推理方法,其特征在于,步骤S4还包括:
S404、将实例键值模型中的(C,v)设置为行键;
S405、将en和em分别作为列名存储在InList和OutList的列族中,将集合{vn}和{vm}存储在en和em列中的相应数据单元。
5.如权利要求4所述的基于规则的Spark分布式弹性语义流推理方法,其特征在于,步骤S5包括:
S501、从模式数据和实例数据中基于RDFS语义,列出RDFS规则,并优化规则推理顺序;
S502、利用Spark分布式弹性语义流推理引擎实现分布式弹性语义流推理。