Re: Rich Annotations Use Cases

On Nov 4, 2007, at 7:37 PM, Ian Horrocks wrote:

> Bijan (and Vojtech),
>
> Could you be a bit more specific about the language features you  
> would like to see, i.e., what changes would be required to the  
> structural syntax and semantics documents?

Axiom annotations: I see you can already have more than one in the  
same axiom...that's good. But:

"""Annotation values can be ontology entities. Such annotations make  
it clearer that the value is not just some constant, but an entity  
from this or some other ontology."""

Annotation values should themselves be able to have further  
statements, e.g.,

	SubClassOf(Annotation(dc:creator ex:Bijan, ClassAssertion(ex:Bijan,  
ex:Person)) ....)

Actually, it might be better to allow arbitrary facts with an  
implicit reference to the current axiom, say "Self", so

	SubClassOf(Annotations(ObjectPropertyAssertion(dc:creator, Self,  
ex:Bijan), ClassAssertion(ex:Bijan, ex:Person)) ... ...)

Or you could force one "Annotation" per "annotation statement".

Annotation properties should be declarable. We should be able to  
declare them as "mustUnderstand" or "mayIgnore". Maybe on a per  
instance basis.

By default, annotations themselves should be interpreted in a  
completely disjoint domain. Essentially, you should rip out all the  
annotations into a separate owl file, and then reason with them  
separately. If an annotation property (or assertion instance) is  
"mustUnderstand" then a processor must be aware of that property and  
its specced behavior. Otherwise, it must warn the user that ignoring  
the special semantics of that property could change the intended  
meaning of the document.

Perhaps the annotation blob shoudl have the (optional)  
mustUnderstand, and otherwise, things are just dumped into the  
"annotation ontology". Inferred annotations are dependent on  
"annotation imports", e.g., dublin core property heirarchy. So we  
need an imports statement for these.

For entity annotations, the open question is whether the annotation  
entity space should be generated post-classification or not.

This is my first pass. It's pretty much metaviews plus mustUnderstand  
which gives the specwriter the option of putting the mustUnderstand  
annotations in yet a different space and/or altering the domain model.

Cheers,
Bijan.

Received on Sunday, 4 November 2007 20:23:46 UTC