RE: A proposal for a simplification of the annotations subsystem

Hello,

The other way around is affected in as much because the FS would change, so I need to adjust the table a bit. However, the actual
RDF triples produced by annotations will not change.

Regards,

	Boris

> -----Original Message-----
> From: Ivan Herman [mailto:ivan@w3.org]
> Sent: 18 November 2008 07:47
> To: Boris Motik
> Cc: 'W3C OWL Working Group'
> Subject: Re: A proposal for a simplification of the annotations subsystem
> 
> Boris,
> 
> I will not be at the phone meeting, so: I like what I read:-) I am all
> for a simplification and this looks like one...
> 
> You write that it affects the RDF Mapping; I presume it is the RDF->FS
> that is affected and not the other way round, right?
> 
> Thanks
> 
> Ivan
> 
> Boris Motik wrote:
> > Hello,
> >
> > I know it is quite late in the day, but while I was implementing the resolution from the last F2F,
> I've noticed several
> > opportunities for simplification of the current spec. Please understand that
> >
> > - this would be just a simplification/clean-up of the structural specification and it does not
> incur any fundamental changes
> > regarding the actual capabilities of annotations, and
> >
> > - it would affect only the structural specification, the RDF Mapping, and the XML Syntax documents.
> >
> >
> > Problem
> > ----------------------
> >
> > Currently, in the metamodel of OWL 2 we have three classes for various types of annotations:
> >
> > - AnnotationByURI,
> > - AnnotationByLiteral, and
> > - AnnotationByAnonymousIndividual.
> >
> > This is quite unwieldy.
> >
> > Furthermore, the metamodel of OWL 2 currently contains two different axioms for associating
> annotations with things:
> >
> > - URIAnnotation and
> > - AnonymousIndividualAnnotation.
> >
> > Again, quite unwieldy.
> >
> > Another problem is that, while it would be intuitive to expect the structure of annotations to be
> similar to assertions, this is not
> > the case. A property assertion consists of two individuals and a property, and it specifies just
> one fact. In contrast, a single
> > annotation axiom specifies a set of annotations for an individual, and essentially specifies more
> than one fact. Consider the
> > following examples:
> >
> > (1) PropertyAssertion( P i1 i2 )
> > (2) URIAnnotation( i1 Annotation( AP1 v1 ) Annotation( AP2 v2) )
> >
> > In fact latter syntax is quite unwieldy, because it uses the terminal 'Annotation' quite often.
> >
> > Because of this, round-tripping of annotations through RDF is not possible. If you wrote (2) as two
> separate annotations, serialized
> > the ontology into RDF, and read everything back, your two annotation axioms would be merged into
> one axiom (2).
> >
> >
> > Proposal Outline
> > ----------------------
> >
> > The proposal consists of two changes.
> >
> > The first problem could be addressed by introducing a class called, say, AnnotationValue, as a
> superclass of URI, Literal, and
> > AnonymousIndividual. Then, we could replace three types of annotations with just one type that
> refers to AnnotationValue.
> >
> > The second problem could be addressed by breaking up axioms of the form (2) into several axioms,
> each of which provides just one
> > annotation value. Thus, instead of (2), we would write something like this:
> >
> > (3) Annotation( AP1 i1 v1 )
> > (4) Annotation( AP1 i2 v2 )
> >
> > This would actually bring the structural specification closer to RDF.
> >
> >
> > Concrete Proposal for the Grammar
> > ----------------------
> >
> > Here is what the grammar of the FS might look like:
> >
> > AnnotationSubject := URI | AnonymousIndividual
> > AnnotationValue := URI | AnonymousIndividual | Literal
> > Annotation := 'Annotation' '(' axiomAnnotations AnnotationSubject AnnotationValue ')'
> >
> > axiomAnnotations := { StatementAnnotation }
> > StatementAnnotation := 'StatementAnnotation' '('
> >     { StatementAnnotation } AnnotationProperty AnnotationValue ')'
> > AnnotationAxiom := Annotation | SubAnnotationPropertyOf |
> >     AnnotationPropertyDomain | AnnotationPropertyRange
> >
> > Here is a summary of the grammar changes:
> >
> > - What is currently the Annotation nonterminal would become StatementAnnotation.
> > - What is currently URIAnnotation and AnonymousIndividualAnnotation would become Annotation.
> >
> > I believe that the result would be a much simpler metamodel and a much nicer syntax. I could enact
> this change really quickly.
> >
> >
> >
> > Please let me know how you feel about this. Could we perhaps discuss this at the next teleconf?
> >
> > Regards,
> >
> > 	Boris
> >
> >
> 
> --
> 
> Ivan Herman, W3C Semantic Web Activity Lead
> Home: http://www.w3.org/People/Ivan/
> PGP Key: http://www.ivan-herman.net/pgpkey.html
> FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Tuesday, 18 November 2008 09:05:32 UTC