Protege 4.1中的OWL本体和不良个体不一致

时间:2013-01-18 03:50:21

标签: rdf semantics ontology owl protege

隐士事实推理后,我使用 Protege 4.1 关于生物(生物分类)设计了 OWL本体作业我收到了inconsistent ontology, bad individuals,但我对OWL本体并不熟悉,也不了解如何解决这些关于不一致和个人的错误。

EDIT1

<小时/> 我的类层次结构如下所示:

Thing
    Plante
    Vietuitoare
        VietuitoareDenumireStiintifica
        Specii
            Vertebrate
                Reptile
                Pesti
                Pasari
                Mamifere
            Nevertebrate
                Moluste
            Interertebrate
                Insecte
        Hrana
            Ierbivor
            Carnivor
            Omnivor
        Deplasare
            Inot
            Taratoare
            Picioare
                Biped
                Patruped
                Poliped
            Aripi
        Habitat
            Acvatic
            Campie
            Padure
            Munte
        PartiAnatomice
            SiraSpinarii
            Aripa
            InvelisExterior
                Cochilie
                Solzi
                Blana
                Pene
        RelatieAsociere
            RelatieCuOm
                Domestice
                Salbatice
            RelatieCuAlteAnimale
                Singuratate
                GrupuriMici
                    Haite
                    Carduri
                GrupuriMari
                    Stoluri
                    Colonii


这些是说明框热点标签中的公理

Carnivor EquivalentTo (Mananca only Vietuitoare) or (Mananca only (faceParteDin some Vietuitoare))

Ierbivor EquivalentTo (Mananca only Plante) or (Mananca only (faceParteDin some Plante))

<小时/> Bellow是 .owl 文件的两个链接:


在此先感谢,非常欢迎每一条建议和/或提示!

3 个答案:

答案 0 :(得分:2)

我不确定以下陈述的正确性:

Vietuitoare
    and (areSiraSpinarii exactly 1 Vietuitoare)

使用Protege 4.2,您可以通过各种形式的解释来探讨不一致的原因(例如&#34; laconic&#34;)。也许这个截图有帮助:

enter image description here

如果要删除本体中的所有个体,例如删除任何不一致的原因的保证方法,例如将个人放入一个单独的模块中,以便他们可以轻松插入和拔出。这不会解决您的建模错误,但可以帮助您更快地找到它。另外,您确定要将动物建模为个体吗?

答案 1 :(得分:1)

如果您使用Protege 4.1,您可以在说明框(实验性Protege解释启发式)中看到不一致的个体和公理。选项卡热点下的公理可能是造成问题的公理,所以你应该先修改它们。

答案 2 :(得分:1)

看看Kaarel发布的理由,我们可以得出结论Interertebrate是一个空类,所以它不能有实例。

原因如下:Interertebrate也是Vietuitoare(来自公理Interertebrate SubClassOf Vietuitoare); areSiraSpinarii是功能性的,因此任何一个人都只有一个涉及属性areSiraSpinarii的关系,或者它根本没有它(即正好为0)。因此,Vietuitoare可以是VertebrateNevertebrate,因为两个公理Vietuitoare and (areSiraSpinarii exactly 1 Vietuitoare) SubClassOf VertebrateVietuitoare and (areSiraSpinarii exactly 0 Vietuitoare) SubClassOf Nevertebrate。但VertebrateNevertebrate都与Interertebrate不相交。所以我们说Interertebrate不能是Vertebrate也不能是Nevertebrate,同时我们声明Interertebrate必须是Vertebrate或者Nevertebrate {{1}}。

显然一定有些不对劲(但我无法帮助,我不知道这些术语的含义)。