- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Thu, 12 Sep 2002 14:50:29 +0200
- To: "Jeremy Carroll" <jjc@hplb.hpl.hp.com>, "Patrick Stickler" <patrick.stickler@nokia.com>, "RDF Core" <w3c-rdfcore-wg@w3.org>, "ext Brian McBride" <bwm@hplb.hpl.hp.com>
> I suggest an abstract syntax along the lines of: > > An RDF Literal Node can be labelled with one of: > > - an RDF String Literal (as now) > - an RDF XML Literal (as now) > - a value from the value space of a datatype. > > We simply note that an implementation that is unaware of a > specific datatype > used in an RDF/XML document will need to store the datatype URI + lexical > form pair as a fall-back. > > An RDF Graph contains precisely one triple for each Literal node in the > graph. > > [As I have previously indicated this extreme syntactic untidiness is > practically indistinguishable from extreme tidiness, but leaves Pat more > room to wriggle.] Benefits: 1. Implementations don't need to store the original string, fits with almost all plausible implementations of values. (e.g. in a database) 2. Makes the Closed World Assumption on datatyping. This is more accurate than an Open World Assumption. When the document author writes <my:datatype>"10" they know already whether they mean the string "10", the number 2 (binary), or 10 or 16 (hex). They are not saying that they are going to make up their mind later about what the "10" means. <my:datatype> is already defined and they are using that definition. Someone else shouldn't come and redefine <my:datatype> so that "10" means something else. I agree with Patrick that it has a weakness to do with implementations that do not know a particular datatype have to fallback to something like his proposal; which licenses two slightly different behaviours. However, note that XML Schema Datatypes is closed. There are only the predefined basic types and (possibly user defined) types derived from them. Hence, at least in principle, an RDF implementation could know all possible predefined datatypes and the rules for understanding a user definition of a new type. Jeremy
Received on Thursday, 12 September 2002 08:50:36 UTC