摘要
近年来,随着知识图谱的发展,语义网中发布的RDF知识库数量和大小显著增加。为提高这些数据的可用性,许多联邦查询引擎应运而生。简单来说,给出一个联邦SPARQL查询,联邦系统从分布在不同的机器上并且自治的多个数据源上获取中间结果并整合得到最终结果。在本文研究的基于成本模型的联邦查询系统中,从输入查询到得到结果的过程大体分为分解子查询、数据源选择和查询规划。本文主要关注查询规划过程。由于该过程基于预估子查询的基数进行规划,因此基数估计的准确性至关重要。子查询的基数是指子查询的真实结果数量。传统方法通过匹配索引文件来估计查询基数,但是索引生成速度慢,且难以兼顾索引文件内存开销和信息完整性,往往造成基数估计误差大;除此以外,对于陌生和复杂的查询,基于索引的基数估计更加困难。 首先,针对索引文件构建慢且难以兼顾索引内存开销与估计准确性的问题,本文提出一种基于采样数据摘要的高效索引构建方法。数据摘要索引文件捕获RDF数据集的结构和语义信息,这对查询计划生成过程中子查询的基数估计至关重要。现有的数据摘要生成方法需要远程遍历每个源的完整数据,这个过程消耗很高的成本,且在大部分环境中,联邦查询无法完成对大数据集的统计工作。为解决这一缺陷,本文提出基于样图生成原始图近似数据摘要的方法,目标是在减少数据摘要索引文件生成时间和内存开销的同时捕获尽可能真实的计数信息。 其次,对于陌生和复杂的查询索引方法估计误差较大的问题,本文使用基于查询特征表示学习的方法来解决。受在SQL领域已取得很好的效果的深度学习MSCN模型启发,本文提出面向SPARQL查询特征编码框架,针对联邦知识查询的特点构建输入特征并调整模型,通过MLP模型学习和预测查询中的基数,同时使用word2vec模型来获取三元组模式的语义信息。 综上所述,本文提出基于采样数据摘要方法和基于表示学习的方法可以提高基数估计任务的准确率,对知识图谱联邦查询系统的发展具有重要意义。实验结果表明,采样数据摘要方法较基线至少节省70%的索引生成时间,并且仅从原始图的0.5%部分图上生成的估计数据摘要在查询准确率上与基线方法高度一致。查询表示学习的方法在LUBM上实验,结果显示该方法的估计误差远小于最近方法。