review of Reference Document

(review of http://www.daml.org/2002/06/webont/owl-ref-proposed 
version 1.106, 2002/12/30)


The following is my review of the reference document.  Others have 
already made some of these same comments, in which case apologies for 
redundancy.  I felt it better to review the document end to end for 
consistenct of my remarks

Also a note: I believe the Reference Document will be the primary 
citation for our langauge, and therefore it essentially needs to 
"stand alone" - by this I mean not that it shouldn't be linked to the 
other documents (it is and should), but rather that no critical 
content should be left out of the reference unless the reference 
provides a brief summary and a link to the appropriate longer 
discussion in another document.  Current version does a good start on 
this in the introductory remarks, but there are other places needing 
this treatment as will be discussed below.

First META-COMMENT
  The document MUST contain a description of the three levels of OWL. 
This should be in the introduction as a summary, with a pointer to 
the longer discussion in the other docs (usage in Guide, summary in 
Features, formal definition in semantics).  From then on, there 
should be a consistent mechanism for saying when a langauge feature 
or need is restricted to specific subsets).  The current version does 
some of this, but it needs to be more consistent.

Second META-COMMENT
  The main problem technically with the document is that since it is 
based on D+O which had the strong separation of data and object 
types, the text reflects that incorrectly at times given that OWL 
Full not allows these to be non-disjoint.  I think the best solution 
to this would be to add an explicit paragraph called "Classes as 
Instances" (probably near the end of the main document) which 
explains this carefully (with approrpriate links).  At all other 
points in the document where the separation is used or necessary it 
should say  "In OWL DL, ..." and could include a pointer to the OWL 
Full discussion later.


Third META-COMMENT
  The treatment of datatypes in this doc is not yet caught up w/the 
WG, this will be easily fixed.  However, the discussions of datatypes 
should be replaced with the text already written and approved by the 
WG.  In particular, the section "datatpe values" should be replaced 
with the words from Peter's email closing the datatype issue and 
include as a note Jeremy's message about which XML datatypes are 
suggested -- the latter should go in the notes section, with 
forwarding pointer where datatypes are first discussed.

-----------
Specific comments:

Abstract -
  As I pointed out previously in my comments on Peter's comments on 
Guide [1], the W3C Style Manual calls for  longer abstracts esp. in 
reference documents (the ones they use for PR purposes).  I believe 
we should add a few words that mention what our chartered goals were 
and perhaps what we've achieved - NOTE, this is longer than a normal 
abstract, but I think it will help the W3C in describing our work, 
and make it much faster for people coming to our document to find the 
pointers to the other documents if that is what interests them.

---
Abstract

OWL is a semantic markup language for publishing and sharing 
ontologies on the World Wide Web (an ontology formally defines a 
common set of terms that are used to describe and represent a 
domain).   OWL is derived from the DAML+OIL Web Ontology Language 
[DAML+OIL] and builds upon the Resource Description Framework 
[RDF/XML Syntax].  In particular, OWL extends the definitions of 
classes and their properties provided by Rdf Schema [RDF Schema] 
with richer modelling primitives which  provide for the specification 
of complex relationships between entities including: means to limit 
the properties of classes with respect to number and type, means to 
infer that items with various properties are members of a particular 
class, and a well-defined model of the inferencing entailed by 
statement in OWL.

The language was designed to address a set of requirements developed 
by the working group [requirements] analyzing existing uses of 
ontology technology on the web, identifying the needs of making these 
interoperable using a web standard, and focusing on six generic use 
cases describing areas in which the technology have been deployed: 
web portals, multimedia collections, corporate Web site management, 
design documentation, agents and web services, and ubiquitous 
computing.

This reference describes the syntactic consituents of the OWL 
langauge, and provides the normative definition of OWL's syntax.  It 
briefly describes the use of these syntactic components, and provides 
links to other documents which provide descriptions of the language 
features [features], extended examples of their use [Guide], the 
normative semantics for all of the OWL language features [Semantics]. 
A separate document [test] provides test cases for the language 
features that can be used by developers in validating their OWL tools.

-----------------
I Status - we can now remove all the pink and yellow, YAY!

-----
II Introductory remarks

I suggest some wording changes to the bulleted descriptions of other documents:

1. replace start of introductory remarks with these (fix the @@s to 
appropriate refs)

<p>This document gives a systematic, compact and informal description of all
the modelling primitives of OWL.  We expect this document to serve as a
reference guide for users of the OWL language.</p>
<ul>
   <li>Readers unfamiliar with OWL may wish to consult the OWL Guide
     [<cite><a href="#ref-guide">OWL Guide</a></cite>]
     for a more
     narrative description and examples showing the use of the language.</li>
   <li>The normative reference on the precise syntax of the language constructs
     is the machine readable <a http="@@"> RDF Schema definition
     of OWL</a>, also included as <a href="#appc">Appendix C</a>.</li>
   <li>This document specifies the normative exchange syntax for OWL. 
An abstract syntax designed to serve as a basis for formal 
specification is specified in the OWL Abstract Syntax and Semantics 
Document
  [<cite><a href="#ref-abstract-syntax">OWL Abstract 
Syntax</a></cite>] which also provides a precise definition of the 
meaning of the language constructs.</li>
    <li> This reference document is augmented by the shorter Feature 
Synopsis for OWL [<cite><a href="#ref-features">OWL 
Features</a></cite>] which describes the functionalities of the 
features provided by OWL without the accompanying syntactic 
detail.</li>
    <li>A set of test cases for the language features, which can be 
used by developers for validating their OWL tools, is provided in <a 
href="@@"># Web Ontology Language (OWL) Test Cases</a> </li>
    </ul>
Which puts these comments into more of a  one-to-one correspondence 
with out other documents.  Also notice I removed the one about 
species of OWL.  See next comment

2. In regard to meta-comment 1 above, the following could be added as 
the next paragraph in the introduction )immediately following the 
above)


The OWL language provides three increasingly expressive sublanguages 
designed for use by specific communities of implementors and users:
       OWL Lite, OWL DL, and OWL Full.
This reference document describes the syntax all features in the OWL 
language.  Where important, we will make clear differences in use or 
restriction between Full OWL, OWL DL and/or OWL Lite.  A  description 
of these layers and their relationships is given in the
       <a href="http://www.w3.org/TR/owl-guide#OwlVarieties">The 
Species of OWL</a>
       section of the OWL Guide
       [<cite><a href="#ref-guide">OWL Guide</a></cite>].  A more 
detailed description as to which language features go in which 
sublanguages is provided in the Feature Synopsis for OWL [<cite><a 
href="#ref-features">OWL Features</a></cite>] and the formal 
distinctions are presented in the OWL Abstract Syntax and Semantics 
Document
  [<cite><a href="#ref-abstract-syntax">OWL Abstract 
Syntax</a></cite>].  In this reference, notes that are specific to 
the particular sublanguages of OWL will be indicated by @@ editors 
decide on the technique and describe here @@.

3. unbold the note in different syntactic forms - it doesn't need the 
special emphasis.

4. delete the word "perfectly" in the Mixing OWL with arbitrary RDF. 
Is the mixing note still needed (I don't mind it - but it may be 
superfluous)

III Language structure

1. There is overlap between the different syntactic forms discussion 
and the first paragraph in langauge structure.  These need editing to 
bring them together and to correctly describe current relation with 
RDF.   In the paragraph about list sturctures, delete the world 
"recently added to RDF" and replace with "of RDF" (with appropriate 
RDF citation).

2. It is unclear to me whether the wording in owl:imports correctly 
reflects the current situation - check it, and make sure to provide a 
pointer to wherever the normative definition will reside (semantics?)

3. The note that starts "Note: this approach does not address ..." 
should be moved to the notes section (or deleted).  Also, be aware 
this may be changed to an objective in requirements, in which case 
this note  should be deleted.

4. The objects and datatype values section needs to be rewritten as 
this separation no longer holds throughout OWL (i.e. not in Full) - 
this needs to be addressed carefully (meta-comment 2)  Also, the 
datatype mention here could be a good place to cite which XML 
datatypes OWL approves of (per jeremy's email) - I suggest adding a 
"datatype note" in the notes section which includes his words, and 
then you could refer to that note here.

5.  The use of WARNING is great, but maybe they need to be set out 
slightly better typographically - might ask Dan how this is done 
these days.

6. property restrictions states "It is also possible to create 
restrictions that are neither
object restrictions nor datatype restrictions, but these restrictions are not
handled within OWL."   Is this still true in OWL full (hard for me to 
tell from this wording) - I think we would need to handle these 
restrictions in Full, but if I'm wrong, this should say "not handled 
within OWL (even Owl Full).:

7. The cardinality section and the cardinality syntax note need to be 
updated for the ugly new RDF datatype stuff.

8. The note on malformed restrictions should be a "warning" note

9. In the discussion of domain and range it says "should be used with 
great care in OWL" - but doesn't suggest what to use instead. 
Perhaps it shoudl say "with great care in OWL. It is preferable to 
use a local range or domain by using a restriction on an 
owl:onProperty (and a pointer to a use of this in Guide, perhaps?)

10. owl:inverseFunctionalProperty says in OWL DL... In OWL Full ...; 
suggest that should be in OWL Lite and OWL DL ...  While I realize 
that it is technically the case that any restriction on DL also holds 
on Lite, but that is not stated anywhere in the ref, so you should 
either be carefut to always include lite, or to add a note somewhere 
making it clearer.

11. be sure to fix the unique names pointer after we resolve it

12 datatype values

I suggest replacing this section completely with the text from 
Jeremy's description of the relation between OWL and the XML datatypes

13.  A section MUST be added to the end of this called "Classes as 
Instances" which explains what can be done in OWL Full.  This was not 
only one of our requirements, but will also help this document in 
making the relationships among the language subsets clearer.

IV Appendix D

We need to fix the wording about range and domain - whatever our 
resolution ended up as, needs to be reflected here

--------
btw, this document has come along quite well, and despite the length 
of the above, I think it is progressing quite well.
  -JH



[1] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0313.html
-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  240-731-3822 (Cell)
http://www.cs.umd.edu/users/hendler

Received on Wednesday, 1 January 2003 16:01:03 UTC