Disjuction of subPropertyOf chain? was Re: possible semantic bugs concerning domain and range

> >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