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

On 24 June 2015 at 20:11, Bijan Parsia <bijan.parsia@manchester.ac.uk> wrote:
> On Jun 24, 2015, at 12:49, "Simon Spero" <sesuncedu@gmail.com> wrote:
>
> On Jun 23, 2015 11:22 AM, "Bijan Parsia" <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??

Uh, different semantics intended for some reasoners but undetectable to others.
<insert sound of a mechanic who's just been asked exactly how bad the
breakage is/> [3]


I'm sure I've heard of the concept somewhere else. Was that Embrace
and Extend? or SQL dialects?

>
> 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.
>

I tremble in fear.
I.

[1] http://www.virginiaautoservice.com/wp-content/uploads/2015/01/bigstock-Car-Repair-3295842.jpg

> 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:32:15 UTC