0

在 OWL 本体中,我们有:

P Domain A
P Range B
A subClassOf P max 1 Thing

提出 DL 查询

(1) P max 1 Thing

将返回 A;好的

(2) P exactly 1 Thing or P exactly 0 Thing

也将返回 A。

然而; 问

(3) P exactly 1 Thing

不会返回任何东西。并问

(4) P exactly 0 Thing

也将返回 Nothing。

我认为(3)+(4)结果的并集相当于(2)的结果。不幸的是,它不是!为什么?

4

1 回答 1

0

因为 OWL 语义不是外延的。“或”不是集合并集。根据您的公理,没有命名类是(3)或(4)的子类。

特别是,当您询问有关类的 DL 查询时,您会询问有关您的理论/本体所包含的公理的查询。在你的理论的所有可能的解释中,它们必须是正确的。这包括(至少)一个所有 A 都站在 P 中的另一件事,一个所有 A 站在 P 中恰好为零的其他事物,以及一个没有 A 实例的情况。DLQuerys 只会返回那些在所有解释中都为真,并且在某些解释中,A 的实例不满足 (3) 或 (4)。

于 2015-04-10T18:33:41.470 回答