- 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