- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Fri, 19 Jul 2002 18:21:22 -0400 (EDT)
- To: www-rdf-logic@w3.org
[Jonathan Borden] >> Why not: >> >> <rdf:Description rdf:about="foo://bar"> >> <ex:property xsi:type="xsd:integer">10</ex:property> >> </rdf:Description> >> >> being defined to parse to: >> > > <foo://bar> ex:property xsd:integer"10" . [Peter Patel-Schneider] >This has been proposed several times, by several people, including myself, >most recently in > http://lists.w3.org/Archives/Public/www-rdf-comments/2002JulSep/0024.html >The RDF Core WG has, for some reason, chosen not to accept this in any >guise, even as part of a datatyping facility for RDF. [Pat Hayes] One reason is that (as far as I can see; correct me if Im wrong here) this proposal does not allow non-datatyped literals. That (very strong) constraint seems unacceptable for RDF and would clash with established usage. Yes, I think you would need to adopt a "grandfather" clause that said that all untyped literals should be interpreted as strings. That would probably work as well as the current system (if you can call it a system). In a related criticism, it does not (again, please correct) allow for 'remote' datatyping, where the association of a datatype with a property range imposes a datatype interpretation on uses of the property in other statements. Could you give an example of remote datatyping? Is Test Case D an example: <Jenny> <ageInYears> "10" . <ageInYears> rdfs:range xsd:decimal . If so, I agree there is a problem here, but perhaps one could think of it as a problem in type inference. If the first triple had been <Jenny> <ageInYears> xsd:string"10" then we can infer that the range of <ageInYears> must include strings. The second triple then contradicts that inference. Under my grandfather clause, "10" would be interpreted as a string by default. Hence any RDF processor should complain if it sees the triple stating Jenny's age before it sees the triple stating the range of <ageInYears>. (Okay, this violates the principle that a triple's meaning is independent of context. I would make an exception for type declarations.) As an example of a problematic inference, consider whether <foo://bar> ex:property xsd:integer"10" . <foo://baz> ex:property xsd:octal"12" . should or should not entail <foo://bar> ex:property _:xxx . <foo://baz> ex:property _:xxx . and how this could be detected by a reasoner. What's the problem? All the reasoner has to do is realize that xsd:integer"10" and xsd:octal"12" are the same object. (Assuming "integer" means "decimal integer.") That requires the reasoner to understand the literal formats 'xsd:integer' and 'xsd:octal', which presumably all reasoners would. I suppose there are other cases where two data couldn't be compared (e.g., two literals describing Turing machines), but they should be rare. -- Drew McDermott
Received on Friday, 19 July 2002 18:21:30 UTC