RE: A proposal for a simplification of the annotations subsystem

I'm all for simplifications.

My $0.02 worth.

Joanne

>-----Original Message-----
>From: public-owl-wg-request@w3.org
[mailto:public-owl-wg-request@w3.org]
>On Behalf Of Boris Motik
>Sent: Monday, November 17, 2008 2:44 PM
>To: 'W3C OWL Working Group'
>Subject: A proposal for a simplification of the annotations subsystem
>
>
>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
>

Received on Monday, 17 November 2008 19:58:12 UTC