[发明专利]一种联邦型分布式RDF数据库上的多查询优化方法在审
申请号: | 201910000166.6 | 申请日: | 2019-01-01 |
公开(公告)号: | CN109710638A | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | 葛琪;彭鹏;秦拯 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410082 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重写 查询 查询匹配 数据库 三元组 数据源 优化 模式选择数据 部分相同 查询结果 查询效率 查询优化 局部结果 拓扑关系 系统性能 应用过程 最终结果 分解 图结构 有效地 子结构 剪枝 整合 匹配 发送 返回 共享 | ||
本发明公开了一种在联邦型RDF数据库上基于查询重写和连接(JOIN)优化的多SPARQL查询优化方法,其步骤包括:1)将接收到的每个SPARQL查询进行分解;2)为分解后的每个三元组模式选择数据源,利用基于SPARQL查询图结构与联邦型RDF数据库中数据源的拓扑关系的方法对数据源进行剪枝;3)将属于相同RDF数据源并且拥有相同子结构的三元组模式重写成相应的SPARQL查询;4)将重写查询发送到相应RDF数据源的SPARQL查询接口,得到部分本地查询匹配;5)利用本地查询匹配进一步优化重写查询,发送优化后的查询到相应RDF数据源的SPARQL查询接口并得到查询结果;6)将重写查询的部分相同计算整合在一起,共享这些相同匹配的局部结果;7)返回每个SPARQL查询的本地查询匹配进行连接后的最终结果。本发明实行的方法提高了系统性能和整体查询效率,在应用过程中能够有效地处理多SPARQL查询的请求。
技术领域
本发明属于联邦型分布式RDF数据查询优化技术领域,主要涉及一种在联邦型RDF数据库上基于查询重写和连接(JOIN)优化的多查询优化方法。
背景技术
RDF(Resource Description Framework)是由W3C提出的一种描述资源概念模型的框架,数据形式用三元组来表示。一个RDF数据文件包含多个资源描述,而一个资源描述由多个三元组语句构成。RDF数据中的三元组通常用<主语(subject),属性(property),客体(object)>来表示,一个RDF数据集可以被视为一系列三元组的集合。RDF的特性是即使底层模式不同也可以促进数据合并;能够扩展网络的链接结构;使用统一资源标识符(URI,Uniform Resource Identifier)命名事物之间的关系以及链接的两端。使用RDF模型,我们可以在不同应用程序之间混合、公开和共享结构化和半结构化数据。
SPARQL(Simple Protocol and RDF Query Language)是W3C设计的一种结构化RDF查询语言,用于查询和管理RDF数据。SPARQL最初由W3C在2008年发行,目前的最新版是2013年公开的SPARQL 1.1。
联邦型RDF数据库(Federated RDF System)是一种分布式数据库系统,它集成多个RDF资源为一个系统并提供对这些资源的访问和管理。具体而言,是将RDF数据储存在若干不同机器中“自治”的RDF数据源上,即这些机器中的子系统按其本地RDF管理系统对数据进行管理;同时,提供一个共同的接口给用户处理SPARQL查询。这些SPARQL查询接口都从属于“自治”的系统,即能够各自独立地接受SPARQL查询并得到匹配SPARQL查询的结果。其中,RDF数据源是指包含一定RDF数据集合和SPARQL查询接口的机器。
针对联邦型RDF数据库中这些“自治”的RDF数据源,如何有效地利用它们进行SPARQL查询处理拥有很大的实际应用需求。对于联邦型RDF数据库上的SPARQL查询处理而言,其中,最关键的问题就是在于如何处理那些无法通过一个RDF数据源上的单独处理来得到匹配的SPARQL查询。在执行无法由单个RDF数据源处理的SPARQL查询时,首先需要将查询进行分解,然后分别发送到各个机器上,通过各个机器上的本地SPARQL接口找到子查询的局部匹配,最终将全部局部结果连接后得到的最终匹配结果。而实际中,用户可能同时发送多个SPARQL查询到能够处理跨多个“自治”RDF数据源的联邦型RDF数据库系统上,这些查询之间存在一定相似性,而且,这些查询都无法仅通过一个RDF数据源处理上的计算得到匹配。如果只是依次对这些并发的SPARQL查询进行处理,由于没有利用多个SPARQL查询之间的相似性,系统处理查询的效率会比较低、吞吐量有限。
现有的联邦型RDF数据库上的SPARQL查询处理方法在查询分解与数据源选择时都以每个三元组模式为基本单元。即分别求出每个三元组模式所涉及的RDF数据源。对于多SPARQL查询,现有技术只考虑了逐个对单个查询进行处理而忽略了多个三元组模式间的相似性,这使得一个三元组模式所涉及RDF数据源的数量会被高估而产生过多无效的开销,查询效率低。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910000166.6/2.html,转载请声明来源钻瓜专利网。