- From: <Patrick.Stickler@nokia.com>
- Date: Thu, 22 May 2003 11:25:41 +0300
- To: <duerst@w3.org>, <gk@ninebynine.org>, <jjc@hplb.hpl.hp.com>
- Cc: <w3c-rdfcore-wg@w3.org>
Hi Martin, I started three separate times to respond to your message, but stopped each time because I didn't want to again open up this terrifyingly complex issue unnecessarily. After sleeping on it, I decided I would at least try to offer the following brief comments which I hope will satisfy your concerns -- at least (hopefully) to the point of being able to live with the WG's latest proposal. > -----Original Message----- > From: ext Martin Duerst [mailto:duerst@w3.org] > Sent: 21 May, 2003 16:29 > To: Graham Klyne; Jeremy Carroll > Cc: w3c-rdfcore-wg@w3.org > Subject: Re: Change in definition of RDF literals > > > > Overnight, I was thinking a bit more about the wider issues at hand. > > It appeared to me that there are three different ways to have > a simple string in RDF: > > <foo xml:lang=''>Hello World!</foo> > <foo xml:lang='' parseType='Literal'>Hello World!</foo> > <foo > rdf:datatype='http://www.w3.org/2001/XMLSchema#string'>Hello > World!</foo> > > All three are plain strings without language, but they are > represented slightly differently in RDF. While on the surface, these three forms of expression may appear to be equivalent, they are not, because in general (not necessarily the above case) (a) there can be entailments that hold for XML literals due to canonicalization that do not hold for plain literals and (b) RDF does not explicitly define any equality between plain literals, XML literals, and xsd:string values (even if the specs are sufficiently informative to allow some application to presume such equalities). Treating all non-typed literals as XML literals, such that there would no longer be "plain" literals, will likely result in alot of confusion and angst by users who will not understand what XML canonicalization is all about and simply want to use plain simple string values. So there is a clear need, IMO, to keep plain literals and XML literals distinct. > What the recent decision of the RDF WG has done is that it has > said that the xml:lang='' in the second variant is unnecessary. Yes, but... We have not said that lang tags are not applicable *within* XML literals. Thus we are not removing the ability to qualify an XML literal for language using xml:lang, we are simply moving such qualification into the domain of the literal itself so that the datatyping model is greatly simplified and far more consistent. > But this doesn't look like it has addressed the underlying problems. I'm not really sure what underlying problems you are referring to. Perhaps you could elaborate if these comments do not prove sufficient to allow you to live with this latest decision. I find that one of the benefits of treating XML literals as a datatype is that it provides a solid foundation for later supporting XSD complex types as subclasses of rdfs:XMLLiteral. I also personally feel that, for RDF, xml:lang is not the ideal mechanism to use for language scoping (prefering a solution based on reification myself) and so am not myself particularly sympathetic to the loss of lang tags on XML literals. And since XML literals *are* different animals than plain literals, and also since it is quite straightforward to specify an xml:lang attribute within any XML literal, I don't see that we are losing anything here (except undue complexity in the whole datatyping solution). Is it a perfect solution? Heck no. But no'one in their right mind expects a perfect solution where RDF datatyping is concerned. All in all, though, I think the new proposal achieves an optimal balance between the needs of content producers and tool implementors (and I hold that opinion as a member of both groups). Cheers, Patrick > Regards, Martin. > > At 18:50 03/05/19 +0100, Graham Klyne wrote: > >At 08:38 19/05/03 -0400, Martin Duerst wrote: > >>I think one way to see it is that the underlying problem is the use > >>of a datatype of rdf:XMLLiteral for parseType='Literal' is rather > >>artificial. When I read that for the first time, I thought that it > >>might be nice to allow XML Schema complex types there, which > >>would allow validation of the contents, and would bring simple > >>types and complex types closer together. > >>The alternative solution is to not treat parseType='Literal' as > >>a type at all, but as something separate, as a basic literal in > >>and by itself. One way to go would be to treat all literals as > >>being XML, with the simple case just having no markup. The > >>N-triples notation then would maybe just use some elements > >>of XML syntax, such as & and <. Just an idea. > > > >On reflection, I think this last idea is a logical step on from the > >decision we reached last Friday, in that it removes the special-case > >datatype, which I think is a further useful simplification. > I think we > >were forced to consider XML literals separately from > ordinary literals > >when we were trying to accommodate the namespace issues, but having > >dropped that idea I think distinguishing XML may be no longer needed. > > > >parseType="Literal" then becomes a pure syntactic device to > prevent the > >enclosed literal from being interpreted as RDF, which to my > mind is far > >closer to the form of literals that I understood to be > presented in the > >original RDF M&S. Non-XML serializations of RDF simply > don't have to be > >aware of XML literals, which I think is a Good Thing. > > > >#g > > > > > >------------------- > >Graham Klyne > ><GK@NineByNine.org> > >PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E > >
Received on Thursday, 22 May 2003 04:26:21 UTC