- From: Bijan Parsia <bparsia@isr.umd.edu>
- Date: Tue, 12 Apr 2005 21:16:48 -0400
- To: Olivier Dameron <dameron@smi.stanford.edu>
- Cc: public-owl-dev@w3.org
(replying to list as well) On Apr 12, 2005, at 6:24 PM, Olivier Dameron wrote: > On Mon, 11 Apr 2005 23:41:08 -0400, Bijan Parsia <bparsia@isr.umd.edu> > wrote: >>> <rdf:RDF >>> xmlns:owl="http://www.w3.org/2002/07/owl#" >>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> >>> >>> <owl:Class rdf:about="http://test/class"> >>> <rdfs:label>A class</rdfs:label> >> ^^^^^^^^^^^^^^ >> Remove this to pass the WonderWeb validator. >> >> I have to go back to the specs to check whether you can have >> annotation properties on descriptions like this. It's probably a good >> idea to avoid them. > > According to http://www.w3.org/TR/owl-ref/#Annotations > it should be valid (or am i missing something?). Well, the reference isn't normative. And we are talking about what's legal OWL DL. Clearly all this is legal OWL Full. So there are two normative places and one non-normative place I would look for this stuff. The non-normative place is: http://www.w3.org/TR/owl-ref/#app-DLinRDF This was written primarily by Sean Bechhofer (with input from others, including us) who was primary author of the WonderWeb validator. So it can provide insight to how it works. If you look at the section on Restrictions, you'll see that it forbids all annotation properties on restriction blank nodes. This is backed up by the fact that the abstract syntax for descriptions (and hence restrictions) does not admit annotations. They could be, perhaps, in the concrete syntax and thrown away, but that would be weird: http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ syntax.html#2.3.2.3 To check for this, though, we need to see the transformation to triples: http://www.w3.org/TR/2004/REC-owl-semantics-20040210/mapping.html (Since it's given as a *forward* mapping, it's highly unlikely anything not in the abstract syntax will show up in the concrete!) If you look at, for example, the entry on restrictions; restriction(ID component1 … componentn) (With at least two components) _:x rdf:type owl:Class . _:x rdf:type rdfs:Class . [opt] _:x owl:intersectionOf T(SEQ(restriction(ID component1) … restriction(ID componentn))) . You'll see (in each entry) no provision for annotation properties. (Contrast with the entries for classes). This is probably somewhat stricter than one could possibly get way with, but it might force a rewrite of several of the proofs and doesn't strike me, at least, as an interesting extension. There are more interesting liberalizations of annotation properties (for example, allowing partitioned reasoning over them). Cheers, Bijan Parsia.
Received on Wednesday, 13 April 2005 01:16:57 UTC