【问题标题】:Inconsistent OWL ontology and bad individuals in Protege 4.1Protege 4.1 中不一致的 OWL 本体和不良个体
【发布时间】:2013-01-01 18:14:47
【问题描述】:

我为家庭作业设计了一个 OWL 本体,使用 Protege 4.1 关于生物(生物分类),在与 HermitFact 进行推理之后 我收到了inconsistent ontology, bad individuals,但我对 OWL 本体非常陌生,不明白如何解决这些关于不一致和个体的错误。

编辑1


我的 类层次结构 如下所示:
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))


下面是 .owl 文件的两个链接:


提前致谢,非常欢迎每一个建议和/或提示!

【问题讨论】:

  • 请不要使用homework 标签。它已被弃用,正在被销毁。
  • 如果您想将本体作为 Stackoverflow 问题的一部分呈现,请将其翻译成英文
  • 你说得对,对于英文版,我会尽快翻译并更新我的问题和文件。

标签: rdf semantics ontology owl protege


【解决方案1】:

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

原因如下:Interertebrate 也是Vietuitoare(来自公理Interertebrate SubClassOf Vietuitoare); areSiraSpinarii 是功能性的,所以一个人要么恰好有 1 个涉及财产 areSiraSpinarii 的关系,要么根本没有它(即正好为 0)。所以Vietuitoare 要么是Vertebrate 要么是Nevertebrate,这得益于Vietuitoare and (areSiraSpinarii exactly 1 Vietuitoare) SubClassOf VertebrateVietuitoare and (areSiraSpinarii exactly 0 Vietuitoare) SubClassOf Nevertebrate 这两个公理。但是VertebrateNevertebrate 都与Interertebrate 不相交。所以我们说Interertebrate 不能是Vertebrate 也不能是Nevertebrate,同时我们声明Interertebrate 必须是VertebrateNevertebrate

显然那里一定有什么问题(但我无能为力,我不知道这些术语是什么意思)。

【讨论】:

    【解决方案2】:

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

    Vietuitoare
        and (areSiraSpinarii exactly 1 Vietuitoare)
    

    使用 Protege 4.2,您可以通过各种形式的解释(例如“简洁”)探索不一致的原因。也许这个截图有帮助:

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

    【讨论】:

    • 感谢您的回复!我不明白您指的是什么:将个人放入单独的模块中,以便他们可以轻松插入和拔出。另外,关于“将动物建模为个体”,你的意见是什么,你建议我怎么做?英文版:尽快。
    • 例如将所有类断言公理分离到另一个 OWL 文件中。在缩减文件上运行推理器以查看是否得到了无法满足的类以及对这些类的解释,然后修复建模错误并通过通过 OWL 导入机制导入类断言公理来恢复类断言公理。关于类与实例建模,我将动物建模为类,即“狮子集是动物集的子集”,而不是实例“狮子”是动物集的成员。前一种解决方案似乎更灵活。
    【解决方案3】:

    如果您使用 Protege 4.1,您可以在解释框(实验性 Protege Explanation Heuristics)中看到不一致的个体和公理。 热点选项卡下的公理很可能是导致问题的原因,因此您应该先修改它们。

    【讨论】:

    • 感谢您的回复!我已经查看了说明框,但我仍然不知道应该更改什么。请看一下我的问题,我使用标签 热点 中的类层次结构和公理对其进行了更新。
    猜你喜欢
    • 2014-12-03
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多