Re: Review of QRG

From: Jie Bao <baojie@cs.rpi.edu>
Subject: Re: Review of QRG
Date: Tue, 5 May 2009 21:53:15 -0400

> Peter.
> 
> Thanks for the review.
> 
> I made revisions based your and Ian's suggestions. There is the diff
> to the last announced version (May 2)
> 
> http://www.w3.org/2007/OWL/wiki/index.php?title=Quick_Reference_Guide&diff=cur&oldid=23024
> 
> There are some pending issues we might discuss tomorrow.
> 
> Details are inline
> 
> Jie
> 
> On Sun, May 3, 2009 at 2:03 PM, Peter F. Patel-Schneider
> <pfps@research.bell-labs.com> wrote:

[...]


>> ERRORS:

[...]

>> 4.1: There is no "hook for n-ary datatype" in Data Ranges
>>
> I'm still not sure about not mentioning it at all as a new feature,
> but I won't fight for it, unless there are other voices in the WG.

There certainly are hooks for n-ary datatypes, but they don't really
affect the syntax of Data Ranges.

>> 4.1: Annotation of objects was in OWL 1
>>
> It is slightly different. In OWL 2, AnnotationAssertion can be used as
> an axiom to add annotation to any IRI, even if the IRI is not an
> entity. OWL 1 annotation does not provide such an ability. Thus, I
> changed the wording "Annotation of an object" => "annotation
> assertion"

OK

>> 4.1: Annotation of annotations is new in OWL 2
>>
> "annotation of an axiom" => "annotation of an axiom or an annotation"

Fine.

>> 4.1: There are many extra built-in datatypes beyond the ones listed.
>>
> 
> for easy of tracking, I copy the exchange from other mail
> 
> Jie: The current list is the diff of [1] (OWL 2) to [2] (OWL 1). What
> are other extra built-in datatypes?
>    [1] http://www.w3.org/2007/OWL/wiki/Syntax#Datatype_Maps
>    [2] http://www.w3.org/TR/owl-semantics/syntax.html
> 
> Peter: The only true built-ins in OWL 1 are xsd;integer and
> xsd:string.  all others were optional, and only lightly implemented
> (if at all).
> 
> However, quote from [2]
> 
> "The following XML Schema datatypes [XML Schema Datatypes] can be used
> in OWL as built-in datatypes by means of the XML Schema canonical URI
> reference for the datatype, http://www.w3.org/2001/XMLSchema#name,
> where name is......"
> 
> It is not stated in the OWL 1 syntax specification that xsd:integer
> and xsd:string are "true" built-ins and the others are optional.
> Whether some of them are lightly implemented does not change the
> nature.

From http://www.w3.org/TR/owl-semantics/semantics-all.html

  Definition: A datatype map D is a partial mapping from URI references
  to datatypes that maps xsd:string and xsd:integer to the appropriate
  XML Schema datatypes.

  A datatype map may contain datatypes for the other built-in OWL
  datatypes. It may also contain other datatypes, but there is no
  provision in the OWL syntax for conveying what these datatypes are.

It is definitely the case the support for xsd:string and xsd:integer was
required in OWL 1, but support for the other datatypes was optional.

[...]

>> 2.8: The section on annotations has several errors:
>>     - there are annotation assertions
>>       - which can be on any IRI or anonymous individual
>>       - which have value any IRI, anonymous individual, or literal
> 
> From your another email
> 
> "The "i.e." clause in QRG is incorrect and should be removed."
> 
> I suppose you mean the "(e.g., a named ontology, class, datatype,
> property or individual) " clause - I think it will help users to
> realize annotation is applicable to those things. Thus I prefer to
> keep the clause.

A waste of space, but your call, I guess.

>>     - there are annotations on axioms
>>       - if the axiom has a main (fresh) blank node
>>          then the annotation triple is on that blank node
>>       - if the axiom generates one or more main triples
>>          then four triples sharing a blank node are added for each main
>>          triple
>>           the annotation generates a triple on each blank node
>>     - there are annotations on annotations
>>       - four triples sharing a blank node are added for the annotation
>>        the new annotation triple is on this blank node
> 
> From your other email: "You allow ontologies in Section 2.8, which is
> not correct.  Ontology
> annotations should be handled uniformaly in Section 2.9."
> 
> However, from the Syntax definition:
> 
> ontologyAnnotations := { Annotation }
> axiomAnnotations := { Annotation }
> 
> I do not see a special way that ontologyAnnotations should be
> represented differently from axiomAnnotations. Thus we might not need
> to repeat the information.

There is nothing special about ontology annotations in the functional
syntax.  However, your table drags in the syntactic context of the
annotation so that it can show the RDF mapping, and this is different.

In any case, ontology annotations show up in 2.9 so why even bother to
duplicate them here?

It would be best not to mention reification in this document.

Some axioms (class assertions, in particular) have a main triple whose
subject is a blank node.  Your table does not correctly handle
annotations of these axioms.

>> 2.9: The functional syntax for the three annotation properties is wrong.

> The section title is changed to "Built-in Annotation Properties for Ontologies"
> 
> The Functional Syntax is simplified as just their names, to be
> consistent with 2.8

Better.

>> 2.9: The three annotation properties here should be added to the list of
>>     annotation properties in 2.8
>>
> There needs some discussion at telcon. I copy the argument from the other email
> 
> Jie: {{
>> that is the part confuses me (maybe many other users as well). In
>> Syntax, they are defined as annotation properties. In RDF semantics,
>> then they are introduced as "Ontology Properties" (which is a
>> completely new concept w.r.t. Syntax).
>>
>> In syntax, they are again mentioned in " Ontology Annotations" with
>> notice "The usage of these annotation properties on entities other
>> than ontologies is discouraged. "
> 
>> It looks a difference between the Syntax and the RDF Semantics. If the
>> QRG is a guide to OWL 2 in general (not only OWL DL), then we might
>> need to introduce "Ontology Properties".
> }}
> 
> Peter: {{
>  Syntax is supposed to cover essentially all of OWL 2, and should be
> considered the target for QRG.
> 
> My suggestion is that in QRG to just make them all be annotation
> properties and ignore the "discouragement".
> }}
> 
> More remark (Jie):
> 
> There are indeed OWL 2 Full features not covered by Syntax  (ontology
> properties is an example).

There are small differences in the way some aspects of OWL 2 are handled
in the functional syntax and in the RDF syntax, but SS&FS is
comprehensive, at least in the context of a "Quick" guide.

[...]

>> SUGGESTION ON FIXING NOTATION:
>>
>> I suggest that the notation situation be cleaned up as follows:
>> - rename Section 1 to  Names, Prefixes, and Notation
>>
> Done
> 
>>  Names in OWL 2 are IRIs, often written in a shorthand PF:LCL, where PF
>>  refers to an IRI forming the first part of the name and LCL is the
>>  remainder of the name.  Throughout this document U is any IRI, CN is a
>>  class name, DN is a datatype name, PN is an object property name, RN
>>  is a data property name, AN is an annotation property name, aN is an
>>  individual name, and ON is an ontology name.
>>
> Done, with one exception: is an annotation property always an
> annotation property name? I didn't see a way to construct an unnamed
> AP.
>
> The same for RN.

Annotation properties and data properties are only names, there are no
non-trivial constructs in these categories.

> AnnotationProperty := IRI
> DataProperty := IRI
> DataPropertyExpression := DataProperty
> 
> AN and RN were not used anyway even if they were introduced.

One reason to use AN and RN is to keep the constructions in 2.7 looking parallel.
Another is to tie everything together - remember you have a table called
"Data Property Expression", which contains "named data property".

As well the named class/property/individual lines should use
CN/... instead of U.  The prefix syntax could use "prefix".  I don't
think that "O" is used.  You might be able to pull more notation out of
the tables.  I don't think that "local label name" occurs in the SPARQL
document - in any case I would call the whole thing a "blank node label"
which is used in SPARQL and doesn't have the problem of having "names"
for anonymous individuals.  

datatypeIRI should be changed to DN

The prefix is not an IRI - that is the whole point, after all - it
instead refers to an IRI.

>>  OWL 2 individuals can also be globally anonymous, written as _:a where
>>  a is the local identifier for the individual.
>>
>>  Throughout the document C is a class expression, D is a data range, P
>>  is an object property expression, R is a data property expression, a
>>  is an individual, v is a literal, n is a ....
>>
>>  In the RDF syntax, _:x is a blank node and (a1...an) is an RDF list.
>>
>>  All of the previous can have subscripts.
>>
> 
> The new section is:
> http://www.w3.org/2007/OWL/wiki/index.php?title=Quick_Reference_Guide&oldid=23259#Names.2C_Prefixes.2C_and_Notation

Much better.

>> - make the appropriate changes throughout the rest of the document
>>
> 
> Done

I think that adding RN and AN might make the document easier to understand.

>> OTHER SUGGESTIONS:

[...]

>> 2.8: The section on deprecation is not needed and should at least be
>>     moved to an appendix.
>>
> My idea is, having an extra subsection called "Additional Vocabulary
> in OWL 2 Full", with all OWL 1 (including deprecation) and RDF
> vocabulary that not in FS->RDF but can be used in OWL 2 Full, with
> links to their originally
> definitions (like rdf:Statement in the example)


> http://www.w3.org/2007/OWL/wiki/Talk:Quick_Reference_Guide#Additional_Vocabulary_in_OWL_2_Full.

But then you should include *all* the vocabulary mentioned in RDF
Semantics, including, for example rdf:<n>.  I think, however, that
including *all* this vocabulary would be a waste of space.

> Again, I think QRG should not be limited to Syntax and attract OWL 2
> Full users as well. Moving those features to appendix will make them
> as a second-class citizen.

Which is a good idea.

>> 3.2: The explanation column is not needed.
>>
> that maybe a matter of taste. I would think they are quite helpful
> (esp. for that facet is a completely new notion in OWL 2)

Perhaps, but then what about time instants, and if them then what about
rdf:text, and if that then what about xsd:anyURI, and so on.

[...]

>> 4.1: this can be drastically shortened by not using lists
>>
> while it is true many of the items can be shortened or combined,
> completely getting rid of list might make the table less readable. As
> they will not go to the print version anyway, space should not be an
> issue.

Do you really think that the blue boxes are useful?

[...]

>> 4.1: All facets are new to OWL 2, so just say so, don't list them.
> OK. Moved "facets" as a single item under "Data Ranges"

Good idea, it could even be put as part of datatype restriction, which
it really is anyway.

> -- 
> Jie Bao
> http://www.cs.rpi.edu/~baojie

peter

Received on Wednesday, 6 May 2009 03:35:13 UTC