W3C home > Mailing lists > Public > www-webont-wg@w3.org > May 2003

Re: Annotations in Abstract Syntax

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Wed, 21 May 2003 07:24:35 +0100
Message-ID: <3ECB1BA3.90203@hplb.hpl.hp.com>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
CC: seanb@cs.man.ac.uk, www-webont-wg@w3.org


I agree it is broken - but don't see a fix. If we had any great ideas it 
might be worth raising them with the other group.

I guess a purest would say that in the examples where this seems broken the 
comment is not a comment on the class but a comment on the axiom, thus the 
axiom needs to be 'reified' (be given a URIref) to which you can attach the 
comment. That would be a big change at this stage. Might be worth adding 
this to the postponed issues list.

In the abstract syntax and the direct semantics it is clear that the 
annotations annotate the class not the axiom, so we could say that this 
point is that "axioms cannot be annotated".

Jeremy


Peter F. Patel-Schneider wrote:

> From: Sean Bechhofer <seanb@cs.man.ac.uk>
> Subject: Annotations in Abstract Syntax
> Date: Mon, 19 May 2003 16:09:29 +0100 (GMT Daylight Time)
> 
> 
>>Peter -
>>
>>The abstract syntax [1] allows one to make annotations about classes,
>>but with the transformation rules as defined, I'm not sure how useful
>>this is. For example, if we have something like:
>>
>> Class(x partial annotation(rdf:comment "Xs are Ys") y)
>>
>>this gets transformed into triples whose subject is the ID of the
>>class being defined. So from the above we get:
>>
>> x rdf:type owl:Class
>> x rdfs:subClassOf y
>> x rdfs:comment "Xs are Ys"
>>
>>However the way that the transformation is defined means that it's
>>impossible to recreate the original intention as the annotation is
>>only associated with the classID. For example, if I had another axiom:
>>
>> Class(x partial annotation(rdf[s]:comment "Xs are Ys") y)
>>
>> Class(x complete annotation(rdf[s]:comment "Xs are actually Zs" z)
>>
>>then I'd get:
>>
>> x rdf:type owl:Class
>> x rdfs:subClassOf y
>> x rdfs:comment "Xs are Ys"
>>
>> x rdf:type owl:Class
>> x owl:intersectionOf <List with only z in it>
>> x rdfs:comment "Xs are actually Zs"
>>
> 
> Correct so far.
> 
> 
>>When trying to reverse this transformation I've got no way of knowing
>>where the comments should "go".
>>
> 
> Yes, I agree that this is not ideal.  However, I don't see any better way
> of translating this to triples.
> 
> Again, if we could have had our own syntax, then all this could have worked
> much better, but the limited organizational power of RDF means that it is
> very difficult to build the kind of structure needed to associate
> annotations with pieces of syntax.  
> 
> Consider, for example
> 
>   Class(x partial annotation(rdfs:comment "Xs are Ys") y)
>  
>   Class(x partial annotation(rdfs:comment "Xs are actually Ys" y)
> 
> I don't see any way of keeping the annotations straight here.
> 
> 
>>Is this a fair assessment or am I mistaken here, and if I'm not
>>mistaken is it something to worry about (I think it might be...)?
>>
> 
> Yes, I do worry about this sort of thing occasionally, but I try not to let
> it get in the way of doing real work.  :-)
> 
> 
>>Cheers,
>>
>>	Sean
>>
>>[1] http://www-db.research.bell-labs.com/user/pfps/owl/semantics/
>>
> 
> peter
> 
> 
Received on Wednesday, 21 May 2003 02:25:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:00 GMT