concrete types and inference

In http://www.daml.org/2001/03/daml+oil-ex.daml it states:

<Person rdf:ID="Ian">
  <rdfs:comment>
  Ian is an instance of Person. Ian has shoesize 14 and age 37. From
  the range restrictions we know that these are of type xsd:decimal
  and xsd:nonNegativeInteger respectively. Ian also has shirtsize 12,
  the type of which is the union type clothingsize; the discriminating
  type "string" has been specified, so the value is to be taken as the
  string "12" rather than the integer 12.  We may be able to infer
  that Ian is an instance of BigFoot (because 14 is a valid value for
  xsd:over12).
  </rdfs:comment>
  <shoesize>14</shoesize>
  <age>37</age>
  <shirtsize><xsd:string rdf:value="12"/></shirtsize>
</Person>

which represents a set of RDF statements including:

 (shoesize, Ian, "14")

I was expecting that the set of statements would include instead:

 (shoesize, Ian, #anon1)
 (rdf:value, #anon1, "14")

which could be written in RDF

  <shoesize rdf:value="14"/>

With this construction, the inference of the type can be represented
simply by adding:

  (rdf:type, '#anon1, xsd:decimal)

to the graph.

Brian McBride
HPLabs

Received on Monday, 7 May 2001 07:39:40 UTC