There exists rdfs:range and rdfs:domain. Is it also possible to say something like:
:domainOf owl:inverseOf rdfs:domain , to be able to state that a certain class is the domain of a certain property (here called :domainOf)? Same for rdfs:range.
Thank you very much in advance! DJ
asked 15 Dec '12, 08:11
This is an example of "syntax reflection" (and there are a couple of other terms around to refer to this). It's allowed syntactically in OWL Full, and the semantics of OWL Full supports it the way you expect. It also works under the OWL 2 RL/RDF rules, pD*, and many available RDF entailment rule reasoners, such as the Jena reasoner, or OWLIM (using pD* or the OWL 2 RL rules).
You can play around with it using Ivan Herman's online OWL RL reasoner .
However, it is not allowed in OWL DL or any of its profiles (syntax error). In fact, none of the OWL DL reasoners I know will provide results you might expect, although some OWL DL reasoners are flexible enough to read ontologies with such stuff without signaling an error.
Another, similar example is to build the inverse of
It would be nice to be able to do this anonymously, instead, as in
but that's not allowed in RDF, because blank nodes must not occur in predicate position. (On the other hand, anonymous inverse properties is something that actually is supported by OWL DL, when using the native OWL DL syntax, but then, it isn't allowed to use it with