论文阅读05 KGVQL
介绍
随着知识图谱技术的发展,设计能够支持高效查询的查询语言成为了一个至关重要的研究课题,主要面临如下挑战:
- 易用性:像 SPARQL 和 Cypher 这类查询语言,虽然有丰富的语义,但由于其为专业人员设计,语法较为复杂。因此可能对不具备KG或查询语言专业知识的最终用户不友好
- 普遍性:文本查询语言对于一般用户难以使用,而现有的许多交互可视化查询语言都与某一类型的知识图谱绑定。对于不同种类的知识图谱,用户需要学习不同的查询方法,增加了学习成本
- 导航支持:现有查询语言无法在用户查询知识图谱时获得从查询结果到查询图的导航,更无法提供查询图到相应查询结果的双向转换轨迹。从问题到相应查询结果的过程示例如下图所示。视觉语言中的黑色箭头对应文本语言,而视觉语言中的红色箭头对应探索过程。
综上所述,现有的知识图查询语言,无论是 SPARQL 还是 Cypher,都需要用户具备专业知识,因此使用起来有一定困难。因此,有必要提出一种交互式可视化知识图查询系统来解决上述问题,该系统应独立于任何特定的知识图或查询语言,并可适应于诸如 RDF 图的 SPARQL 和属性图的 Cypher 或 Gremlin 等。
为此,本文提出了一种知识图可视化查询语言KGVQL,本文工作可以总结如下:
- 提出了一种支持多运算符(如UNION, OPT, FILTER和LIMIT)的知识图交互式可视化查询语言 KGVQL,并且独立于特定的底层图查询语言
- KGVQL 首次实现了查询图和查询结果之间双向转换的工作。它可以在用户探索知识图时提供查询结果的中间结果和轨迹,有效指导最终用户逐级构建查询图。
- 开发了一个交互式可视化查询界面 KGVQL,并通过实验证明其在帮助终端用户在速度和准确性方面查询和理解知识图方面的有用性。
KGVQL 语言
在本节中给出了与常见知识图查询意图相对应的五个用例。描述了KGVQL的可视化语法、到SPARQL语法片段的映射、构成查询和结果之间的轨迹的一般图以及双向转换的过程。
如上表所示,KGVQL 从相关工作和 DBpedia 基准中确定了五个常见用例(U1–U5),这些用例被视为 KGVQL 设计的实际背景。
U1–U5的组合涵盖各种知识图查询:U1 和 U2 分别按关键字和类型查询实体;U3 查询实体之间的关系;U4 限制从查询中获得的结果,即 FILTER 和 LIMIT;U5 涉及对各种运算符(即 UNION 和 OPT)的复杂查询。
可以确定交互式可视化查询语言和系统的设计需求如下:
(1) 查询结果应该被可视化地显示,且由于对大规模知识图谱的查询可能产生相当大的查询结果,因此需要最大限度地利用用户界面上的可用空间;
(2) 为了支持对大型知识图谱中包含的信息的访问,用户应该能够自由浏览知识图谱并轻松找到他们需要的信息;
(3) 此外,并非所有查询结果都直接满足用户的查询意图。在图谱浏览过程中,可能有一些用户感兴趣的节点。为了将查询结果与这些节点区分开来,KGVQL 突出显示了从表达用户查询意图的查询图中直接获得的查询结果。
KGVQL 基础元素
在不缺失通用性的前提下,KGVQL 可视化语法的设计基于 SPARQL 查询模式。
KGVQL 可视化查询的基本单元是由有向边连接的圆组成的查询图模式,用于表示知识图上的一般图匹配查询。
在此基础上,KGVQL通过使用具有不同操作符类型的双圆来支持各种操作符,从而将基本的查询图模式扩展为复杂的查询图模式。
如上表所示,几个基本元素被用来表示 KGVQL 的可视化语法:
(1) 实体元素 (E),实心圆表示知识图中的实体 (常量或变量);
(2) 关系元素 (R),有向实箭头表示实体之间的关系 (常量’p’或变量’?p’);
(3) 操作符元素 (OP),双圆表示操作符 (操作’C’,例如UNION, LIMIT);
(4) 参数值元 (PV),表示参数的矩形;
(5) 投影实体和投影关系元素 (PE 和 PR),虚线和箭头分别表示在查询结果中要投影的实体或关系。
知识图谱以实体和关系元素组成的有向图的形式给出。
定义1(知识图谱):知识图谱 G = (E, R) 是一个有向图,其中 E 是实体元素的有限集,R 是连接实体元素的关系元素的有限集。
KGVQL 可视化语法
KGVQL 的可视化语法是由基本元素组成的图模式表示的,也称为查询图模式,可以由基本元素递归地构造。
定义2:KGVQL查询图模式P的递归定义及可视化构造如下
**(单元查询图模式)**:由元素 $s,o \in S_E$ 和 $ p \in Sp$ 组成的图模式,p 在图形上与 s 和 o相连,这是一种查询图模式,其中 $ S_E$ 是实体元素 (E) 和投影实体元素 (PE) 的有限集, $S_P$ 是关系元素 (R) 和投影关系元素 (PR) 的有限集。
**(基本查询图模式)**:由多个查询图模式组成的图模式,这些查询图模式包含共同的实体,并由这些实体连接起来,这就是基本查询图模式。
**(受限查询图模式)**:如果 P 是一个查询图模式,那么带有操作符元素 $c \in S_C$ 和参数值元素 $v \in S_V$ 的 P 也是一个查询图模式,其中 $S_C$ 是操作符元素的有限集(OP,即 LIMIT 或 FILTER), $ S_V$ 是参数值元素(PV)的有限集。
**(组合图查询模式)**:由查询图模式 $P_1$ 组成的图模式,通过操作符元素 $c \in S_C$ 连接到查询图模式 $P_2$,是一个查询图模式,其中 $S_C$ 是操作符元素的有限集(OP,即 UNION 或 OPT)。 $P_1$ 的投影实体和投影关系集,应与 $P_2$ 的投影实体和投影关系集一致
单元查询图模式是 KGVQL 最基本的查询图模式,它相当于知识图中的三元模式
基本查询图模式可根据其共同的实体元素递归分解为多个单元查询图模式
受限查询图模式通过操作符元素(即LIMIT或FILTER)和参数值元素限制查询结果
组合查询图模式中,操作符元素UNION或OPT组合P1和P2,即(P1 UNION P2)和(P1 OPT P2)。
KGVQL 基于由图模式表示的查询,上表显示了使用KGVQL语法表示的查询图模式的各种情况。
给定查询图模式 P 和知识图谱 G,将 P 对 G 的结果记为查询结果 [P]c。操作符元素 (OP) 用于组合查询图模式或限制查询结果。参数值元素 (PV) 用作操作的参数,例如 FILTER 或 LIMIT。对于 FILTER,参数值是边和节点属性的约束,它们是由不等式符号 (<,>,<,>) 和方程符号 (=) 组成的术语的布尔组合。对于 LIMIT,参数值是一个常数。
作为 SPARQL 片段的 KGVQL
在 KGVQL 中,最终用户不需要学习特定的文本查询语言。通过 QBE,用户只需要在给定的界面上使用必要的图形元素并填写一些必填字段,就可以执行查询并获得相应的结果。
为了说明KGVQL语法的通用性,本节将介绍一个与 KGVQL 支持的查询特性等价的 SPARQL 语法片段,并通过示例展示 KGVQL 与 SPARQL 之间的映射,即KGVQL在SPARQL中的实现。
值得注意的是,SPARQL 使用词查询模式,而 KGVQL 使用词查询图模式。
让无限的成对不相交集合 $I$ 和 $L$ 表示知识图谱 RDF 数据模型中的 $URIs$ 和字面量。$T=(I \cup L)$是 RDF 术语的集合,RDF 图是 RDF 三元组 $(s, p, o) \in I \times I \times T$ 的有限集合,其中s、p、o分别表示知识图谱中事实的主语、谓语和对象。
关于 KGVQL与 SPARQL 之间映射部分不进一步详细记录。