Re: Annotations in 1.0-DL and 1.1-DL

From: "Michael Schneider" <schneid@fzi.de>
Subject: FW: Annotations in 1.0-DL and 1.1-DL [RE: ACTION-102: The situation of deprecation in OWL-1.0-DL and OWL-1.0-Full]
Date: Fri, 4 Apr 2008 18:25:37 +0200

> This is conversation between Alan and me about the semantics of annotations
> in 1.0-DL. 
> 
> Cheers,
> Michael
> 
> 
> -----Original Message-----
> From: Michael Schneider 
> Sent: Thursday, March 20, 2008 12:09 PM
> To: 'Alan Ruttenberg'
> Subject: Annotations in 1.0-DL and 1.1-DL [RE: ACTION-102: The situation of
> deprecation in OWL-1.0-DL and OWL-1.0-Full]
> 
> Hi Alan!
> 
> >-----Original Message-----
> >From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com] 
> >Sent: Thursday, March 20, 2008 5:14 AM
> >To: Michael Schneider
> >Subject: Re: ACTION-102: The situation of deprecation in 
> >OWL-1.0-DL and OWL-1.0-Full
> >
> >[not cc]
> >
> >On Mar 19, 2008, at 9:41 AM, Michael Schneider wrote:
> >
> >	(So this is very weak semantics. However, it actually 
> >*is* semantics. Annotation properties are *not* semantic-free 
> >in OWL-1.0-DL!).
> >
> >
> >Yes,
> >
> >AnnotationProperty(a)
> >Individual(i1 annotation(a "be"))
> >Individual(i2)
> >SameIndividuals(i1,i2)
> >
> >entails
> >
> >Individual(i2 annotation(a "be"))
> 
> I must confess that I have technical difficulties to either confirm or
> disprove this claim.
> 
> First, the 1.0-DL semantics [1] for 'SameIndividual' in sec. 3.3 of [1] is:
> 
>    Directive                 | Conditions on interpretations
>    --------------------------+------------------------------
>    SameIndividual(i1 . in)   | S(ij) = S(ik) for 1 <= j < k <= n   
> 
> No problem here. Now, the table entry for 'Individual(.)' is:
> 
>    Directive:
>    ----------
>      Individual([i] 
>  -->   annotation(p1 o1) ... annotation(pk ok)
>        type(c1) ... type(cm) 
>        pv1 ... pvn
>      ) 	
>    
>    Conditions on interpretations:
>    ------------------------------
>      EC(Individual([i] 
>  -->   annotation(p1 o1) ... annotation(pk ok)
>        type(c1) ... type(cm) 
>        pv1 ... pvn)
>      ) 
>      is nonempty
> 
> But here I am confused: The function "EC(.)" isn't defined for individuals
> at all. And I also am not sure whether I understand what the intended
> semantics is here.

>From [1, 3.2]

	EC is extended to the syntactic constructs of descriptions, data
	ranges, individuals, values, and annotations as in the EC
	Extension Table.

EC turns Individual constructs into sets, possibly empty.  Individual
constructs with a name are singleton sets if the denotation of the name
satisfies the conditions, empty otherwise.  Individual constructs
without names can have larger cardinality.

> Maybe a bug [FIXME], so better let's have a look at the other entities which
> can be annotated, e.g. classes:
> 
>    Directive:
>    ----------
>      Class(c
>  -->   annotation(p1 o1) ... annotation(pk ok)
>        descr1 ... descrn)
> 
>    Conditions on interpretations:
>    ------------------------------
>  --> S(c) in EC(annotation(p1 o1)) ... S(c) in EC(annotation(pk ok))
>      EC(c) subset EC(descr1) ^ ... ^ EC(descrn)

So annotations in Class and Individual constructs play the same role in
determining EC values.

> Ok, that's clearer now. We see that the entity, which is denoted by class
> name 'c', is an instance of "EC(annotation(pi oi))". And the semantics for
> the latter expression is defined in sec. 3.2:
> 
>    Abstract Syntax:
>    --------------- 	
>      annotation(p o) for o a URI reference
> 
>    Interpretation (value of EC)
>    -----------------------------
>      {x in R | <x,S(o)> in ER(p) }
>      
> ('R' denotes the universe/domain, and 'ER(p)' is the property extention of
> p, i.e. a subset of RxR.) So for the class 'c' above we have for each i:
> 
>    <S(c),S(oi)> in ER(pi)
> 
> And if
> 
>    SameIndividuals(c c2)    # actually not allowed for classes
> 
> would be allowed in OWL-DL, then we would receive
> 
>    <S(c2),S(oi)> in ER(pi)
> 
> which would mean that all the annotations of class 'c' are also annotations
> of class 'c2'. 

Agreed.

> So you seem to be right in principle, although there seems to be a bug in
> the semantics spec for individuals (but perhaps I overlooked/misunderstood
> something?).

I think that you missed the "usual" abuse of terminology (EC) that goes
on in many semantics.

> >How does OWL 1.1 avoid this?
> 
> The 1.1-DL semantics simply seem to ignore annotations which occur in the
> functional syntax.
> 
> >From sec. 1 of the semantics WD [2]: 
> 
>   "OWL 1.1 allows for annotations of ontologies and ontology entities 
>   (classes, properties, and individuals) and ontology axioms. 
>   Annotations, however, have no semantic meaning in OWL 1.1 
>   and are ignored in this document."
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> And, indeed, if you look through the semantics WD, you won't find any
> annotations in the functional syntax. For example, in table 4:
> 
>    Axiom                     | Condition
>    --------------------------+-----------------------------------------
>    SameIndividual(a1 ... an) | a_j^Ii = a_k^Ii for each 1 <= j , k <= n
> 
> As in 1.0-DL semantics, there is no mentioning of annotations here. But
> unlike the 1.0-DL semantics spec, there is no entry for 'Individual(.)' in
> the 1.1-DL semantics WD. 1.1-DL uses such expressions only in declarations
> such as:
> 
>    Declaration(Individual(x))
> 
> And declarations do not have semantics in 1.1-DL. I believe this is meant by
> the following excerpt from sec. 1 of [2]:
> 
>   "Definitions in OWL 1.1 similarly have no semantics. 
>   Constructs only used in annotations and definitions, 
>   like ObjectProperty, therefore do not show up in this 
>   document."
> 
> Just replace 'ObjectProperty' by 'Individual' in this citation.
> 
> >-Alan
> 
> (Ah, well, this mail got again much too long, sorry for this! :-])
> 
> Cheers,
> Michael
> 
> [1] <http://www.w3.org/TR/owl-semantics/direct.html>
> [2] <http://www.w3.org/2007/OWL/wiki/Semantics>

peter

Received on Monday, 7 April 2008 16:20:22 UTC