Re: Annotations that aren't safely ignored (was Re: How to specify OWL version in a document)

On Jun 24, 2015, at 12:49, "Simon Spero" <sesuncedu@gmail.com<mailto:sesuncedu@gmail.com>> wrote:


On Jun 23, 2015 11:22 AM, "Bijan Parsia" <bijan.parsia@manchester.ac.uk<mailto:bijan.parsia@manchester.ac.uk>> wrote:

[Taking you not *quite* out of context]

> Having annotations that have an effect in some cases but not in others seems sorta dangerous.

Like ic:imports? :-) [1]  Or trowl:Nbox? [2]

And these aren't dangerous??

But these aren't the same. A global semantics switch is fine (if a bit tricky). A single annotation that in one case means "use this semantics" and in another means "I intend this document to be inside a syntactic fragment" is pretty nasty. If you made it uniformly mean "only consider the consequences that are EL" then it would be more uniform. The problem is picking an appropriate notion of EL consequence.

There are already cases where annotations are used as more than simple metadata.

And if this were the substance of my critique, I could still object to those cars ;)

Many protocols have ways to specify that certain extensions are mandatory, so that if a message is received with an unknown, mandatory extension, an error is signalled, with other unknown extensions simply ignored.

Sure and this is a surprisingly fraught area even in cases with rather simpler semantics.

We explored a lot of such things in various OWL and RDF working groups. It ain't easy.

Maybe we could use annotation prop... oh, right.

?? I've no in principle objection to magic annotation properties.

One convention that might work would be to use a faux property (e.g.  kludge:isKnownMagicAnnotationProperty) for such mandatory annotation properties, and make contradictory positive and negative assertions about the property.

Tools that know the right magic can discard these assertions; tools that know about the convention can signal a useful error; tools that do not know about the convention can detect an inconsistency.

An alternative approach would be to use disjoint metaclasses to force inconsistency (might give better error messages / faster failure for EL).

(There are also recommendations like SKOS that use annotation properties, instead of data or object properties, for properties that are central to the subject area. This is problematic for reasoners using the direct semantics.)

Sorry, I don't know what you want to do. If you want to design a general extension mechanism, you can find lts of prior discussion in the owl wg wiki and archives.

Cheers,
Bijan.

Received on Wednesday, 24 June 2015 19:11:48 UTC