[发明专利]一种基于查询计划的联邦型RDF系统Top-K查询与优化方法有效
申请号: | 202010977090.5 | 申请日: | 2020-09-17 |
公开(公告)号: | CN112100209B | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 葛宁超;彭鹏;秦拯;李明道;王青;张吉昕 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410082 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 查询 计划 联邦 rdf 系统 top 优化 方法 | ||
1.一种基于查询计划的联邦型RDF系统Top-K查询与优化方法,其主要特征是:
(1)基于同源归并的查询分解与数据源定位方法
定义集合D={D1,D2,D3,...,Dn}表示一个联邦型RDF系统有n个RDF数据源,对于每个RDF数据源Di离线提取其所有谓词m个,形成谓词集合P(Di)={P1,P2,P3,...,Pm},不同的RDF数据源的谓词集合之间可能存在交集,因此对于一个谓词可能有多个RDF数据源;定义一个Hash映射集合HP,S存储联邦型RDF系统中所有关系谓词及其对应的RDF数据源集合,其中每一个映射元素Pk,S表示一个谓词Pk的RDF数据源为集合S;
对于两个不同的谓词Pi和Pj,当它们的RDF数据源H(Pi)=H(Pj)时:①RDF数据源个数|H(Pi)|=1;②RDF数据源个数|H(Pi)|>1,且RS(P)表示包含谓词P的所有三元组主体集合,RO(P)表示包含谓词P的所有三元组客体集合,则表示包含谓词Pi和Pj的两个三元组可以合并为一个子查询,该子查询的RDF数据源为H(Pi);
(2)基于代价模型和动态规划的最优查询计划生成方法
对于联邦型RDF数据系统中任意一个谓词Pi,定义包含该谓词的三元组总个数为Sum(Pi)=card(σP=Pi(D));包含该谓词的三元组中不同的主体个数为Subject(Pi)=card(dom[πS(σp=pi(D))]);包含该谓词的三元组中不同的客体个数为Object(Pi)=card(dom[πO(σp=pi(D))]);表示包含谓词Pi的三元组前连接基数,表示包含谓词Pi的三元组后连接基数;则对于一个子查询中两个相连的三元组,设它们的谓词分别为P1、P2,P1的客体与P2的主体相连,则其查询代价为:
不同的子查询执行策略决定了子查询的连接顺序,而不同的子查询连接顺序的连接代价相差巨大;对于两个子查询Q1和Q2,它们的最小连接代价为:
其中M表示两个子查询相连三元组的主体取值个数,N表示对应的客体取值个数;对于用户提交的Top-K查询语句Q,经过查询分解后得到一系列子查询{Q1,Q2,Q3,...,Qn},这些子查询的最优执行计划采用动态规划算法生成;
(3)基于深度优先和子图剪枝的查询计划执行方法
根据最优查询计划执行子查询的过程中依然有更进一步的优化策略:①将前序子查询的查询结果作为后序子查询的values子句,缩小后序子查询子图匹配范围,进而提高查询效率;②针对Top-K查询特点,当执行完包含排序变量的子查询后,采用深度优先执行策略对当前查询结果进行剪枝,选取前K条数据作为后序子查询的values子句,大幅度缩小所有后序子查询子图匹配范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010977090.5/1.html,转载请声明来源钻瓜专利网。