[发明专利]一种基于Spark Streaming的流式RDF数据多关键词并行搜索方法有效
申请号: | 201810227329.X | 申请日: | 2018-03-20 |
公开(公告)号: | CN108509543B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 汪璟玢;于龙 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/28;G06F16/2458;G06F16/2453;G06F40/30 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark streaming rdf 数据 关键词 并行 搜索 方法 | ||
1.一种基于Spark Streaming的流式RDF数据多关键词并行搜索方法,其特征在于包括以下步骤:
步骤S1:根据基于Redis的分布式存储方案,将用户输入的关键词映射到RDF本体图上的类顶点或属性边,构建RDF本体类-属性二维模型,通过类之间的关系进行剪枝、去重、连接操作,构建对应的本体查询子图;
步骤S2:构建相关性评价函数,从结构紧密度和内容关联度两个方面对本体查询子图评分、排序;
步骤S3:根据本体查询子图的优先级,按照评分高至低的顺序依次利用MapReduce计算框架并行搜索当前本体查询子图上匹配的实例三元组,并按当前本体查询子图的连接关系进行连接得到当前结果子图,直至得到前Top-k个结果子图;
步骤S4:将步骤S3得到的Top-k的结果子图进行编码反转得到原始数据,并返还给用户;
步骤S1中,所述基于Redis的分布式存储方案具体为:采用Redis内存数据库集群作为数据存储的媒介,将RDF本体信息和大规模的RDF实例数据进行预处理,分门别类地存储在Redis内存数据库集群的Set集合中;所述数据预处理包括采用哈希算法对数据进行哈希编码压缩;
所述Redis内存数据库集群中包括本体存储数据、实例存储数据、哈希映射关系、以及历史数据,其各自的存储方案如下:
所述本体存储数据的存储方案为:在表Rdf_ontology中存储RDF本体类信息,以键值对的形式存储,其中键为类名,值为类的编号;在表SubPropertyOf中存储属性及其父属性的信息,以键值对的形式存储,其中键为属性,值为属性的父属性;在表SubClassOf中存储类及其父类的信息,以键值对的形式存储,其中键为类名,值为该类的父类;在表C_C_Property中存储属性以及属性连接的类对,其中键为属性,值为属性对应的类对构成的集合;在表Subject_Class中存储主语为同一类的模式三元组集合,其中键为主语所属的类的名称,值为属性和宾语所属类的组合;在表Object_Class中存储宾语为同一类的模式三元组集合,其中键为宾语所属的类的名称,值为属性和主语所属类的组合;
所述实例存储数据的存储方案为:在表Literal_Triple中存储标签对应的数据属性和实例的集合,以键值对的形式存储,其中键为标签,值为数据属性和实例;在表Instance_Class中存储实例与实例所属类的映射关系,以键值对的形式存储,其中键为实例,值为实例对应的类;在表SC_OP_OC中存储包含对象属性的模式三元组对应的实例三元组,以键值对的形式存储,其中键为实例三元组的主语,值为实例三元组的宾语;在表OC_OP_SC中存储表SC_OP_OC的反转备份,以键值对的形式存储,其中键为实例三元组的宾语,值为实例三元组的主语;
所述历史数据的存储方案为:在表His_Class_Graph中存储历史记录中搜索过的查询子图,其中键为Rdf_Ontology表中下标,下标按降序连接,值为本体查询子图;
所述哈希映射关系的存储方案为:表Prefix_Hash中存储Hash的形式存储前缀及其哈希值的信息,以键值对的形式存储,其中键为前缀,值为哈希值;在表Hash_Prefix中存储Hash的形式存储Prefix_Hash的反转备份,以键值对的形式存储,其中键为哈希值,值为前缀;在表Conflict中存储Set形式存储发生冲突的前缀,其中值为冲突的前缀字符串;
步骤S1中构建对应的本体查询子图具体包括以下步骤:
步骤S11:构建关联类图:对于用户输入的每一个关键词,首先根据表C_C_Property判断该关键词是否映射为属性,若为属性,则存储至属性集合中;如不为属性,则通过Rdf_Ontology、C_C_Property、Instance_Class、Literal_Triple四表确定该关键词映射的本体实例类,并将其存储到类的集合中;根据该关键词所属的类,将与其相关联的类连接起来,得到该类对应的关联类图,并将其放入关联类图的集合中;
步骤S12:将关联类图的集合、属性集合、以及类的集合作为本体查询子图的输入,依次通过剪枝和融合两个过程生成本体查询子图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810227329.X/1.html,转载请声明来源钻瓜专利网。