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

结合Redis内存数据库的分布式RDF关键词近似搜索方法技术

技术编号:14938861 阅读:118 留言:0更新日期:2017-04-01 00:51
本发明专利技术涉及一种结合Redis内存数据库的分布式RDF关键词近似搜索方法:首先结合RDF本体信息构建关键词集合对应的本体子图,利用语义评分函数对生成的本体子图进行排序;接着利用MapReduce计算框架实现分布式搜索,进行连接操作后返回Top‑k结果;如果返回的结果没有达到Top‑k,则对本体子图进行扩展,得到近似本体子图,再用语义相似度函数对近似本体子图进行排序,然后进行分布式近似搜索,直到返回Top‑k结果为止。本文算法解决了海量数据无法快速搜索和搜索效果不理想的问题,并且支持返回用户可能感兴趣的结果,具有深远的理论和实际意义。

【技术实现步骤摘要】

本专利技术涉及一种结合Redis内存数据库的分布式RDF关键词近似搜索方法
技术介绍
随着语义网的快速发展,资源描述框架(ResourceDescriptionFramework,RDF)作为语义数据的描述标准被广泛应用。众多机构和项目均采用RDF来表达元数据,如Wikipedia、DBLP、IBM的“智慧地球”项目。面对如此爆炸式增长的数据压力,如何存储和搜索大规模RDF数据成为亟待解决的问题。传统的存储技术在日益增长的数据面前暴露出许多不可克服的问题。然而结构简单的Redis数据库在存储海量的RDF数据时也能具备优秀的性能,满足了大规模RDF数据储存的需求。关键词搜索作为一种从RDF数据图检索信息的有效途径,普通用户在不需要熟悉任何标准的查询语言结构和底层数据模式的情况下就能快速有效地检索数据。根据查询处理方式的不同,RDF上的关键词查询大致可以分为两类。第一类是由关键词构造出形式化查询语句再得到查询结果。该类方法通常包括关键词映射、构建查询和查询排序三大步骤。GkirtzouK等人结合数据图将包含用户查询关键词的子图映射并翻译成SPARQL查询语句,进行查询操作后返回结果。但是这类方法需要构建关键词索引和数据图的模式索引,又要构建形式化查询语句,难于满足海量RDF数据存储和搜索的需求。第二类是由关键词直接构造查询的结果。这类方法通常需要借助有效的索引来快速定位子图并搜索结果,最常用的索引是倒排索引。文献以实体三元组关联图为模型,封装文本信息到关联图顶点标签上,利用斯坦纳树问题的近似算法解决RDF数据的关键词查询问题。但是这类方法需要构建并维护索引,在处理海量数据的时候显得力不从心。随着分布式思想的普及,要求关键词搜索不断演化为并行搜索分布式存储的大规模RDF数据。DeVirgilioR[12]等利用MapReduce计算模型将图并行问题转换为数据并行处理问题,实现了分布式RDF关键词的搜索。现有的分布式关键词搜索方法一般都是借助有效的索引机制,直接从大规模的RDF数据图中找到与关键词匹配的节点,进行复杂的连接操作后返回结果,并且现存的关键词搜索方法中用到的存储媒介一般都是基于磁盘读取的,这需要昂贵的计算成本且搜索效果不理想。大规模的RDF数据图中拥有数百万甚至上亿的节点,规模大小一般都是GB甚至TB级别的,直接从中找到匹配的节点并进行连接需要多次的迭代计算,这会耗费很多时间。同时,目前的关键词搜索中是假定用户明确自己的搜索意图,但是实际上用户对本体的结构和内容有可能并不了解,不同用户对同一事物的描述可能存在差异,用户可能也不明确自己的搜索意图。在这种情况下即使用户使用了明确的搜索关键词,搜索中仍然有可能返回空或少量的搜索结果。由于RDF本体涵盖了资源和属性的分类及关联,而且规模大小一般都为KB级别的,通过本体可以推导出任意两个类或者属性的关联关系。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种结合Redis内存数据库的分布式RDF关键词近似搜索方法,解决了海量数据无法快速搜索和搜索效果不理想的问题,并且支持返回用户可能感兴趣的结果,具有深远的理论和实际意义。为实现上述目的,本专利技术采用如下技术方案:一种结合Redis内存数据库的分布式RDF关键词近似搜索方法,其特征在于,包括以下步骤:步骤S1:对RDF本体和RDF实例数据进行预处理,并生成相应的文件;步骤S2:结合Redis分布式数据库集群的特点,将步骤S1中生成的文件内容分门别类地存储在Redis数据库集群的Set集合中;步骤S3:根据RDF本体信息和输入的关键词集合Q,先把关键词映射成对应的类或属性,然后在本体图上找到类或属性匹配的模式三元组,对所述模式三元组进行三元组连接,生成关键词集合对应的本体子图;步骤S4:利用语义评分函数对构建的本体子图进行打分并排序,得分高的优先进行分布式搜索,跳到步骤S5;步骤S5:Map阶段搜索本体子图中各个模式三元组对应的实例三元组;步骤S6:Reduce阶段则将接收到的实例三元组进行连接,得到结果子图,并返回结果子图;步骤S7:判断结果子图中的实例三元组是否达到k条,如果已经达到,则结束搜索,跳到步骤S12,否则跳到步骤S8;步骤S8:判断是否还有本体子图没有进行分布式搜索,如果有,则跳到步骤S4,否则跳到步骤S9;步骤S9:判断是否有扩展后的近似本体子图未进行分布式搜索,如果有,则跳到步骤S11,否则跳到步骤S10;步骤S10:根据本体扩展规则按步骤S4中的排序对本体子图进行扩展并生成近似本体子图,跳到步骤S11;步骤S11:利用语义相似度函数对生成的近似本体子图进行打分并排序,得分高的优先进行分布式搜索,跳到步骤S5;步骤S12:算法结束。进一步的,所述步骤S2中Set集合的具体存储方案如下:Class用于存储RDF本体信息中定义的类信息:Class={C1,C2,...,Ci,...,Cn本文档来自技高网
...
结合Redis内存数据库的分布式RDF关键词近似搜索方法

【技术保护点】
一种结合Redis内存数据库的分布式RDF关键词近似搜索方法,其特征在于,包括以下步骤:步骤S1:对RDF本体和RDF实例数据进行预处理,并生成相应的文件;步骤S2:结合Redis分布式数据库集群的特点,将步骤S1中生成的文件内容分门别类地存储在Redis数据库集群的Set集合中;步骤S3:根据RDF本体信息和输入的关键词集合Q,先把关键词映射成对应的类或属性,然后在本体图上找到类或属性匹配的模式三元组,对所述模式三元组进行三元组连接,生成关键词集合对应的本体子图;步骤S4:利用语义评分函数对构建的本体子图进行打分并排序,得分高的优先进行分布式搜索,跳到步骤S5;步骤S5:Map阶段搜索本体子图中各个模式三元组对应的实例三元组;步骤S6:Reduce阶段则将接收到的实例三元组进行连接,得到结果子图,并返回结果子图;步骤S7:判断结果子图中的实例三元组是否达到k条,如果已经达到,则结束搜索,跳到步骤S12,否则跳到步骤S8;步骤S8:判断是否还有本体子图没有进行分布式搜索,如果有,则跳到步骤S4,否则跳到步骤S9;步骤S9:判断是否有扩展后的近似本体子图未进行分布式搜索,如果有,则跳到步骤S11,否则跳到步骤S10;步骤S10:根据本体扩展规则按步骤S4中的排序对本体子图进行扩展并生成近似本体子图,跳到步骤S11;步骤S11:利用语义相似度函数对生成的近似本体子图进行打分并排序,得分高的优先进行分布式搜索,跳到步骤S5;步骤S12:算法结束。...

【技术特征摘要】
1.一种结合Redis内存数据库的分布式RDF关键词近似搜索方法,其特征在于,包括以下步骤:步骤S1:对RDF本体和RDF实例数据进行预处理,并生成相应的文件;步骤S2:结合Redis分布式数据库集群的特点,将步骤S1中生成的文件内容分门别类地存储在Redis数据库集群的Set集合中;步骤S3:根据RDF本体信息和输入的关键词集合Q,先把关键词映射成对应的类或属性,然后在本体图上找到类或属性匹配的模式三元组,对所述模式三元组进行三元组连接,生成关键词集合对应的本体子图;步骤S4:利用语义评分函数对构建的本体子图进行打分并排序,得分高的优先进行分布式搜索,跳到步骤S5;步骤S5:Map阶段搜索本体子图中各个模式三元组对应的实例三元组;步骤S6:Reduce阶段则将接收到的实例三元组进行连接,得到结果子图,并返回结果子图;步骤S7:判断结果子图...

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

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

1