- From: Jonathan Borden <jonathan@openhealth.org>
- Date: Sat, 28 Sep 2002 11:09:05 -0400
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>, "pat hayes" <phayes@ai.uwf.edu>
- Cc: <www-webont-wg@w3.org>
> >Suppose that you have the following:
> >
> > foo rdfs:subPropertyOf bar .
> > foo rdfs:range xsd:[integer union string] .
> > bar rdfs:range xsd:[string union integer] .
> >
> > john foo 10 .
> >
> >how is 10 to be interpreted?
>
> integer. YOu can in this case also INFER that john bar 10, and now
> you can infer that the literal in that second triple means a string.
> So now, John's foo is ten and his bar is "10".
>
It occurs to me that this is merely a wrinkle on the datatyping issue of how
to interpret the literal "10"
Aside from ranges, "10" can be interpreted in many ways e.g.
xsd:string"10"
xsd:binary"10"
xsd:integer"10"
xsd:real"10"
...
any application dependent interpretation...
the idea of a datatype is to place a restriction on the above set of
interpretations.
given the two datatypes xsd:[integer union string], xsd:[string union
integer] which are both in the rdf:subPropertyOf chain, the interpretation
cannot be restricted to xsd:integer"10",
but rather the set {xsd:integer"10", xsd:string"10"} ... which is simply the
same as
xsd:[integer union string]"10" and xsd:[string union integer]"10"
In the presence of an rdfs:subPropertyOf chain, the interpretation of the
literal would, I presume, be the disjunction of the conjunctions of the
datatypes indicated by each of the ranges for each rdfs:subPropertyOf i.e.
foo rdfs:range (Range(foo) union Range(bar)) ...
foo rdfs:range _:x
_:x owl:unionOf (xsd:[integer union string], xsd:[string union integer])
Jonathan
Received on Saturday, 28 September 2002 11:27:03 UTC