Ontologies: One Person's Intended Superclass

I am using Protege 4.3 (also tried 5-beta) with the following simple ontology:

Class: Person


Class: Man

    SubClassOf: 
        Person


Individual: John

    Types: 
        Man

      

Then I start Reasoner Hermit 1.3.8, but John is not considered human. Also the following SPARQL returns nothing:

PREFIX this: <http://www.semanticweb.org/ontologies/2015/6/untitled-ontology-18#>

SELECT ?subject
    WHERE { ?subject a this:Person }

      

Do you have any suggestions that I misunderstood?

+3


source to share


1 answer


Regarding the "missing" inference of the subclass "Person to superclass" Person:

ProtΓ©gΓ© does not show subclass individuals in its superclass, even when the argument is active. However, the output works as you have already seen. The following two examples return John as the identity of the Person class:

SPARQL + Reasoner (plugin Snap SPARQL 4.2.0 + HermiT 1.3.8.413)

PREFIX this: <urn:absolute:test#>

SELECT ?subject
    WHERE { ?subject a this:Person }

      



DL-Query + Reasoner (DL-Query 4.0.1 + HermiT 1.3.8.413)

Person

      

Another way to make it obvious is to export the ontology with all the deduced axioms ("File" β†’ "Export the deduced axioms as an ontology ..."). As a result, the ontology contains two class statements for John , one as Human and one as Human.

My guess is that this behavior allows for a GUI when working with larger ontologies that can contain many people. As of ProtΓ©gΓ© 5.1.0, there seems to be no way to change this behavior.

+2


source







All Articles