owl:Class in class expressions - substantive

This msg proposes a substantive change in the mapping rules.
I will make later comments of a more editorial/bug-fixing nature.

The focus is on class expressions e.g. a unionOf.

With the current mapping rules the following is an OWL DL document (modulo
declarations etc)

DocA
====
<owl:Class rdf:ID="u">
   <owl:sameClassAs>
     <rdf:Description>
       <owl:unionOf rdf:parseType="Collection">
           <owl:Class rdf:ID="a"/>
           <owl:Class rdf:ID="b"/>
       </owl:unionOf>
      </rdf:Description>
    </owl:sameClassAs>
</owl:Class>


The following, which I believe better follows standard DAML+OIL idiom, is
not:

DocB
====
<owl:Class rdf:ID="u">
   <owl:sameClassAs>
     <owl:Class>
       <owl:unionOf rdf:parseType="Collection">
           <owl:Class rdf:ID="a"/>
           <owl:Class rdf:ID="b"/>
       </owl:unionOf>
      </owl:Class>
    </owl:sameClassAs>
</owl:Class>


The relevant mapping rule is:

unionOf(description1 … descriptionn)

=>

_:x owl:unionOf T(SEQ description1…descriptionn) .


Three options are:
A) leave us as
B) change to

unionOf(description1 … descriptionn)

=>

_:x owl:unionOf T(SEQ description1…descriptionn) .
_:x rdf:type owl:Class .

C) add above rule as an alternative


==========
Effect

A) DocA is OWL DL, DocB is OWL Full
B) DocB is OWL DL, DocA is OWL Full
C) both DocA and DocB are OWL DL

I argue that (B) has the additional advantage of being easier to articulate,
e.g.:
  "Within OWL Lite and OWL DL all nodes must have a type."

So I propose B, and similarly for the other class expression rules.
(Issuette what type should a datarange have?)

Jeremy

Received on Friday, 17 January 2003 09:40:12 UTC