Annotations in Abstract Syntax

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:comment "Xs are Ys") y)

 Class(x complete annotation(rdf: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"

When trying to reverse this transformation I've got no way of knowing
where the comments should "go".

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...)?

Cheers,

	Sean

[1] http://www-db.research.bell-labs.com/user/pfps/owl/semantics/

-- 
Sean Bechhofer
seanb@cs.man.ac.uk
http://www.cs.man.ac.uk/~seanb

Received on Monday, 19 May 2003 11:13:45 UTC