OWL 1.1 DataRange (was: Numerical Ranges/Sets in RDF?)

Holger Knublauch wrote:

> These XSD facets are exactly the solution proposed for representing
> user-defined datatypes in OWL 1.1 [1]
> 
> [1] http://owl1_1.cs.manchester.ac.uk/

Thank you! Indeed, this indeed seems to provide what I need.


Beside that I fully realize that the proposed text is still a draft, I'm
not 100% sure if it can also support what I called "numerical sets" in
my previous mail:

> My final goal would be to allow efficient (with few statements)
> description of numerical sets. For example, [1..4, 8, 16..37] could become:
> 
> ex:NumericalSet    rdfs:subClassOf     rdf:Bag
> #myintrange        rdf:type            ex:NumericalSet
> #myintrange        rdf:_1              genid:1
> #myintrange        rdf:_2              genid:2
> #myintrange        rdf:_3              genid:3
> genid:1            xsd:minInclusive    1
> genid:1            xsd:maxInclusive    4
> genid:2            rdf:value           8
> genid:3            xsd:minInclusive    16
> genid:3            xsd:maxInclusive    37

It _seems_ to me that this may be possible using the DataRange in the
Owl 1.1 proposal. I was intrigued that a DataType is a SubClassOf
DataRange, but looking at the UML diagram, it does make sense.

I'm not sure if I already adopt the draft schema in the OWL 1.1
proposal, but may consider it (whatever I choose for my application will
very likely change at some -- it's only a proof of concept, so I'm fine
looking at drafts).

However, the proposal is not all clear to me. I miss a draft schema for
reference, and do not know what the arity predicate means. Also I was
surprise to see that the DatatypeRestrictions points to the DataRange
object, instead of the other way around (as in my example above).

Am I correct that the following would describe the set [1..4, 8, 16..37]
(though it is still not clear to me how to make it explicit that is is a
subset of all integers, as opposed to for example a subset of all floats).

#myintrange         rdf:type                owl11:DataRange
#myintrange         owl11:arity             3
genid:1             rdf:type                owl11:DatatypeRestriction
genid:1             dataRange               #myintrange
genid:1             xsd:minInclusive        1
genid:1             xsd:maxInclusive        4
genid:2             rdf:type                owl11:DatatypeRestriction
genid:2             dataRange               #myintrange
genid:2             owl11:restrictionValue  #int-of-genid:2
#int-of-genid:2     rdf:type                owl11:Constant
#int-of-genid:2     owl11:value             8
genid:3             rdf:type                owl11:DatatypeRestriction
genid:3             dataRange               #myintrange
genid:3             xsd:minInclusive        16
genid:3             xsd:maxInclusive        37

Thanks again for the great reply!

Freek

Received on Saturday, 9 December 2006 13:24:10 UTC