Initial comments on OWL 2 Full Semantics

Here are my comments on the OWL 2 Full Semantics.    I haven't made
review comments because I read the document while I was not connected to
the web, and thus couldn't edit the document.


In general I think that the document is quite good.  I have a number of
minor changes listed here.

I also have a comment that is more general than the document itself:

- owl:distinctMembers should be deprecated, as its function is handled
  by owl:members

Initial comments on the document:

- Vocabulary changes
  xsd:short - add to list of datatypes
  xsd:anyURI - replace owl:anyURI by xsd:anyURI
  owl:NAryDatatype - remove
  owl:datatypeArity - remove
  owl:Annotation - add as class, subset of IR

- "owlV" is not used after being defined.  I suggest removing it from
  the definition of the OWL 2 Full vocabulary. 

- The deprecation of owl:DataRange should say
    The URI reference rdfs:Datatype SHOULD be used instead.

- Definition 3.2 should also require that the datatype and facet names
  of D be in V. 

- Definition 3.2 should read  "... let V be a vocabulary that includes
  ...".

- What are the "constraints in this section" referred to in Definition
  3.2?  I don't see any. 

- Definition 3.3 and 3.4: Satisfaction of RDF graphs is not defined in
  this document.  If this means some RDF satisfaction, then you need to
  point
  there.  If not, you need to define satisfaction.

- Definition 3.3:  Q is not used.

- The semantic conditions are additions to also the D-entailment
  conditions, I think.  The first sentence of Section 4 should be
  changed accordingly.

- ICEXT(owl:NamedIndividual) = IR is probably incorrect, there are only
  countably many named individuals, but potentially uncountably many
  resources.  Should be <= IR.

- Table 4.1 - add column for description, e.g., Domain of discourse /
  Literal Values / Ontologies / Classes / Datatypes / ...

- owl:NAryDatatype is no longer in the RDF mapping
  owl:datatypeArity is no longer in the RDF mapping

- Replace "<= empty set" with "= empty set" in several places.

- IEXT(IS(owl:object)) <= ICEXT(IS(owl:Axiom)) x IR is wrong, as it
  states that annotated annotations are axioms.  It should be IR x IR.
  Similarly for owl:predicate and owl:subject.  (This may be because the
  document does not yet handle annotations on annotations.)

- owl:allValuesFrom should be <= owl:Restriction x IC.

- owl:TopDataProperty has wrong domain.  It should be = IR x ILV.

- Table 4.7 needs to be augmented with the conditions for nary some/all
  as follows: 
  if l is the sequence p1,...,pn in IDP
  - <x,c> in IEXT(IS(owl:someValuesFrom))
    <x,l> in IEXT(IS(owl:onProperties))
    then
    ICEXT(x) = { y | exists z1, ..., zn  <y,zi> in IEXT(pi) for each
  1<=i<=n
                                         and <z1,...,zn> in ICEXT(c) }
  - <x,c> in IEXT(IS(owl:allValuesFrom))
    <x,l> in IEXT(IS(owl:onProperties))
    then
    ICEXT(x) = { y | forall z1, ..., zn  <y,zi> in IEXT(pi) for each
  1<=i<=n 
                                         imply <z1,...,zn> in ICEXT(c) }

- The above change removes the need for Table 4.9.

- The last part of the paragraph before Table 4.10 should read something
  like: 
    Note that only the additional semantic conditions are given here and
    that the other RDFS conditions on this vocabulary are retained. 

- There is no definition of sequence.

- Semantic conditions should be provided for property chains directly,
  as in:

  Table 4.11: Property Chains
   if l sequence of p1,...,pn in IR
   then
      <x,l> in IEXT(IS(owl:propertyChain))
   IFF
     x,p1,...pn in IP
     IEXT(x) = IEXT(p1) o ... o IEXT(pn) 

- The x,y,z in Table 4.15 should be explicitly quantified over IR in
  the RHS of the table.

- I believe that Table 4.16 should have x in CEXT(c), y in CEXT(c).
  Also Table 4.16 is missing quantifiers for the zi.  I believe that
  they should be existentially quantified.

- Table 4.18 is missing a membership symbol.

- Table 4.18 already almost handles annotations on annotations, I think,
  provided that the domain of the OWL reification properties are changed
  as suggested.  However, I think that it would be better to change
  Table 4.18 and its introduction as follows:

    Table 4.18 lists the semantic conditions for the OWL vocabulary used
    for some axiom annotations and for annotations on annotations.  Both
    these kinds of annotations employ a reified version of a triple
    representing either the annotated axiom or the annotated annotation.
    The semantic conditions below recovers the triple itself from the
    reified version.

     Table 4.18: Reified Axioms and Annotations

     - if x in ICEXT(IS(owl:Axiom))
          <x,u> in IEXT(IS(owl:subject))
          <x,p> in IEXT(IS(owl:predicate))
          <x,w> in IEXT(IS(owl:object))
       then <u,w> in IEXT(p))
     - if x in ICEXT(IS(owl:Annotation))
          <x,u> in IEXT(IS(owl:subject))
          <x,p> in IEXT(IS(owl:predicate))
          <x,w> in IEXT(IS(owl:object))
       then <u,w> in IEXT(p))

- There needs to be a section on the differences from OWL 1 Full
  semantics, talking about comprehension principles, at least. 


- Why is there a partial comprehension principle for propertychains and
  subpropertyof (in Table 4.11)?  See suggestion for Table 4.11 above.

- Why do AllDifferent, AllDisjointClasses, and AllDisjointProperties
  have partial comprehension principles?  I suggest removing second half
  of Table 4.13 or moving it to Section 6.

- Why are there comprehension principles for negative property
  assertions?  I suggest removing second half of Table 4.17 or moving it
  to Section 6.

- I have not examined Section 6 closely.


I am thinking about the comprehension principles and how to best handle
them.  I may have a proposal for further changes in this area.

Peter F. Patel-Schneider
Bell Labs Research

Received on Wednesday, 3 September 2008 01:12:11 UTC