为什么 Pellet 推断出一个具有无限 "Entailment" 理由的不一致 "Nothing" 子类?
Why has Pellet inferred an inconsistant "Nothing" subclass with infinite "Entailment" justifications?
我正在使用 Protégé 4.0 和 Pellet 2.2 学习 OWL 2.0,我正在尝试逐步理解基本概念。
因此,从 class 层次结构开始,我制作了一个 class "Cat" 作为 SubClassOf "Things"。
如果我启动 Pellet,一切正常,但如果我进行 DL 查询 "Cat",我有 Directsubclasses "Nothing" 和 Subclasses "Nothing" 显示为红色。
- 这是什么意思?
- 为什么是红色的?
理由如下:
Explanation for: Nothing SubClassOf Cat
<Entailment1252345325436>SubClassOf Nothing and (not (Cat))
- 这是什么意思?
- 为什么有无穷无尽的这些 "Entailment" 理由(我的意思是我只创建了 1 个 class)。
- 是不是我犯了一个错误我必须改正才能避免这种现象?或者我应该不关心它?
谢谢^_^!
Nothing是空的class,有时写成⊥在 DL 符号中。在大多数情况下,如果您有一个 等价于 到 Nothing 的 class,这是一个建模错误。例如,如果您不小心定义了
Car EquivalentClass (hasDoors exactly 2)
Car EquivalentClass(正好有 4 个门)
您会发现 Car 现在等同于 Nothing,因为某物不能恰好有 2 扇门和恰好 4 扇门。那是一起 事故 。它在逻辑上没有任何错误,但通常你不希望你的class必然是空的。因此,Protege 显示红色的 classes 必然是空的。
当然,空class、Nothing、是每个[=的子class 41=],就像空集是每一个集合的子集一样,必然是空的
所以,您所看到的实际上没有任何问题。 Nothing 应该是红色的,它应该是每个 class 的子class。一切都在按应有的方式运行。
我正在使用 Protégé 4.0 和 Pellet 2.2 学习 OWL 2.0,我正在尝试逐步理解基本概念。
因此,从 class 层次结构开始,我制作了一个 class "Cat" 作为 SubClassOf "Things"。
如果我启动 Pellet,一切正常,但如果我进行 DL 查询 "Cat",我有 Directsubclasses "Nothing" 和 Subclasses "Nothing" 显示为红色。
- 这是什么意思?
- 为什么是红色的?
理由如下:
Explanation for: Nothing SubClassOf Cat
<Entailment1252345325436>SubClassOf Nothing and (not (Cat))
- 这是什么意思?
- 为什么有无穷无尽的这些 "Entailment" 理由(我的意思是我只创建了 1 个 class)。
- 是不是我犯了一个错误我必须改正才能避免这种现象?或者我应该不关心它?
谢谢^_^!
Nothing是空的class,有时写成⊥在 DL 符号中。在大多数情况下,如果您有一个 等价于 到 Nothing 的 class,这是一个建模错误。例如,如果您不小心定义了
Car EquivalentClass (hasDoors exactly 2)
Car EquivalentClass(正好有 4 个门)
您会发现 Car 现在等同于 Nothing,因为某物不能恰好有 2 扇门和恰好 4 扇门。那是一起 事故 。它在逻辑上没有任何错误,但通常你不希望你的class必然是空的。因此,Protege 显示红色的 classes 必然是空的。
当然,空class、Nothing、是每个[=的子class 41=],就像空集是每一个集合的子集一样,必然是空的
所以,您所看到的实际上没有任何问题。 Nothing 应该是红色的,它应该是每个 class 的子class。一切都在按应有的方式运行。