论文浅尝 | S3QLRDF: 用于大规模RDF数据分布式SPARQL查询的关系分割架构

笔记整理 | 孙磊,天津大学硕士。


动机

RDF形式的语义网的繁荣对高效、可伸缩以及分布式的存储和高可用和容错并行策略都有着要求。RDF数据的飞速增长提升了在分布式数据管理系统上高效划分策略的需求来提升SPARQL查询性能。

亮点

本文提出了新的用于RDF的关系分割架构Property Table Partitioning(PTP),它将现有的属性表基于独有的属性()划分成多个表来最小化输入数据和join操作。本文将介绍一个基于Spark,使用SQL在PTP架构上执行SPARQL查询的分布式RDF数据管理系统S3QLRDF

方法

S3QLRDF(SPARQL to Spark SQL for RDF)是一个基于Hadoop和Spark的针对大规模RDF数据的分布式SPARQL查询处理器。它将SPARQL编译成SQL并根据RDF数据分割架构PTP,使用了Spark的关系接口来进行查询执行。

l属性表划分

Modified Property Table是传统PT的一个修改版本,其中多值属性被使用如Array的嵌套数据结构存储在一个格子内。本文使用N-Triples格式的数据,首先创建一个TT(Triple Table),然后创建如下格式的PT(Property Table),其中n是RDF

数据集中独有属性的总数。这里每个RDF主语都被存储在主语列,它们的宾语值存储在对应的属性列中。下一步,将Modified Property Table基于独有属性划分成多个表。每个PTP表根据划分情况只包含有特殊值的主语,然后使用特殊属性作为划分的表名。下面的表2就是由表1获得的划分后的属性表。

本文还保存了一个统计文件来存储每个PTP表的实际大小和多值属性的名称,这将在查询生成时用到。

(1)查询处理

为了生成对应于SPARQL查询的Spark SQL表达式,本文了使用Flex,Bison和C++14实现了一个查询编译器。

BGP查询时SPARQL查询的核心,本文主要关注BGP分块。一个triple group(tg)由BGP中有相同主语的triple pattern构成。

考虑以下BGP

可被分成三个triple group,然后对每个triple group中固定值的数量进行计数,其中,tg1->1,tg2->1,tg3->0。这里每个triple group都可以不使用join来通过子查询来回答,三元组中的固定值都作为WHERE语句中的条件。主语和宾语基于它们在三元组中的位置被映射成变量。

因为系统知道PTP表的实际大小,对于一个triple group,它可以选择有最少三元组的表。例如,tg1有两个独有属性type和name,所以有两个候选表可用。从统计文件中可知,type表的三元组数量是5而name表是2,所以系统将为tg1选择name表。然后,系统将基于固定值的数量和选择的表大小来安排执行顺序。有最多固定值的triple group将有最高的执行优先级。当固定值数量相同时,有最少三元组的表将有更高的优先级。例如,tg1和tg2都有最多的固定值,但tg1选择的表比tg2选择的表有更少的三元组,所以tg1将有更高的执行优先级。所以最后的执行顺序是tg1->tg2->tg3。

全部的SPARQL翻译过程如下:

对应于tg1的子查询sq1为

由统计文件可知,author是一个多值属性。因此author列将被平整,对应于tg

2的第二个子查询sq2为:

对应于tg3的第三个子查询sq3为:

在得到最后的执行顺序以及每个triple group的变量映射后,我们得到了对应于bgp的sql查询:

因此,输入的SPARQL查询通过将操作符映射成对应的Spark SQL关键词被翻译成了对应的Spark SQL查询。SPARQL中的Filter表达式被映射成Spark SQL中的对应的WHERE语句中的Spark SQL陈述中的条件。OPTIONAL模式被映射到LEFTOUTER JOIN,UNION,LIMIT,ORDER BY,和DISTINCT可以直接被映射成Spark SQL中的对应语句。

理论分析

实验

作者使用了两个合成的数据集LUBM和WatDiv。LUBM是一个在2005年提出的数据生成器,被设计用来测试语义网存储的推理能力。LUBM提供了14个预先定义的测试查询,但是这些查询中大多数的结构都很简单并且都很相似。Waterloo大学在2014年发布了WatDiv,它被设计用来覆盖架构和数据驱动的4种不同类型的SPARQL查询,线性、星型、雪花和复杂型。

本文将S3QLRDF的原型与4种其他开源的基于Hadoop的系统:CliqueSquare、S2RDF、SPARQLGX和Rya进行对比。

图4列出了存储大小和数据加载时间。在数据加载阶段,本文将所有的URI使用对应的名称空间的前缀替代并且移除数据类型信息将其转换成原始类型来解析数据。

本文将S3QLRDF与其他系统从如下方面进行性能方面的比较:预处理(加载)时间,存储大小,查询执行时间。所有测量都测试四轮取平均值。S3QLRDF有两布加载过程,第一步创建属性表,第二步创建PTP表。因为Spark SQL有cacheTable功能将表缓存在内存中,对于缓存和不缓存PTP表的情况分别测量执行情况。

图5中,可以观察到S3QLRDF在LUBM上的表现好于所有其他系统至多一个量级。Q1和Q4是最有选择性的查询,返回很少的结果,S3QLRDF能在5200ms或更少的时间回答。这些查询是星型模式,S3QLRDF能使用PTP表高效地回答。对于最没有选择性地Q14,S3QLRDF也表现地比其他系统更好。Q2、Q8和Q12是复杂模式的查询,其中Q8和Q12产生的结果不随着数据集的大小增加而变化。

图6和7展示了不同系统在WatDiv数据集上的表现对比,S3QLRDF和S3QLRDF-CT的表现再次在所有类型查询中随着数据集大小增加有很好的表现。

总结

本文提出了一个基于PTP存储架构和Spark的分布式RDF存储和SPARQL查询系统S3QLRDF。S3QLRDF通过将SPARQL编译成SQL使用Spark SQL的接口来执行查询。本文通过在Hadoop集群上使用不同数据集和多种查询类型,与其他系统进行性能评价比较。本文提出的S3QLRDF系统对于所有查询类型的表现达到了分布式SPARQL查询处理器的最佳。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美团DSP广告策略实践

近年来,在线广告在整个广告行业的比重越来越高。在线广告中实时竞价的广告由于其良好的转化效果,占有的比重逐年升高。DSP(Demand-Side Platform)[1]作为需求方平台,通过广告交易平台(AdExchange&#xff0…

推荐几个出论文的好方向

如果你准备发AI方向的论文,或准备从事科研工作或已在企业中担任AI算法岗的工作。那么我真诚的向大家推荐,贪心学院《高阶机器学习研修班》,目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解,四个模块…

LeetCode 414. 第三大的数

1. 题目 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1.示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的…

论文浅尝 - ICLR2021 | BERTology 遇上生物学:在蛋白质语言模型中解释注意力

来源:ICLR2021链接:https://arxiv.org/abs/2006.15222v3一.动机Transformer架构已经被证明可以学习有用的蛋白质分类和生成任务表示。然而,在可解释性方面存在挑战。二.亮点本文通过attention分析蛋白质Transformer模型,通过atten…

Vuex框架原理与源码分析

Vuex是一个专为Vue服务,用于管理页面数据状态、提供统一数据操作的生态系统。它集中于MVC模式中的Model层,规定所有的数据操作必须通过 action - mutation - state change 的流程来进行,再结合Vue的数据视图双向绑定特性来实现页面的展示更新…

在错误的数据上,刷到 SOTA 又有什么意义?

文 | Severus编 | 小轶小编注:前段时间,小屋介绍了吴恩达老师近期发起的以数据为中心的 AI 竞赛(参见《吴恩达发起新型竞赛范式!模型固定,只调数据?!》)。吴恩达老师认为&#xff1a…

论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型

笔记整理 | 耿玉霞,浙江大学直博生。研究方向:知识图谱,零样本学习等。论文链接: https://arxiv.org/pdf/2007.06267.pdf本文是发表在NeurIPS 2020上的一篇基于Box的知识图谱表示学习模型的文章。在以往知识图谱表示学习(KG Embe…

LeetCode 127. 单词接龙(图的BFS/双向BFS)

文章目录1. 题目2. 图的BFS解题2.1 单向BFS2.2 双向BFS !厉害了1. 题目 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。 转换需遵循如下规则: 每次转换只能改变…

Leaf——美团点评分布式ID生成系统

在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足…

@开发者,第二届马栏山杯国际音视频算法大赛高分攻略请查收,心动大奖等你来战!...

一秒让墙上的广告消失,保留完整墙面;户外大屏幕显示LOGO被擦除后,背景毫不违和……欢迎来到魔法世界——停!这其实并不是什么魔法,而是由弗吉尼亚理工大学提出的基于流的视频补全算法FGVC的一项应用。作为视频的“橡皮…

论文小综 | Attention in Graph Neural Networks

作者 | 方尹、杨海宏,浙江大学在读博士,主要研究方向为图表示学习近年来,图卷积神经网络(Graph Convolutional Network, GCN)利用图卷积从图结构数据中提取特征,成功应用于节点分类、图分类、链接预测等任务,用途广泛。…

LeetCode 126. 单词接龙 II(图的BFS)

1. 题目 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。 转换需遵循如下规则: 每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。 说明: 如果…

外卖订单量预测异常报警模型实践

外卖业务的快速发展对系统稳定性提出了更高的要求,每一次订单量大盘的异常波动,都需要做出及时的应对,以保证系统的整体稳定性。如何做出较为准确的波动预警,显得尤为重要。 从时间上看,外卖订单量时间序列有两个明显的…

聊一聊“超大模型”

文 | 金雪锋源 | 知乎最近经常被问,你看“万亿的模型都出来了,你们训练的千亿模型是不是落伍了?”我想说:“虽然都叫超大模型,但是类型是不一样的,虽说每一类模型训出来都不容易,不过澄清一下概…

技术动态 | 不确定性知识图谱的表示和推理

本文转载自漆桂林知乎。作者 | 张嘉韬、漆桂林、吴天星文章链接 | https://zhuanlan.zhihu.com/p/369068016

LeetCode 665. 非递减数列(双指针)

1. 题目 给定一个长度为 n 的整数数组&#xff0c;你的任务是判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中所有的 i (1 < i < n)&#xff0c;满足 array[i] < array[i 1]。…

数据还是模型?人类知识在深度学习里还有用武之地吗?

文 | Severus编 | 小戏近些年来&#xff0c;随着数据量越来越多&#xff0c;算力价格越来越便宜&#xff0c;根植于数据算力的深度学习茁壮成长。在这种背景下&#xff0c;作为一种强有力的表示学习方法的深度学习让人们惊讶的发现&#xff0c;只要投喂足够多的数据&#xff0c…

LeetCode 130. 被围绕的区域(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个二维的矩阵&#xff0c;包含 ‘X’ 和 ‘O’&#xff08;字母 O&#xff09;。 找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的…

论文浅尝 - ECIR2021 | 两种实体对齐方法的严格评估

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源: ECIR 2021在这篇工作中&#xff0c;作者对两种SOTA实体对齐方法做了广泛的研究&#xff1a;首先仔细分析了现有benchmark的过程&#xff0c;并论证了其中存在一些缺陷&#xff0c;使得原始方法给出的实验结果之间可能存在不可…

Android App包瘦身优化实践

随着业务的快速迭代增长&#xff0c;美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK&#xff0c;直接导致APK体积不断增长。包体积增长带来的问题越来越多&#xff0c;如CDN流量费用增加、用户安装成功率降低&#xff0c;甚至可能会影响用户的留存率。APK的瘦身已经是…