Re: around the table on datatypes [ was: Re: datatyping draft 3 (for telecon)]

[...]

>Still, we do need something. So how about using drange to do it. In
>other words, lets make the following extra specification on drange:
>when ddd is a datatype property,
>
>ddd rdfs:drange aaa .
>
>means that (the class extension of) aaa is *precisely* the range of
>ddd, ie precisely the lexical space of the datatype, We already have
>a name for the precise value space of the datatype, so the other end
>is, er, sharp already. Then the pair of shared-bnode triples above
>would work if the first one said drange instead of range.
>
>This means drange exerts an extra kind of semantic magic, but only
>when applied to a datatype property. This doesn't interfere with the
>other magic attached to drange since that only kicks in if the object
>is a datatype class, and that's never going to happen in this case
>(unless there are two datatypes with the lexical class of one being
>the value class of another?? .... Nah, never happens)(And even if it
>did, it wouldn't cause any damage.)  And it doesn't infect the rest
>of RDFS since this magic only applies to lexical spaces of datatypes
>which are just the ones where we really can tell if something is NOT
>in the class in question, so it doesn't sneak negation into RDFS by
>the back door.

well, I actually (before your email)
wrote it here on a piece of paper
for
  :Jenny :age "35".
constrain
  :age rdfs:range _:1.
  xsd:number rdfs:drange _:1.
or
  :age rdfs:range _:1.
  _:1 rdfs:drangeOf xsd:number.

another possibility is to say
that :age is the chaining of
_:age and xsd:number but we
don't have property chaining...

--
Jos

Received on Monday, 18 February 2002 19:46:50 UTC