Re: possible changes to abstract syntax and direct semantics to support annotations and fix problem with imports

From: Jeremy Carroll <jjc@hpl.hp.com>
Subject: Re: possible changes to abstract syntax and direct semantics to support annotations and fix problem with imports
Date: Sun, 9 Feb 2003 21:34:23 +0100

> Hi Peter,
> 
> Thank you for this proposal, it is very definitely a step forward.
> 
> It is certainly better to do the annotation semantics inside the direct 
> semantics than not; however I remain perplexed as to why not use treat 
> annotations just like normal properties using the facilities of the direct 
> semantics to allow "a URI reference [that] can be the identifier of a class 
> or datatype as well as the identifier of a property as well as the identifier 
> of an individual in this abstract syntax," As long as the annotation 
> properties are sufficiently restricted then any unwelcome complexities or 
> surprising consequences can be avoided. e.g. to avoid any implicit typing of 
> classes, the annotation properties must not have declared domains, or 
> inverses (also their superproperties), but superproperties etc could be 
> permitted. In particular permitting subproperty hierarchies over annotations 
> looks genuinely useful - and while not worth the effort if you really need to 
> duplicate the work already done for ordinary subproperties, but I am not at 
> all convinced that that is necessary.

Well, I worry a lot about some unintended consequence of making annotation
properties into regular properties causing a problem.  I am much happier
having a complete break between annotation properties and regular properties.

> Aspects that still concern me ....
> The intent seems that 
> 
> <a> rdf:type owl:Thing .
> <a> <p> "foo" .
> 
> is intended to be really quite different from
> 
> <a> rdf:type owl:Thing .
> <a> <p> "foo" .
> <p> rdf:type owl:DatatypeProperty .
>
> The difference between th[ese] two, I believe is overly subtle and will confuse 
> users. 

Yes, this does concern me, but no more than 

 <a> rdf:type owl:Class .
 <a> <p> "foo" .
 <p> rdf:type owl:DatatypeProperty .

being legal, but

 <a> rdf:type owl:Class .
 <a> <p> "foo" .
 <p> rdf:type owl:DatatypeProperty .
 <p> rdfs:range rdfs:Literal .

not begin legal.

> e.g. your doc allows:
> 
> <a> rdf:type owl:Thing .
> <a> <p> "foo" .
> <a> <p> <b> .
> 
> but not
> 
> <a> rdf:type owl:Thing .
> <a> <p> "foo" .
> <p> rdf:type owl:DatatypeProperty .
> <a> <p> <b> .
> 
> The abstract syntax form makes this sharp distinction between annotations and 
> property values. In the concrete syntax it is not nearly as sharp.

Sure, but I view this as yet another problem with triples.

[...]

> Jeremy

peter

Received on Monday, 10 February 2003 07:29:56 UTC