datarange too hard to use

I do not believe that we have any examples of a datarange anywhere.

The rules are:

From Abstract Syntax (section 2)

dataRange ::= datatypeID
            | 'oneOf(' { dataLiteral } ')'


axiom ::= 'DatatypeProperty(' datavaluedPropertyID { annotation } { 'super('
datavaluedPropertyID ')'}
                              { 'domain(' description ')' } { 'range('
dataRange ')'}
                              [ 'Functional' ] ')'


And then in the mapping rules (section 4)

oneOf(v1 … vn)

=>

_:x owl:oneOf
T(SEQ v1 … vn) .


==========

Thus the usage in RDF/XML is

<owl:DatatypeProperty rdf:about="&eg:foobar">
  <rdfs:range>
    <rdf:List>
       <rdf:first rdf:datatype="&xsd;int">2</rdf:first>
       <rdf:rest>
         <rdf:List>
          <rdf:first rdf:datatype="&xsd;int">4</rdf:first>
          <rdf:rest rdf:resource="&rdf;nil"/>
         </rdf:List>
       </rdf:rest>
    </rdf:List>
  </rdfs:range>
</owl:DatatypeProperty>
<owl:Thing>
  <eg:foobar rdf:datatype="&xsd;int">2</eg:foobar>
</owl:Thing>

(this is a datarange with two members - I expect it is intended for rather
more members)

===

Problems are:
1: does not fit the rdf:parseType="Collection" syntax
2: the datarange cannot be named
3: hence the datarange cannot be reused, but must be rewritten in full
everytime the same datarange occurs in any range constraint.


I do not believe that this is in DAML+OIL (I might be wrong); I do not
believe this is implemented; I do not believe it does anything that XML
Schema Datatypes won't do better (as long as we can have URIrefs for user
defined datatypes).

It makes sense to remove features that are not useful and not implemented
before we get to last call.

Jeremy

Received on Friday, 17 January 2003 09:29:36 UTC