owlreasoningturtle-rdf

Member of an owl:Class versus owl:NamedIndividual


Is it right, that in OWL-DL, if some :x has an rdf:type of something which is an owl:Class, e.g. :Car

:Car  rdf:type  owl:Class .
:x    rdf:type     :Car .

or equivalent

:Car  a  owl:Class .
:x    a     :Car .

it cannot be deduced, that :x must be an owl:(Named)Individual, thus one have to specify that additional fact always manually?

:x  a          :Car                ;
    a          owl:NamedIndividual ;
    :hasType   :Ford               ;
    :hasColor  "red"               .

Solution

  • OWL and RDF are different things. OWL ontologies can be represented in RDF, by following the rules specified in the OWL 2 Web Ontology Language Mapping to RDF Graphs document. If you have a look in there, the ways that owl:NamedIndividual are used are:

    If an ontology contains the axiom:

    Declaration( NamedIndividual( *:a ) )

    then the RDF mapping contains the triple:

    T(*:a) rdf:type owl:NamedIndividual . 
    

    and similarly, if an RDF mapping contains:

    *:x rdf:type owl:NamedIndividual .
    

    then the ontology contains

    Declaration( NamedIndividual( *:x ) )

    (and there's one more case for annotated axioms, but it's essentially the same).

    In looking through some more of the semantics documents, I don't see any other places (except for enumerated class expressions) that permit adding an x rdf:type owl:NamedIndividual RDF triple or inferring NamedIndividual(x).