实践中 EL 语言的 FO 重写计算
1. 问题引入与示例
在实际应用中,我们常常需要处理一些复杂的查询问题。例如,寻找患有与同一基因缺陷相关的两种病症的人。假设 ABox A 仅包含断言 OCA1aPatient(a) ,我们对 TBox T2 进行扩展得到 T3:
T3 := T2 ∪{OCA1aPatient ⊑ Person ⊓ hasDisease.OCA1aAlbinism
OCA1aAlbinism ⊑ ImpairedVision ⊓ MelaninDeficiency
OCA1aAlbinism ⊑ ∃causedBy.GeneDefect}
设 Q = (T3, Σfull, q3(x)) ,可以验证 A |= Q(a) 。根据相关引理,存在一个叉重写和一个分裂来证明这一点。叉重写为:
q′3(x) = ∃y1, z Person(x) ∧
hasDisease(x, y1) ∧ MelaminDeficiency(y1) ∧ ImpairedVision(y1) ∧
causedBy(y1, z) ∧ GeneDefect(z)
分裂 Π = ⟨R, S1, r1, μ, ν⟩ 定义如下:
- R = {x}
- S1 = {y1, z}
-
超级会员免费看
订阅专栏 解锁全文
8026

被折叠的 条评论
为什么被折叠?



