基于规则驱动的查询扩展解决SPARQL查询空结果问题
立即解锁
发布时间: 2025-08-17 01:29:17 阅读量: 1 订阅数: 3 

### 基于规则驱动的查询扩展解决SPARQL查询空结果问题
在知识图谱的查询过程中,SPARQL查询有时会出现空结果的情况,这给信息获取带来了挑战。本文介绍了一种规则驱动的查询扩展方法(RQE),旨在解决SPARQL查询的空结果问题。
#### 1. 问题提出与贡献
在知识图谱查询中,存在两个关键问题:一是低质量规则需要尽快过滤;二是如何利用谓词的规则来确定知识图谱中不存在的三元组 ⟨s, p, o⟩ 的置信度。为解决这些问题,采用支持比例和部分完整性假设(PCA)下的精度来删除低质量规则,并通过构建规则特征向量和设计完整性感知的训练过程来为三元组赋予置信度。
主要贡献如下:
1. 应用规则学习技术解决SPARQL查询的空结果问题。
2. 设计完整性感知的训练过程,利用规则为三元组赋予置信度。
3. 通过分析和模仿现实世界问答数据集中的问题,构建空结果查询数据集EmptyQ,并从DBpedia的子图中提取两个数据集进行实验。实验表明,该方法在准确性和可解释性方面优于三种查询放松方法。
#### 2. 预备知识
##### 2.1 RDF知识图谱(KG)
知识图谱G是一组RDF三元组的集合。一个RDF三元组 ⟨s, p, o⟩ 由主体s、谓词p和客体o三个部分组成。主体和客体的集合称为节点,用N表示;谓词的集合用P表示。为了便于规则查找,对于每个 ⟨s, p, o⟩,会向知识图谱中添加逆三元组 ⟨o, p⁻¹, s⟩。
##### 2.2 基本图模式(BGP)
定义V为查询变量的集合,且V与N和P不相交。三元组模式是集合 (N ∪ V) × (P ∪ V) × (N ∪ V) 的成员。例如,⟨Gates, found, ?company⟩ 就是一个三元组模式,其中?company是查询变量。BGP B是一组三元组模式。本文将三元组模式限制为 ⟨s, p, o⟩,且只有s或o可以被查询变量v替换。同时,主要关注简单的SPARQL查询,其BGP只包含一个或两个三元组模式。
##### 2.3 规则
本文旨在挖掘和使用形如以下形式的规则:
```plaintext
locationCountry(x, y) ⇐ locationCity(x, z) ∧ country(z, y)
```
规则r是一个谓词序列 {p₀, ..., pₖ},当存在节点 {n₀, ..., nₖ₋₁} 可以连接节点s和o,即 s $\stackrel{p_0}{\longrightarrow}$ n₀ $\stackrel{p_1}{\longrightarrow}$ ... nₖ₋₂ $\stackrel{p_{k - 1}}{\longrightarrow}$ nₖ₋₁ $\stackrel{p_k}{\longrightarrow}$ o 时,称节点s和o满足规则r,记为 r(s, o) ∈ G;反之,r(s, o) ∉ G 表示不存在这样的节点连接s和o。规则体中谓词的数量就是规则的长度。
##### 2.4 部分完整性假设(PCA)置信度
封闭世界假设(CWA)认为知识图谱中不存在的任何三元组在现实世界中都不成立。对于谓词p的规则rᵢ,CWA下的精度P₍cwa₎(rᵢ) 计算公式如下:
```plaintext
Pcwa(ri) = #(s, o) : ri(s, o) ∈ G ∧ p(s, o) ∈ G / #(s, o) : ri(s, o) ∈ G
```
CWA会将一些正确的三元组归类为错误的,因此不够精确。AMIE采用部分完整性假设(PCA)计算规则的精度,其思想是如果知识图谱知道s的一些p谓词,那么它就知道s的所有p谓词。PCA精度P₍pca₎(rᵢ) 的计算公式如下:
```plaintext
Ppca(ri) = #(s, o) : ri(s, o) ∈ G ∧ p(s, o) ∈ G / #(s, o) : {∃o′ : ri(s, o) ∈ G ∧ p(s, o′) ∈ G}
```
在PCA下,规则rᵢ的召回率R₍pca₎(rᵢ) 和F分数F₍pca₎(rᵢ) 分别计算公式如下:
```plaintext
Rpca(ri) = #(s, o) : ri(s, o) ∈ G ∧ p(s, o) ∈ G / #(s, o) : p(s, o) ∈ G
Fpca(ri) = 2 · Ppca(ri) · Rpca(ri) / (Ppca(ri) + Rpca(ri))
```
#### 3. 相关工作
分析了三种查询放松方法的局限性:
##### 3.1 基于相似度的方法(SB)
该方法通过将失败查询中的某些节点或谓词替换为相似的节点或谓词来获取近似答案。其核心是计算节点/谓词之间的高质量相似度,但难点在于如何定义“相似”。例如,在查询Yann LeCun的学生和导师时,根据不同的查询约束,需要选择不同的相似节点,但现有方法往往在固定的相似度排名下选择节点。
##### 3.2 基于本体的方法(OB)
该方法遵循RDFS规则来放松查询。给定一个本体K,先计算K的扩展约简extRed(K),然后为规则分配不同的成本,再用于放松失败的查询。但该方法会检索出许多不相关的结果,且难以对这些结果进行排名。例如,使用规则 (6) 放松查询的约束 (1) 会得到 “?advisor rdf:type dbo:Person”,检索出大量不相关结果。
RDFS规则如下表所示:
| 规则组 | 规则内容 |
| ---- | ---- |
| 组A(子属性) | (1) (a,sp,b)(b,sp,c) ⇒ a,sp,c <br> (2) (a,sp,b)(X,a,Y ) ⇒ (X,b,Y ) |
| 组B(子类)
0
0
复制全文
相关推荐









