Re: ISSUE-16 (entity annotations)

Hello,

I am not really sure I fully understand exactly Peter's (2a) proposal; however, I thing get the gist. Here is how we could handle
this at the level of the functional-syntax. Basically, we should unify the annotations on ontologies, entities, and axioms. To this
end, we would introduce just one axiom, called annotation. Here is the syntax for this axiom (since I can't use bold in e-mails, I'm
using <> to denote terminals):

<axiom> := <classAxiom> | ... | <annotation>

Note that the terminal <annotation> would here mean "annotation axiom", not the meaning that it has in the existing spec. Then we
could define <annotation> as follows:

<annotation> := "Annotation" "(" <annotationTarget> <annotationURI> <annotationValue> ")"

Here, <annotationTarget> would be a nonterminal that determines the target of the annotation; <annotationURI> would be an URI just
like in the current spec; finally, <annotationValue> would be defiend as follows:

<annotationValue> := <URI> | <constant>

To complete the picture, we would define <annotationTarget> as follows:

<annotationTarget> := <entityTarget> | <axiomTarget> | <ontologyTarget>

The targets would be defined as follows:

<entityTarget> := "OWLClass" "(" URI ") | "ObjectProperty" "(" URI ") | ...
<axiomTarget> := "Axiom" "(" <axiom> ")"
<ontologyTarget> := "Ontology"

Note that <ontologyTarget> would allow you to add an annotation only to this ontology; therefore, there is no need to include the
ontology URI.


The structural specification could be easily brought in line with this grammar. (It is just easier to put the grammar into an e-mail
:-)

Regards,

	Boris

Received on Wednesday, 30 January 2008 19:37:35 UTC