Search code examples
rdfsemanticsontologyowlprotege

Inconsistent OWL ontology and bad individuals in Protege 4.1


I designed for homework an OWL ontology using Protege 4.1 about creatures (creatures classification), after reasoning with Hermit or Fact i'm getting inconsistent ontology, bad individuals, but I'm very new to OWL ontologies and don't understand how to solve these errors about inconsistency and individuals.

Edit1:


My Class hierarchy looks like this:

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


These are the axioms from the Hot Spot tab in the Explanation box:

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

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


Bellow are two links with the .owl file:


Thanks in advance, every advice and/or hint are very welcomed!


Solution

  • I'm not sure about the correctness of the following statement:

    Vietuitoare
        and (areSiraSpinarii exactly 1 Vietuitoare)
    

    Using Protege 4.2 you can explore the reasons for the inconsistency via various forms of explanations (e.g. "laconic"). Maybe this screenshot helps:

    enter image description here

    The guaranteed way to remove any reason for inconsistency if to remove all the individuals from the ontology, e.g. place the individuals into a separate module so that they can be easily plugged in and out. This would not solve your modeling error but would help you to find it faster. Also, are you sure that you want to model the animals as individuals?