- From: Brian McBride <bwm@hplb.hpl.hp.com>
- Date: Mon, 15 Jul 2002 21:46:18 +0100
- To: "Geoff Chappell" <geoff@sover.net>, <www-rdf-logic@w3.org>
At 09:20 15/07/2002 -0400, Geoff Chappell wrote:
>I have a question about datatyping used with untidy literals. Given test
>case D:
>
>Test D:
>
> <Jenny> <ageInYears> "10" .
> <ageInYears> rdfs:range xsd:decimal .
>
> <John> <ageInYears> _:a .
> _:a xsdr:decimal "10" .
>
>
>My understanding is that in a world of untidy literals, literals are
>(potentially) ambiguous names. Not only can many literals refer to one
>thing, but the same literal can refer to many things (as opposed to uris
>which are supposedly unambiguous names - i.e. a uri can only identify one
>thing though many uris could refer to the same thing). With this
>understanding a datatype identifies by uri a black-box that performs name
>resolution - i.e. the datatype is able to functionally identify a
>thing/object/value based solely upon its
>(potentially-ambiguous-wrt-the-world-at-large-but-not-wrt-the-datatype)
>name. A datatype has a set of names that it is able to resolve and a
>corresponding set of things/values. The members of the datatype class (when
>the datatype is used as a class) are simply the things/values it is able to
>resolve names to.
That is a pretty good summary. I think you have that right, though there
was one place where I wanted to wordsmith a bit, and there are others
where the logicians might. But those would be to picky for our purpose
here, I think.
>But what specifically is the meaning of the datatype when used as a
>property?
Associated with the datatype is a property extension which consists of a
set of pairs, e.g.
{ (1, "1"), (2, "2"), ... }
This is the way the current model theory works, so there is nothing special
in this aspect about datatype properties.
>Clearly in test D above the first "10" is meant to denote the
>decimal value 10, as is node _:a. But what does the second "10" (the object
>of xsdr:decimal) denote?
Ignoring complexities referred to by Peter for now, the second "10" denotes
a string.
We know its a string because we know xsdr:decimal is a datatype property
and all datatype properties take strings as their values.
I may be glossing over some technical details here, but this is the basic idea.
> One possibility is that it is also the decimal 10.
>Then a datatype used as a property states the equality under the datatype of
>the subject and object (which would be enough in this instance for a
>datatype-aware processor to figure out that _:a denotes the decimal 10).
>Another possibility might be that it is referring to the name itself (which
>I guess would make use of a datatype property some sort of a quoting
>mechanism?). But if that is the case, how is the rdf processor to know that?
Somewhere we have an assertion which I didn't show:
xsd:decimal rdf:type rdfd:datatype .
>what range constraint on the datatype property would indicate that? just
>rdfs:Literal? does rdfs:Literal become a "built-in" datatype that maps
>string values to themselves? (I often confuse myself here because in the
>whole discussion of tidyness vs untidyness I understand the term "literal"
>as used to talk about the name/label of the graph node while "rdfs:Literal"
>obviously is referring to the type of the value - little difference I guess
>in the world of tidy literals).
Just so.
Have I done enough to convince you this is possible, or do I need to call
in the cavalry?
Brian
Received on Monday, 15 July 2002 16:47:22 UTC