- From: <Patrick.Stickler@nokia.com>
- Date: Thu, 16 Jan 2003 12:06:51 +0200
- To: <pfps@research.bell-labs.com>, <Jan.Grant@bristol.ac.uk>
- Cc: <bwm@hplb.hpl.hp.com>, <w3c-rdfcore-wg@w3.org>
> -----Original Message----- > From: ext Peter F. Patel-Schneider > [mailto:pfps@research.bell-labs.com] > Sent: 15 January, 2003 22:04 > To: Jan.Grant@bristol.ac.uk > Cc: bwm@hplb.hpl.hp.com; w3c-rdfcore-wg@w3.org > Subject: Re: Update semantics LCC > > > > From: Jan Grant <Jan.Grant@bristol.ac.uk> > Subject: Re: Update semantics LCC > Date: Wed, 15 Jan 2003 13:48:50 +0000 (GMT) > > [...] > > > The closure rules now include all XML literals with the appropriate > > canonical form, which means simple entailment now works. In > fact, I see > > Pat's added a paragraph to that effect after the statement > of the RDF > > entailment lemma. > > > > That addresses the only critical issue I had with that document. > > [...] > > Unfortunately, IL is inconsistently defined for rdf:XMLLiteral > > In Section 3.1 there is > > if ... IL("xxx"^^rdf:XMLLiteral) is the XML canonical > form of xxx > if ... IL("xxx"@yyy^^rdf:XMLLiteral) is the XML > canonical form of > xxx with the language tag yyy > > In Section 3.4 there is > > for any typed literal L of the form "sss"^^ddd or > "sss"@ttt^^ddd in > G, if I(ddd) is in D and "sss" ("sss"@ttt) is a valid > lexical form > for I(ddd), then IL(L) = L2V(I(ddd))(sss) > > which is inconsitent for rdf:XMLLiteral as long as there is any > langauge-tagged XML document whose canonical form depends on > the language > tag. This is not inconsistent, because it is the lexical form of the XMLLiteral which contains the language tag. I.e., the lexical form of an XMLLiteral can be a pair, not just the XML encoded string. C.f. section 3.4 [ The built-in datatype rdf:XMLLiteral, exceptionally, allows pairs in its lexical space. ] What's unclear here is the mapping from the syntax to the "complete" lexical form of the XML literal. I.e. IL("sss"^^ddd) = L2V(I(ddd))("sss") IL("sss"@en^^ddd) = L2V(I(ddd))("sss") IL("sss"^^xml) = L2V(I(xml))("sss","") IL("sss"@en^^xml) = L2V(I(xml))("sss","en") where xml is rdfs:XMLLiteral and ddd is any datatype other than rdfs:XMLLiteral. Thus, the rule is consistent, but the exceptional nature of the lexical forms of XMLLiteral needs to be made clearer. (As an aside, I personally consider the exceptional nature of XML literals to be a mistake, for lots of reasons, but that's the way they are defined so the "fix" at this stage is to simply make the specs clear about it). Cheers, Patrick
Received on Thursday, 16 January 2003 05:06:55 UTC