RE: Proposed tweaks to Annotations

Hello,

We may proceed as you suggested. I'd just like to note that Theorem 1 in the Profiles document does not need updating given the
current state of the affairs:

- Annotation properties cannot occur in domain axioms (and, because there is no property punning, it is not possible that an
annotation property accidentally starts participating in a domain axiom).

- There are no AnnotationPropertyDomain axioms in the structural specification of OWL 2.

Thus, in an OWL 2 RL ontology an annotation property cannot accidentally start participating in axioms, even if we apply the
semantics of OWL Full.

If we were to go with the divergence in the semantics, then indeed the theorem might need updating.

(I didn't understand whether your remark about updating the theorem refers to the current state or a possible future state of the
specification, and this is the main reason why I wrote this e-mail.)

Regards,

	Boris

> -----Original Message-----
> From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
> Sent: 03 October 2008 16:18
> To: Boris Motik
> Cc: W3C OWL Working Group
> Subject: Re: Proposed tweaks to Annotations
> 
> On Fri, Oct 3, 2008 at 9:51 AM, Boris Motik <boris.motik@comlab.ox.ac.uk> wrote:
> > Hello,
> >
> > I believe there are slight problems with both of these proposals.
> >
> > ----------------------------------------------------------
> >
> > 1. If we make owl:annotationSubPropertyOf a subproperty of rdfs:subPropertyOf, then we haven't
> really achieved anything with adding
> > owl:annotationSubPropertyOf, and we might as well save ourselves the trouble. Please let me
> explain.
> >
> > There is no problem with extending the structural specification of OWL 2 with three new axiom
> types:
> >
> > - SubAnnotationPropertyOf
> > - AnnotationPropertyDomain
> > - AnnotationPropertyRange
> >
> > These could even be mapped into RDF using the existing OWL/RDF vocabulary. For example,
> >
> > (1) SubAnnotationPropertyOf( ap1 ap2 )
> >
> > could be mapped into the RDF triple
> >
> > (2) <ap1, rdfs:subPropertyOf, ap2>
> >
> > without any problems. The reason why this is so is declarations: to be able to use ap1 and ap2 in
> this axiom, both should be
> > declared as annotations. Thus, we'll also have these triples:
> >
> > (3) <ap1, rdf:type, owl:AnnotationProperty>
> > (4) <ap2, rdf:type, owl:AnnotationProperty>
> >
> > Now reverse-transformation is not difficult: by looking at the declarations, we know that we should
> translate (2) into (1).
> >
> >
> > The problem with this approach is not in the RDF mapping, but in the difference in the semantics:
> in OWL 2 DL, we are completely
> > ignoring the semantics of axioms such as (1), but this is not the case with OWL 2 Full. Consider
> the following example:
> >
> > (5) AnnotationPropertyDomain( ap C )
> > (6) EntityAnnotation( NamedIndividual( i ) Annotation( ap "bla" ) )
> >
> > In OWL 2 DL, axioms (5)--(6) *do not* have any semantics, and they *do not* entail the following
> assertion:
> >
> > (7) ClassAssertion( C i )
> >
> > Now consider what happens in OWL Full. The translation of (5)--(6) into RDF is this:
> >
> > (8) <ap, rdfs:domain, C>
> > (9) <i, ap, "bla">
> >
> > By the OWL Full semantics, the following triple is implied:
> >
> > (10) <i, rdf:type, C>
> >
> > Note that (10) corresponds to (7), but (7) is not entailed whereas (10) is. This is a problem:
> annotations bring OWL 2 DL and OWL 2
> > Full further apart.
> >
> >
> > Now the proposed change does not help: even if we convert (8) into
> >
> > (11) <ap, owl:annotationDomain, C>
> >
> > triple (10) is still entailed in OWL 2 Full if owl:annotationDomain is a subproperty of
> rdfs:domain. At the same time, (7) is still
> > not entailed in OWL 2 DL. Thus, we haven't actually solved the problem.
> >
> >
> > One possible solution to this problem would be *not to make* if owl:annotationDomain a subproperty
> of rdfs:domain in OWL 2 Full. In
> > this way, (11) *would not* be entailed in OWL 2 Full, and this would match the situation in OWL 2
> DL. (I understand that some people
> > might not like this; that's why I'm saying "a possible solution".)
> >
> > Another solution is to decide that we don't care about this semantic divergence between the two
> languages. In that case, we don't
> > need the new properties: as I explained, we can reverse-map everything without any problems.
> 
> Both of these are reasonable choices. I suggest that if we go in this
> direction we ask the community what their thoughts are. Note that we
> already have divergence in the semantics of annotations.
> 
> If we have
> 
>  AnnotationPropertyDomain( ap C )
>  EntityAnnotation( NamedIndividual( i ) Annotation( ap "bla" ) )
>  NamedIndividual( j )
>  SameIndividual( i j)
> 
> Then in OWL Full and OWL RL we get
>  EntityAnnotation( NamedIndividual( j ) Annotation( ap "bla" ) )
> 
> Note that this means that Theorem 1 in Profiles needs to be adjusted
> to rule out this situation.
> 
> 
> > ----------------------------------------------------------
> >
> > 2. The second proposal has a significant drawback that all ontologies that use rdfs:label would not
> be OWL 2 DL ontologies any more
> > (and I believe that these are actually most ontologies). In order to bring these ontologies into
> OWL 2 DL, one would need to
> > explicitly add the triple
> >
> > (12) <rdfs:label, rdf:type, owl:AnnotationProperty>
> >
> > It seems to me that this would potentially annoy quite a few people.
> 
> I think we can ask this question to the wider community, offering that
> we could suggest that tools offer to "repair" such situations for OWL
> 1 ontologies. The trade off is that absent this ability there is no
> way for ontology writers to make effective use of OWL DL for
> properties that they might want to. For instance, in an ontology such
> as SKOS, I would argue that rdfs:label is *not* annotation - it is
> properly in the domain. The alternative - that they use some property
> other than rdfs:label (and therefore lose interoperability with the
> may tools that use this property for display purposes) or not be able
> to take advantage of reasoning about these properties, might be
> considered to be a greater annoyance.
> 
> -Alan
> 
> 
> >
> >
> >
> > Regards,
> >
> >        Boris
> >
> > ________________________________________
> > From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Alan
> Ruttenberg
> > Sent: 03 October 2008 14:01
> > To: W3C OWL Working Group
> > Subject: Proposed tweaks to Annotations
> >
> > I'd like to suggest two tweaks on annotations that might address some problems with them.
> >
> > 1) Introduction of new properties owl:annotationSubPropertyOf owl:annotationDomain
> owl:annotationRange. In OWL DL these could be
> > considered annotations in this version but with notice that their behavior may be changed in
> subsequent versions of OWL. For OWL
> > Full we would make them sub properties of the corresponding non-annotation properties.
> >
> > 2) No explicit declaration of any properties as Annotation by default. Currently rdfs:label,
> rdfs:comment several others are so
> > defined as built-ins. Because of this it is not possible to do any DL reasoning with them, such as
> making real sub properties of
> > them. I think it would be better to not commit on this and instead leave to the editors of
> ontologies the choice of whether to
> > consider them to be annotation or not.  We could leave it to tool to, as a courtesy, add annotation
> property declarations to the
> > would-be-former built-ins in the case that a user does not supply them.
> >
> > For SKOS we could advise that they choose one of these two options to handle their extensive use of
> subproperty axioms on annotation
> > properties such as label.
> >
> > -Alan
> >
> >

Received on Friday, 3 October 2008 16:06:58 UTC