Review of Profiles Document

This email is my response to the request by Ian to review the Profiles  
document.  I apologize that I didn't have time to do it online and to  
integrate my comments into the document, I also apologize that I did  
not have time to carefully review the language design specs, so I  
mainly concentrate on issues to improve the readability and  
understandability of the document (which could have helped me have  
time to review the language design :-))

here are my comments

overall comments and section 1:

My main metacomment is that there is some material in the document  
that was probably useful in the history of putting it together, and in  
earlier drafts, but which is not needed in the current version - I try  
to indicate these below.  Please note when I suggest something could  
be deleted that in no way means I think it is wrong or misleading or  
any other negative term, rather, the document is quite long and things  
which add theoretical background, without having a direct impact, make  
it harder to read

  section 2.1 and section 3.1 (the EL and QL feature overviews) could  
be done in the same tabular form as section 4.1 - that would improve  
consistency, but also make comparison of the profiles easier

  the user coming to this document, not familiar with the others, will  
be confused about the mapping to the various syntaxes - the note in  
the introduction (section 1) says
      OWL 2 profiles are defined by placing restrictions on the OWL 2  
and then gives some details - but a reader coming to this document  
alone won't necessarily know what that means or what other syntaxes  
are available.  I suggest that a sentence added to this might be  
helpful -- I would add a sentence after  the  sentence above that says  
something like:
   "Each of the profiles can be realized through any of the  
serializations of OWL described in our documents including  
<<Functional, XML, RDF, Manchester and any others that I've  
forgotten>>. "

There is an assumption that the reader is familiar with a number of  
technical terms that are used somewhat differently in different  
communities - for example, in the motivation for OWL 2 EL it says:
    for which the following reasoning problems can be decided in  
polynomial time: satisfiability, subsumption, classification, and  
instance checking.
but, for example, instance checking is not a term used consistently  
across the various literatures of logics (and dbs, for that matter).   
I don't think we should try to define all these here, but rather  
should put appropriate pointers to Section 5 where these things are  
defined appropriately (and in section 5, I note that terms like "every  
model of the ontology" are thrown around, these could in turn direct  
people to the model theoretic semantics)


  I found the sentence in the intro to OWL 2 EL which reads:
   A main design principle of OWL 2 EL is to focus on the class  
constructors ObjectIntersectionOf and ObjectSomeValuesFrom, but to  
provide ObjectAllValuesFrom only in the form of range restrictions.
   to be fairly odd - I'd think it should either be motivated or  
removed -- I don't see that it adds anything as a standalone  - if it  
does stay, please note that the definition of range restriction is  
made in section 2.2.6, which comes later, so at least a pointer is  
necessary to understand the comment (my preference would be to delete  
it as it doesn't really have an impact on the definition)

   section 2.2.6 is hard to read - it is hard to tell when the range  
restriction definition ends and where the "additional  
condition" (mentioned in the first sentence of 2.2.6) starts.   
Reorganization might help (state the condition first and then the  
definition perhaps) -- I also think that the chances of even  
sophisticated reasoner developers to understand how to check this  
condition will be somewhat limited - I'd suggest an explicit pointer  
to a paper might be useful here.

Section 3 -  OWL QL
  The second statement sentence of the intro to OWL QL states
       OWL 2 QL includes most of the main features of conceptual  
models such as UML class diagrams and ER diagrams.
That is probably debatable, and even if true, could be contentious - I  
suggest an easy fix which is to change "Most" to "Many"

  The description of which kind of DL-Lite this is and the relation to  
the UNA is useful, but I think it should be moved to the end of the  
discussion of QL - having it in the introduction is confusing.  It  
also makes it easy to miss the last sentence of the introduction  
(about where the constructs occur) which is very important.

  The sentence (2nd sentence of Section 3.2):
      The expressive power of OWL 2 QL is such that the global  
restriction on axioms defined in Section 11 of [OWL 2 Specification]  
are vacuously satisfied in every DL-lite ontology.
is confusing - even changing  "DL-Lite" to "OWL 2 QL" it is unclear  
why this needs to be stated at this point - is unnecessary to the  
language design.  I would suggest deleting this sentence.

  Section 3.2.5 either has a wording problem or a logic problem - I  
think it is just the former -- above the second syntax box (about  
object properties) it reads:
      ... and it redefines object property domain and range axioms to  
use the appropriate class expressions.
and the box talks about object properties.  The next box has text  
which reads:
    ... nd it redefines the object property domain axioms to use the  
appropriate class expressions.
but it then only talks about Dataproperties -- I assume that "object"  
should be changed to "data" in the second sentence, but I am not sure  
whether that is sufficient

Section 4 OWL RL
  Section 4.2, the third sentence reads
     The idea is based on Description Logic Programs [DLP]  a logic  
obtained by intersecting description logics with rule-based languages.
that is undoubtedly true, but not enlightening at this point - I'd  
move it to the end of the section or delete it (I suggest delete it)

  Section 4.2.5 contains the sentence
     Keys are redefined in OWL 2 RL to allow for correct type of class  
expression in the axiom.
which is grammatically incorrect, but I'm not sure what fix is right -  
depends whether there is only one appropriate type (in which case it  
should say "the correct type") or multiple (in which case "types" and  
"class expressions" is needed for agreement) or a mix in which case it  
needs to be reworded.  I think it is the second of these, but I'm not  
actually sure.

Section 4.3 just above Theorem 1 -- the /may/ (in italics) should be MAY

Theorem 1 seems to me to add nothing importance to the design - if I'm  
missing something I would certainly just assert the conclusion and  
omit the proof - I suggest just deleting it completely (which will  
also save the work of generating the proof sketch).

Section 5
  I'm willing to believe most of these, but must admit that the ones  
on OWL RL confuse me -- I assume we mean OWL RL restricted to the DL  
subset and doing complete reasoning - is that right?  If so, it might  
be worth stating that explicitly (or at least w/some sort of footnote)

"If we knew what we were doing, it wouldn't be called research, would  
it?." - Albert Einstein

Prof James Hendler
Tetherless World Constellation Chair
Computer Science Dept
Rensselaer Polytechnic Institute, Troy NY 12180

Received on Tuesday, 23 September 2008 01:28:26 UTC