[发明专利]结合本体的分布式RDF存储与查询优化方法有效
申请号: | 201510003243.5 | 申请日: | 2015-01-06 |
公开(公告)号: | CN104462610B | 公开(公告)日: | 2018-02-06 |
发明(设计)人: | 汪璟玢;方知立;郑翠春 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 福州元创专利商标代理有限公司35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结合 本体 分布式 rdf 存储 查询 优化 方法 | ||
技术领域
本发明属于海量RDF数据管理技术领域,具体涉及一种结合本体的分布式RDF存储与查询优化方法。
背景技术
目前有不少工作在讨论海量RDF分布式存储和查询问题,RDF分布式存储主要包括HDFS和HBase两种方案。研究者针对其存储方式的特点各自提出分布式RDF查询策略,例如:(1)采用SHARD将三元组哈希分布到集群中的各个节点,使得原本逻辑关系密切的三元组分散到了不同的物理节点,在执行复杂SPARQL查询时必须在网络上传输大量的数据,一定程度上影响了查询性能;(2)采用Hadoop结合RDF-3X[5]的方式,将RDF数据分散存储到集群中的RDF-3X数据库中,使彼此联系紧密的三元组能够存储到同一个节点上,从而减少查询时网络传输延迟;(3)一种RDF在HBase上的存储模式,采用MapReduce处理SPARQL查询中的连接操作时,将数据查询并写入HDFS作为MapReduce作业的数据源;(4)使用混合划分的查询方法来减少MapReduce的次数,从而达到减少频繁的I/O通信;(5)在已有视图的基础上优化SPARQL查询;(6)根据PredicateLead对数据进行预处理,采用JobPartitioner算法生成多个MapReduce任务进行查询连接处理得到查询结果;(7)使用多重连接过滤的方法替代传统的SQL连接查询,然后在工作流中合并不同的连接计划;(8)一个贪心的MapReduce任务生成算法,多个MapReduce任务迭代处理SPARQL BGP连接操作。
以上提到的几种RDF分布式查询算法均未考虑RDF的本体文件,同时现有的大部分分布式RDF查询优化算法对于每个查询语句都得采用一次MapReduce Job进行查询,然后对查询的结果进行迭代,尽管(7)通过多重连接过滤来减少查询语句的算法,但是其对于都是多变量的查询语句并不适用。考虑到Job的启动耗时,因此需要在保证查询效率的前提下,提出了IOMSQ算法来解决索引文件过大,Job启动过多的情况。
发明内容
有鉴于此,本发明的目的是提供一种结合本体的分布式RDF存储与查询优化方法。采用IOMSQ算法来解决索引文件过大,Job启动过多的情况,并且保证了查询效率。
本发明的实现方法采用以下方案实现:一种结合本体的分布式RDF存储与查询优化方法,包括以下步骤:
步骤S1:采用IOMSQ算法对RDF数据文件进行分割存储;
步骤S2:对分割后的数据文件进行查询预处理;
步骤S3:对分割后的数据文件进行分布式查询;
步骤S4:进行数据更新,所述的数据更新包括新增数据,删除数据,修改数据。
进一步地,所述步骤S1中的分割存储阶段包括以下步骤:
步骤S11:获取所述RDF本体文件中的所有的类,并创建以类名为文件名的文件;
步骤S12: 获取所述RDF数据文件中的所有的主语,再获取主语的Type属性所在的三元组与该主语所属的类;
步骤S13:把该主语的所有三元组存入到其主语所属的类的文件中,并用一个特殊标记表示一个主语的结束;
步骤S14:获取每个以类名为文件名的文件的大小,把文件名和对应的每个文件大小进行存储;
步骤S15:获取所述RDF数据文件中的所有的属性以及属性的定义域类,并建立属性与类的二维关系模型。
进一步地,所述步骤S2中的预查询处理阶段采用SPARQL查询语句,具体包括以下步骤:
步骤S21:按照主语的不同把查询语句分成N个查询语句块;
步骤S22:确定每个查询语句块要查询的以类名为文件名的文件集合;
步骤S23:确定语句块的查询顺序。
进一步地,所述步骤S3中的分布式查询阶段包括一个Map阶段和一个Reduce阶段;
所述的Map阶段查询一个语句块中的多个语句,把相同主语的所有三元组放在同一个分片进行查询,判断查询到的数据是否满足三元组模块,若满足则进入Reduce阶段;
所述的Reduce阶段把把所有Map阶段的输出作为输入,再将其输出到以Reduce阶段的key为文件名的文件中。
进一步地,所述步骤S4中所述的新增数据具体包括以下步骤:
步骤S411:对于所有要新增的三元组,按照主语的不同分成多个三元组块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510003243.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种企业信息发布管理平台
- 下一篇:一种用户活跃度的挖掘方法及相关设备