Review of WOWG Semantics editors draft 2003-01-02

Review of WOWG Semantics draft

Comments on
  http://www-db.research.bell-labs.com/user/pfps/owl/semantics/

  Dated 2 January 2003

(CC:ing to authors, not sure if you are all ready for public comments yet)

I'm not reviewing the detail of the model theory and semantics, not
my area.

Summary

Needs many document fixes and improvements and in particular some of
the syntax used I feel is confusing.


General comments

Please consider making this one HTML document version; the splitting
over multiple pages makes it difficult to look at all the content
properly.  Please consider making the single document version the
only version, or at least the primary document.

Lots of references to terms in other specifications without links.  I
point out some of them but this needs a thorough update.  This is to
aid people using the document, they have to be able to find what you
are refering to.

There are very few links between the syntax.html / semantics.html /
rdfs.html pages - this tends to indicate to me that they were written
separately and aren't yet fully integrated as parts of a single
document.

I would ask you also add internal anchors and links each time you use
terms such as OWL/Lite, "the full abstract syntax", "class",
"property IDs" etc. and for every definition of a term and use such
as <axiom>, <classID>.

There are many definitions, of which many have no HTML anchor that
can be pointed at and would benefit from a consistent markup
convention so that they are easier to find when reading.


Section Index of Vocabulary

Please add a statement to indicate what this section is for.  Does it
define the lists or do the linked sections do so.  In case of error,
is it definitive?


Section 2 Abstract Syntax
http://www-db.research.bell-labs.com/user/pfps/owl/semantics/syntax.html#2

P2 Is this the editors, WG opinion or normative content?  Does any
implementation of OWL have to believe that there is a problem with
RDF graphs?  I think this is inappropriate.

"RDF graph" link

P3 "a version of Extended BNF"
Having yet another EBNF is a bad idea, and this one is particularly
inappropriate.  I suggest you use the one in the XML specification
which is properly defined http://www.w3.org/TR/REC-xml#sec-notation
The biggest problem is the use of <> for non-terminals, more of which
later.

P5 "OWL/Lite"
This isn't defined till 2.3.1 - please make a link.
"RDF Schema" link

P6 "OWL/DL"
Isn't defined till later, please make a link.


P7 "by means of the canonical URI reference for the datatype,
http://www.w3.org/2001/XMLSchema#<name>"  needs more explanation.
<name> is never defined; some minor rewording should be sufficient.
The links given are to the definition of the datatypes in XSD,
not the URI-references of the datatypes.  That seems slightly
confusing too.

No references to XML Schema, or XML schema data type specs as
documents.

You seem to be using the RECOMMENDED etc words with significance.
Point to the relevant RFC if that is how you are using them.

Section 2.1

Here is the first example of the problems with your BNF, you allow
alternatives to be given by using | or by repeating productions and
this first set of productions (unlabelled) uses both.  Surely one of
these is redundant.

"each of which can have an ID"
an identifer?  Is ID some term/terminal in the abstract syntax,
please explain fully.  I will read assuming ID is a synonym for
identifier, although things like "the foo with ID bar" seems odd
since all global names are URI-refs.

"qualified names ... as is done in RDF" - you need to give a pointer
to this term in XML.  And you might consider pointing at how they are
used in the RDF/XML syntax, not RDF.  RDF the language has no
qualified names.

"to an XML Schema datatype" => add a reference

"If a URI reference is a datatype, i.e., the URI reference points to
an XML Schema datatype, as described above"
This sentence seems to imply all datatypes are XML Schema datatypes

If you want to define OWL datatypes, please do so explicitly.

"In OWL, as in RDF" => add a reference

"The class with ID owl:Thing" 
an example of the oddness of ID as I read it.  Surely that is just 
the same as "The class with identifier/URI reference owl:Thing" or just
"The class owl:Thing"

Section 2.2

"striped RDF/XML syntax without the use of rdf:nodeID."
I'd rather you didn't use the striped word, but in any case, you do
need references here to both the syntax and the rdf:nodeID.

Here you use lots of brackets in <propertyValue> rather than just
repeat the terminal, as you did in 2.1 for <directive> and
<annotation>.  I really think picking one style only is better.

"the full abstract syntax types can be general descriptions, "
Whoa.  Where did that come from?   Is there a section for the "the
full abs syntax", or is this Section 2?  Does it have a name?  Full OWL,
OWL?  If so, please define and use it when it was introduced in
section 1.


Section 2.3.2.4
2nd <axiom> defn, ObjectProperty's ( is on a new line, it would read
better as ObjectProperty( on one line which is how all the previous
forms were declared.  The indenting is rather difficult to read too


Overall Section 2:

Consider adding a summary table of all the defined terms, pointing to
the sections of 2.x in which they are defined.

I'd also suggest tables with complete lists of the terms in the OWL
variants.


Section After 2.3.2.4
Right here I want to read more, but there is no link to the next
section, in a different document.  Please consider merging these
documents..

Starting again at
http://www-db.research.bell-labs.com/user/pfps/owl/semantics/direct.html#3

Section 3
"RDF graphs", "RDFS model theory"
Intro needs pointers to the cited documents.


Section 3.1
Here the BNF choices start to look a bit of a problem
  "a 3-tuple <Ld,Vd,L2Vd>," 
- so now <> also means tuples.

"XML Schema" => reference
" http://www.w3.org/2001/XMLSchema#<name>, " => reference
plus here what are <name> used as?  tuples? or grammar terms?

"owl:Thing" is not a URI reference, or at least not as given
here.  Refer to where that terminology is defined.

Section 3.2
Give the table a <caption>, link and use it in other sections
(ditto for 3.3)

Make every abs syntax term used here a link to its definition, which
might be easier if section 2 had a summary table.

Maybe change the column 1 title to "Abstract Syntax"

Some syntax terms in this table are never defined such as unionOf,
part of <description>.  I looked for it and only found it in 2.3.2.2
by reference.  The name hints at what it could be, but it is not
defined in that section except by the words "set of individuals".
This needs fixing.

This section uses <> as tuples in the EC(S) column.

I'd suggest expanding EC(S) as the column header to the full name;
there is no need for an abbreviation here.


Section 3.3

Column 1 is labelled Directive, it should point to where it is
defined in 2.1 

"Class(c complete annotation(...) ... "

would be so much clearer if it pointed to the <axiom>, showed that
complete was one of two allowed <modality> and that the remaining
terms were <annotation> followed by <super>

ObjectProperty seems to be different from the <axiom> declarations in
section 2 which make Functional etc. alternatives; here they are all
allowed, but at most once each.

  for example 2.3.1.3: <axiom> allows OWL/Lite:
   ... [Functional | InverseFunctional | Functional InverseFunctional | Transitive] 

  here:
    [Symmetric] [Functional] [InverseFunctional] [Transitive]

which allows all four to be present


Section 3.4

the first sentence desperately needs links to the abs syntax, axions etc.

These look like important definitions, worth drawing out of the
formatting and saying so like:

  [Definition]: An Abstract OWL Interpretation


Section After 3.4

again, no link to the next section


http://www-db.research.bell-labs.com/user/pfps/owl/semantics/mapping.html#4

Section 4
It has some links to the references, but the first paragraph needs
the rest added.

P2 the "triples syntax"[sic] also has a document, part of the rdf
test cases.  Cite it, and it is called "N-Triples".
The explanation on expansion of the prefixes is inadequate, need to
explain a little more.

P4 Here <> are nonterminals again; sec 3 they were tuples, sec 2,
nonterminals.

P5 "0." - typo?

P8 new terminology, <> is a document reference URI.

Table; give it a caption, link, use it when you reference it in the
words before it.
The column 1 heading is better here; is "Syntax - S" in section 3.

column 1 - <thing...> are non-terminals
column 2 - <> are document reference URI
           <thing> are non-terminals
           or maybe? N-triples URI references such as in:
              "<> <URI reference> "<URI reference> ."
           which isn't correct N-Triples syntax either way you use it.
           See <type1> etc in Individual for example of the
	   confusion.  

Actually first time looking at it I thought there seemed to be
triples with 4 items in the Individual column 2 but I finally worked
out that <annotation> was not refering to Annotation(..) higher up,
but to annotation() further down the table - this is confusing.
The latter still gets the N-Triples syntax wrong, a URI-reference in
N-Triples has <>s around the URI-reference.

column 3 - <thing> are syntax terms  
           or bits of N-Triples such as : 
              "<literal>"^^<datatypeID> 
           which is actually wrong, it should be:
              "<literal>"^^<<datatypeID>>

This is a big mess I feel and should be addressed by changing some of
the terminology.  I suggest changing the BNF somewhat and maybe not
using <> for tuples (although that isn't used in this section), or
use typographic conventions to help.


Section 4.1

Please give the table some headings, a caption and point to it in the
text better than "the triples above".

Lots of definitions here, which might benefit from typographic
conventions to highlight them.  The triples in-line in sentences
don't read too well, I'd suggest pulling them out:
"of the form  x owl:oneOf rdf:nil . or  x owl:oneOf is . where i"

The variable? names 'x', 'y', etc. as used in triples should be made
clear that they will be replaced with something else in the triple.

Some of the defintiions use a list of conditions.  Make it clear
these all must be satisfies.


"A quick incomplete gloss of the above is that"
??

Is this paragraph of much use?

General Section 4

section 4 is pretty much absent of links after paragraph 2 and this
is important to fix to relate this with the other sections,
documents, references and other material



http://www-db.research.bell-labs.com/user/pfps/owl/semantics/rdfs.html

Section 5

Lots more references needed to XML, RDF, RDFS, the RDF namespace, RDF
vocabulary, RDF Semantics (not model theory), ...

Section 5.1

OWL/Full appears here for the first time.   I expect this should be
defined elsewhere and used throughout these documents.


Section 5.2
<> are tuples again

Personally, I find these tables hard to read.  Maybe they should be
indented so that the sort-of sub-sections "Relationships between OWL
classes" etc. are clearer, and the tables of conditions are more
associated with them.

Sections 5.3.1, 5.3.2
More important defintions that would benefit from typographical
emphasis.


http://www-db.research.bell-labs.com/user/pfps/owl/semantics/proofs.html
Not reviewed in detail, would be good if it linked to the therorems
that the proofs correspond to.

http://www-db.research.bell-labs.com/user/pfps/owl/semantics/examples.html

Appendix B

Are these in the OWL test cases?  Have they been machine checked?

B.2
Links to OWL/DL, OWL/Full, thanks.


References

I expect some more might be needed here such as the RDF XML Syntax draft  :)

Received on Saturday, 4 January 2003 10:56:52 UTC