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


链接: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 博客。

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

  1. 论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述

    本文转载自公众号:计算机工程. 知识图谱可视化查询技术综述 王鑫, 傅强, 王林, 徐大为, 王昊奋 知识图谱作为符号主义发展的产物,是人工智能技术和系统中的重要组成部分,其在百科知识.生物信息.社交 ...

  2. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

  3. 论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:Knowledge Based System 链接:https://www.sciencedirect.com/science/a ...

  4. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  5. 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码

    本文内容源自往期「论文浅尝」,由 PaperWeekly 精选并重新排版整理,感谢 PaperWeekly. ISWC 2018 ■ 链接 | http://www.paperweekly.site/ ...

  6. 论文浅尝 | 近期论文精选

    本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly! TheWebConf 2018 ■ 链接 | https://ww ...

  7. ###好好好#######论文浅尝 | 基于图注意力的常识对话生成

    论文浅尝 | 基于图注意力的常识对话生成 OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/ ...

  8. 论文浅尝 | 改善多语言KGQA的 Zero-shot 跨语言转换

    笔记整理:谭亦鸣, 东南大学博士生 来源:NAACL'21 链接:https://aclanthology.org/2021.naacl-main.465/ 概述 为了扩展多语言知识图谱问答的应用,Z ...

  9. 论文浅尝 | Multilingual LAMA: 探索多语言预训练语言模型中的知识

    笔记整理:谭亦鸣,东南大学博士生 来源:EACL'21 链接:https://aclanthology.org/2021.eacl-main.284.pdf 概述 本文关注将语言模型(LM)视作一个知 ...

最新文章

  1. python装饰器原理-python装饰器原理和用法总结
  2. Java基础复习笔记系列 九 网络编程
  3. WOC?老板让我从Word中复制出1000张图片?
  4. P4643-[国家集训队]阿狸和桃子的游戏【结论】
  5. getmodifiers java_java – getModifiers()方法如何计算多个修饰符的值?
  6. vue 后端返回文件流下载文件
  7. 继苹果亚马逊之后 微软加入1万亿美元市值俱乐部
  8. Java中可以声明一个类为Static吗?
  9. eclipse启动报错 Java was started but returned exit code=13 解决方法
  10. 【数据库原理实验(openGauss)】视图
  11. error: (-205:Formats of input arguments do not match) All the matrices must have the same data type
  12. julia :谈循还,row 与 col who first?
  13. sqluldr2 用法简述
  14. 史上最强之《Pyqt》写游戏
  15. transformer 翻译模型
  16. 《黑手党2》全部50本花花公子杂志收集攻略
  17. session 的钝化和活化
  18. elasticSearch核心概念的介绍(七):常见的数据类型
  19. 金蝶新建生产领料单,单据编号不能自动填写
  20. 对2030年的人工智能的预测#AIGC的机会到底在何处?

热门文章

  1. 2009岁末之复用系统框架(B/S)
  2. 理解zookeeper选举机制
  3. python os renames_Python3 os.renames() 方法
  4. 昆明大学津桥学院计算机科学与技术,昆明理工大学津桥学院计算机科学与技术专业2015年在河南理科高考录取最低分数线...
  5. python特征匹配 查找_特征匹配+单纯形查找对象
  6. RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy()
  7. Python多线程下实现单例模式,以及limit实例模式
  8. 非大学生学计算机,浅谈非计算机专业大学生的计算机教学
  9. LeetCode 2138. 将字符串拆分为若干长度为 k 的组
  10. 天池 在线编程 两句话中的不常见单词(哈希计数)