4

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"               .
rmv
  • 3,195
  • 4
  • 26
  • 29
  • Interesting question! Do note that there are possibly two things at play here: OWL-DL semantics, and the mapping between OWL ontologies and RDF. OWL semantics shouldn't, I think, ever let you infer RDF triples, but rather new OWL assertions, and those are what would be mapped to RDF triples. – Joshua Taylor May 11 '16 at 11:35
  • For instance, if you search in https://www.w3.org/TR/2012/REC-owl2-direct-semantics-20121211/ for "NamedIndividual" there are no hits. – Joshua Taylor May 11 '16 at 11:38
  • @Joshua: by now i merely use owl:NamedIndividual to mark individuals in order to get them back by Sparql queries. But does the existence of this information also affect a reasoner (like Stardog, Pellet, Hermite) in any way? (I think your answer will be 'no' ;-) – rmv May 11 '16 at 12:45

1 Answers1

4

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 though 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).

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353