我正在使用Protégé4.0和Pellet 2.2学习OWL 2.0,我正试图逐步理解基本概念。
因此,从类层次结构开始,我将一个类“Cat”作为SubClassOf“Things”。
如果我启动Pellet,一切正常,但是如果我DL查询“Cat”,我会将Directsubclasses“Nothing”和Subclasses“Nothing”显示为红色。
理由如下:
Explanation for: Nothing SubClassOf Cat
<Entailment1252345325436>SubClassOf Nothing and (not (Cat))
谢谢^ _ ^!
答案 0 :(得分:2)
Nothing 是空类,有时在DL表示法中写为⊥。在大多数情况下,如果您的类等效 Nothing ,那么这是一个建模错误。例如,如果你不小心定义了
Car EquivalentClass(hasDoors正好为2)
Car EquivalentClass(hasDoors正好4)
你会发现Car现在相当于 Nothing ,因为有些东西不能正好拥有2门和4门。这是意外。它在逻辑上没有任何错误,但通常你不希望你的类必然为空。因此,Protege必须以红色显示空类。
当然,空类 Nothing ,是每个类的子类,就像空集是每个集的子集一样,它必然是空的。
所以,你所看到的实际上并没有错。 什么应该是红色的,它应该是每个类的子类。一切都按照应有的方式发挥作用。