论文浅尝 | SPARQL 语言的 ASK 查询表达性研究进展

论文作者之一:杨炫兴,天津大学博士生。


链接:http://cic.tju.edu.cn/faculty/zhangxiaowang/publication/ASK.pdf


动机

SPARQL是万维网联盟(World Wide Web Consortium,简记W3C)推荐的知识图谱标准查询语言,其包含四类查询:SELECT、CONSTRUCT、ASK和DESCRIBE。与一般SELECT查询返回解不同,ASK查询返回布尔值(真或假)。自从2008年1月15日,万维网联盟W3C 首次发布SPARQL1.0到2013年进一步发布SPARQL1.1,以SELECT为代表的SPARQL基础理论取得较大进展。近年来,牛津大学开始研究CONSTRUCT并取得一些进展。然而,归咎于ASK基础理论刻画SPARQL的复杂问题,目前鲜有ASK基础理论研究工作。这项工作开始尝试研究ASK查询的表达能力(即,布尔表达性),并对SPARQL1.0标准的核心语言(由四个构子AND、OPT_F、UNION、FILTER构成的语言)以及这些子语言与SPARQL1.1标准中三类否定构子(Negation):DIFF_F、DIFF和MINUS结合的子语言,共计64个子语言,给出了其完整的表达关系哈斯图(Hasse Diagram)。相比SELECT查询表达性,ASK查询刻画的是子语言之间更细微的表达差异性。这项工作研究结果将有助于为SELECT查询提供优化理论基础,进一步完善SPARQL理论体系是官方提出的为RDF数据定制的查询语言。


亮点

本文的主要贡献可以概括为以下四点:

(1)分析并刻画了所有涉及SPARQL1.0算(AND,UNION,OPT_F,FILTER)的共16个子语言之间的表达关系哈斯图。

(2)分析并刻画了(1)中的16个子语言在引入MINUS算子后的表达关系哈斯图。

(3)   分析并刻画了(1)中的16个子语言在引入DIFF算子后的表达关系哈斯图。

背景知识

  • SPARQL 算子语义简介

SPARQL查询的语义通过映射集合(Mapping Set)来体现:一条三元组模式(triple pattern)在一个给定的RDF图上的语义为,一个包含所有能够“将该三元组模式匹配到该RDF图上(某条三元组)”的映射(mapping)的集合。

不同算子的语义代表了映射集合之间不同的二元操作,我们这里仅做直观的介绍,具体的形式化定义请参考论文。

(1)AND 算子代表“连接”的语义:(P1 AND P2)返回的是一个包含所有“同时将 P1 和 P2 匹配到图上(某个子图)”的映射的集合。

(2)UNION 算子代表“联合”的语义,(P1 UNION P2)返回一个包含所有“将 P1 或 P2 匹配到图上(某个子图)”的映射的集合。

(3)DIFF算子代表“减法”的语义,(P1 DIFF P2)返回一个包含所有“将P1匹配到图上(某个子图),且不能扩展为将 P2 匹配到图上(某个子图)”的映射的集合。

(4)MINUS算子的语义与DIFF相似。区别在于当 P1 和 P2 之间没有共享变量时,P1 DIFF P2 返回的是空集(此时 P2 非空,而因为没有共享变量不会产生冲突,任意P1中的映射都可扩展为 P2 中的映射)或 P1(此时 P2 为空集);而(P1 MINUS P2)返回的永远是 P1

(5)OPT 算子则是 AND 算子和DIFF的复合算子,(P1 OPT P2)= ((P1 AND P2) UNION (P1 DIFF P2))。

注:SPARQL标准支持OPT_F和DIFF_F,即允许FILTER内嵌到OPT和DIFF_F中。为了简洁阐述它们语义,我们还是以OPT和DIFF为例来介绍。

 

下面我们通过简单例子来展示不同算子的语义:

  • ASK查询与SELECT查询的区别

对于一个给定的查询(即图模式,graph pattern),SELECT查询返回的是一个包含所有将该图模式匹配到图上的映射的集合,ASK则返回的该映射集合是否为空的真值(True/False)。

两个查询P,Q在SELECT查询中等价当且仅当:对于任何查询图,P和Q在该图上的SELECT查询返回相同的映射集合。而两个查询P,Q在ASK查询中等价当且仅当:对于任何查询图,P和Q在该图上的ASK查询返回相同的真值。因此两个查询P,Q在SELECT查询中等价可以推导出其在ASK查询中也等价,反之则不一定成立。

  • ASK查询的表达性问题的定义

对于任意两个子语言W1和W2,我们称W1可被W2表达当且仅当:给定W1中任意的查询P,W2中都可找到一个查询Q,使得P和Q在ASK查询中等价。


理论分析

我们通过分析不同算子能够识别的图模式的特征,并以此为依据来判断64个子语言之间的可表达关系是否成立。

 

1.     AND只能被含有OPTASK查询表达

在ASK查询中,AND仅能被包含OPT构子的查询表达,这一点与SELECT查询一样。证明利用AND能表达圈性质,即一个图是否含有圈。换言之,非AND非OPT的ASK查询无法表达圈性质。

 

2.     含有OPTASK查询与含有ANDASK查询之间可表达关系复杂

如果允许FILTER,那么含有OPT的ASK查询能够表达含有AND的ASK查询;反之,如果不允许,那么含有AND的ASK查询能够表达含有OPT的ASK查询。意外的是,含有OPT的ASK查询与含有AND的ASK查询不总是相互可表达。

3.     FILTER不可被非DIFF_F或非OPT_FASK查询

FILTER包含对约束条件进行查询限制性,是不含有DIFF_F或OPT_F的ASK查询所表达。证明利用了非DIFF_F或非OPT_F的ASK查询无法识别完整的RDF图,然而FILTER可以利用不等词约束条件可以识别。

 

4.     UNION在非MINUSASK查询中是冗余的

UNION刻画ASK查询的非确定性。在ASK查询下,UNION不确定性能被OPT和FILTER中的弱不确定性表达。证明分别利用了逻辑德·摩根定律思想与DIFF吸收定律和FILTER的析取逻辑关系来表达UNION。然而,MINUS相比DIFF太弱不足以表达UNION。

5.     DIFF_F只能被含有DIFFFILTERASK查询表达

从DIFF_F的语义构造来看,DIFF_F同时含有DIFF和FILTER的语义特征。在ASK查询,DIFF_F的语义仍然具有重要特性。而且DIFF_F和AND结合能够表达整个本文研究SPARQL 1.1的核心子语言。从这个意义看,DIFF_F具有非常强大的表达性。除了AND,其它构子都能表示。DIFF相比DIFF_F来说,不能表达FILTER语义,因此ASK查询表达能力也降低很多。幸运地是,DIFF具有DIFF_F除了FILTER之外所有的表达能力,因此比MINUS具有较强的ASK查询表达能力。

 

6.     MINUS可以被任何否定ASK查询表达

在ASK查询中,MINUS描述的最弱的否定ASK查询。W3C仍然作为SPARQL1.1标准推荐,笔者觉得考虑工程实际需要。因为MINUS的语义逻辑性有所欠缺。在本项工作中,准确地给出了MINUS和DIFF差异之处(UNION查询)。两者之间差异的发现有助于工程师在实际应用中,能够准确使用。


总结

本文通过分析6个SPARQL算子在ASK查询中的表达性,刻画出了所有包含这六个算子的子语言之间的表达关系哈斯图。在ASK查询中,DIFF,AND和FILTER算子分别代表了分隔图(isolated graph),整体连通和查询图(同构层面上的)形状这三个彼此不相交的性质。这些新发现的性质对于SPARQL的查询的发现新优化方法提供了思路。


 

OpenKG

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

点击阅读原文,进入 OpenKG 博客。

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

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

相关文章

LeetCode 1021. 删除最外层的括号(栈)

文章目录1. 题目2. 解题1. 题目 题目链接 示例 1:输入:"(()())(())" 输出:"()()()" 解释: 输入字符串为 "(()())(())",原语化分解得到 "(()())" "(())"&#xf…

JVM CPU Profiler技术原理及源码深度解析

研发人员在遇到线上报警或需要优化系统性能时,常常需要分析程序运行行为和性能瓶颈。Profiling技术是一种在应用运行时收集程序相关信息的动态分析手段,常用的JVM Profiler可以从多个方面对程序进行动态分析,如CPU、Memory、Thread、Classes、…

Facebook提出生成式实体链接、文档检索,大幅刷新SOTA!

文 | 花小花Posy导言最近ICLR的rebutal 前后分数对比出来了,很多评委都改了分数,有改多的,也有改少的。今天给大家介绍的这篇高分论文竟然在rebuttal前后都保持高分,证明评委们对它的认可程度是很高的。实体检索任务的定义是&…

论文浅尝 | 知识库问答中关系检测的学习表示映射

论文笔记整理:吴涵,天津大学硕士,研究方向:自然语言处理。链接:Paper: https://arxiv.org/pdf/1907.07328v1.pdfCode: https://github.com/wudapeng268/KBQA-Adapter引入在关系检测任务中,对于训练数据中已…

LeetCode 1175. 质数排列

文章目录1. 题目2. 解题1. 题目 请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上;你需要返回可能的方案总数。 让我们一起来回顾一下「质数」:质数一定是大于 1…

ICLR最高分论文揭秘模型泛化,GNN是潜力股

文 | Jerry Qiu编 | 小轶我们都知道,人类在很多任务上都可以很好地完成“外推”,例如:啊不——我是说——例如,我们学会两位数的加减乘除后,就可以轻松将其推广至任意大整数的四则运算:从数学的角度来讲&am…

Android系统原生应用解析之桌面闹钟及相关原理应用之时钟任务的应用(一)

前段时间我一个朋友在面试回来问我:那个公司要5天之内完成一个项目,功能包括每天早上6点开始执行定时任务,大批量图片上传,大批量数据库同步。我心想,后两个功能还好说,可就是每天早上6点开始执行的这种定时…

配送交付时间轻量级预估实践

1. 背景 可能很多同学都不知道,从打开美团App点一份外卖开始,然后在半小时内就可以从骑手小哥手中拿到温热的饭菜,这中间涉及的环节有多么复杂。而美团配送技术团队的核心任务,就是将每天来自祖国各地的数千万份订单,迅…

论文浅尝 | 面向 cQA 的跨语言问题检索方法

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答。来源:WWW2019链接:https://dl.acm.org/citation.cfm?doid3308558.3313502本文提出了一种面向cQA的跨语言问题检索方法,旨在对于给定的问题检索…

揭秘Python并发编程——协程

原文链接:https://baijiahao.baidu.com/s?id1649450510185145678&wfrspider&forpc Python并发编程一直是进阶当中不可跨越的一道坎,其中包括进程、线程、协程,今天我们就来聊一聊协程。协程的定义很简单,从头到尾只有一条…

LeetCode 804. 唯一摩尔斯密码词(哈希+set)

文章目录1. 题目2. 解题1. 题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: “a” 对应 “.-”, “b” 对应 “-…”, “c” 对应 “-.-.”, 等等。 为了方便,所有26个英文字母对应摩尔…

计算机基础晦涩难懂?那你是没看他的图解文章!

这年头,写计算机基础的人好之又少,能把枯燥无味的计算机基础写的通俗易懂的人更是少,而就有一位叫「小林coding」的公众号横空出世,真的是一股清流,他酷爱「图解」计算机基础文章,真正做到了图解&#xff0…

Litho在美团动态化方案MTFlexbox中的实践

1. MTFlexbox MTFlexbox是美团内部应用的非常成熟的一种跨平台动态化解决方案,它遵循了CSS3中提出的Flexbox规范来抹平多平台的差异。MTFlexbox适用于重展示、轻交互的业务场景,与现有HTML、React Native、Weex等跨平台方案相比,MTFlexbox具备…

服务器部署docker

服务器部署docker docker简介## 可以把docker是一个容器,可以让开发者将自己的项目部署到这个容器中,最常用的场景是将自己的后端项目部署到服务器的时候会将其打入docker镜像中,可以理解为一个开销更小的虚拟机。 docker好处## 可以轻易地让…

LeetCode 461. 汉明距离(异或^ 与)

文章目录1. 题目2. 解题1. 题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y&#xff0c;计算它们之间的汉明距离。 注意&#xff1a; 0 ≤ x, y < 2^31.示例:输入: x 1, y 4输出: 2解释: 1 (0 0 0 1) 4 (0 1 0 0)…

论文浅尝 | NumNet: 一种带有数学推理的机器阅读理解模型

论文笔记整理&#xff1a;吴林娟。来源&#xff1a;EMNLP2019论文链接&#xff1a;https://arxiv.org/pdf/1910.06701.pdf开放源码&#xff1a;https://github.com/ranqiu92/NumNet概述本文提出了一个将数学推理融入机器阅读理解的模型——NumNet&#xff0c;其中利用数字感知的…

2021,你好哇!发个小红包可好~

小伙伴们&#xff0c;大家新年快乐哇&#xff5e;凡是过往皆序章&#xff0c;所有将来皆可盼。2020磨难太多&#xff0c;就祝大家2021多吃不胖叭&#xff01;原创即正义&#xff01;2020年对卖萌屋来说是非常不平凡的一年。这一年的时间里&#xff0c;卖萌屋坚守内容创作的初心…

降低软件复杂性一般原则和方法

一、前言 斯坦福教授、Tcl语言发明者John Ousterhout 的著作《A Philosophy of Software Design》[1]&#xff0c;自出版以来&#xff0c;好评如潮。按照IT图书出版的惯例&#xff0c;如果冠名为“实践”&#xff0c;书中内容关注的是某项技术的细节和技巧&#xff1b;冠名为“…

LeetCode 657. 机器人能否返回原点

文章目录1. 题目2. 解题1. 题目 在二维平面上&#xff0c;有一个机器人从原点 (0, 0) 开始。给出它的移动顺序&#xff0c;判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R&#xff08;右&am…

论文浅尝 | 基于图匹配神经网络的跨语言知识图对齐 (ACL 2019)

本文转载自公众号&#xff1a;PaperWeekly。作者&#xff1a;王文博&#xff0c;哈尔滨工程大学硕士生&#xff0c;研究方向为知识图谱、表示学习。动机在本篇文章之前&#xff0c;跨语言知识图谱对齐研究仅依赖于从单语知识图谱结构信息中获得的实体嵌入向量。并且大多数研究将…