Re: suggestions for datatyping (long)

jos.deroo.jd@belgium.agfa.com wrote:
> [...]
> let's take another testcase
> ####
>     :Animal a rdfs:Class;
>          <http://www.daml.org/2000/12/daml+oil#restrictedBy>  [
>              a <http://www.daml.org/2000/12/daml+oil#Restriction>;
>              <http://www.daml.org/2000/12/daml+oil#onProperty> :parent;
>              <http://www.daml.org/2000/12/daml+oil#cardinality> "2" ];
>          rdfs:label "Animal" .
> ####
> what is that "2" denoting? the number 2, isn't it?
> I can't imagine that the range of
>   <http://www.daml.org/2000/12/daml+oil#cardinality>
> is a subclass of rdfs:Literal

You are right, according to the DAML/OIL schema, "2" is supposed to be a
nonNegativeInteger. Following Pat's proposal, "2" could denote many
different things like numbers, shoe sizes and weights in pounds
depending on the context. In my opinion, this ambiguity is
counterproductive and is a heavy burden for interoperability.

If literals may denote everything you like (and many things at once), I
don't see why we need resources/URIs any more. We could do just fine
with literals. For example, literal "Peter" could denote a person,
sometimes Peter Pan, another time Peter The Great (even in the same
graph!). Literal "2" in the above example could well denote Peter The
Great, too.

I strongly believe that each symbol (node in a graph, Ntriple token,
literal string) must map to exactly one thing in the domain of
discourse. Otherwise RDF does not give us any advantages over XML at
all, since practically everything we write may be given some contrived
meaning.

For your example above I'd rather suggest

     :Animal a rdfs:Class;
          <http://www.daml.org/2000/12/daml+oil#restrictedBy>  [
              a <http://www.daml.org/2000/12/daml+oil#Restriction>;
              <http://www.daml.org/2000/12/daml+oil#onProperty> :parent;
              <http://www.daml.org/2000/12/daml+oil#cardinality> [
xsd:int "2" ];
          ];
         rdfs:label "Animal" .

if xsd:int is a relationship that maps the lexical space of integers to
the value space of integers, or

     :Animal a rdfs:Class;
          <http://www.daml.org/2000/12/daml+oil#restrictedBy>  [
              a <http://www.daml.org/2000/12/daml+oil#Restriction>;
              <http://www.daml.org/2000/12/daml+oil#onProperty> :parent;
              <http://www.daml.org/2000/12/daml+oil#cardinality> [
                 a xsd:int;
                 rdf:value "2" ];
          ];
         rdfs:label "Animal" .

if xsd:int is a class (rdf:value could denote a "default" relationships
between integers and literals).

Sergey

Received on Monday, 29 October 2001 12:42:09 UTC