W3C home > Mailing lists > Public > public-rdf-wg@w3.org > November 2011

Re: XML literals poll

From: Gavin Carothers <gavin@carothers.name>
Date: Mon, 21 Nov 2011 11:44:01 -0800
Message-ID: <CAPqY83yhfweuX8uJXwia2VeuaNEDUjN+eY5A4CjayWB9Dtw3tg@mail.gmail.com>
To: Richard Cyganiak <richard@cyganiak.de>
Cc: RDF Working Group WG <public-rdf-wg@w3.org>
Not the opinions of TQ.

On Mon, Nov 21, 2011 at 11:32 AM, Richard Cyganiak <richard@cyganiak.de> wrote:
> Below are six questions on XML literals. Please help the WG get a feeling for the general opinion within the group by answering the questions. Answers in the usual +1/±0/-1 style are appropriate.
>
> Thanks,
> Richard
>
>
>
> Q1. Should the specs define a way to compare XML literals based on value?
>
> In other words, in the same way that integers 7 and 007 have the same value, should <foo/> and <foo></foo> be defined as having the same value?

No. The value space of an XML fragment or document is far too complex
for our WG to deal with (schema annotation, DTD parse additions,
white-space rules, etc). There are too many special cases, and too
little value. XPath and XQuery stop short of doing this, that should
be a hint to us.

>
>
>
> Q2. Should the specs say that RDF implementations MUST support value-based comparison?
>
> In other words, assuming the specs define a value space that answers Q1 in the affirmative, is it required that all RDF toolkits implement some sort of canonicalization somewhere in the process?

Clearly not.

>
>
>
> Q3. Should the *lexical* space be in canonical form?
>
> In other words, should
>  <> ex:value "<foo/>"^^rdf:XMLLiteral.
>  <> ex:value "<foo></foo>"^^rdf:XMLLiteral.
>
> result in a graph with one triple (canonicalize) or two (don't canonicalize)? Note that if you answer “two”, then it is unavoidable that round-tripping an XML literal, or storing the same XML literal in two different formats (say, RDF/XML and Turtle) and reading it again, will sometimes result in a different triple (with the same value though).

XMLLiteral is not the only place this happens. Round tripping other
data types can cause the same issue. People seem to be dealing with it
just fine today.

>
>
>
> Q4. Should *invalid XML* be allowed in the lexical space?
>
> In other words, should "</bar !!!>"^^rdf:XMLLiteral be ill-typed (just like "AAA"^^xsd:integer) or well-typed (just like "</bar !!!>"^^xsd:string)?

validity is the wrong word. That is not well formed XML. XMLLiterals
should be well formed. An invalid XML document that is well formed
should still be allowed.

>
>
>
> Q5. Should the specs say that RDF/XML parsers MUST canonicalize when handling parseType="literal"?
>
> RDF/XML parsers are often implemented on top of an XML parser, and hence they don't have access to a low-level representation of the XML literal, e.g., did it use single or double quotes in the attributes, what order where the attributes in, or how many spaces were between them? If they don't canonicalize, then two different RDF/XML parsers would be pretty much guaranteed to parse the same RDF/XML file into different triples (or even different runs of the same parser over the same file could yield different triples).

No.

>
>
>
> Q6. Should it be required that producers of XML literals in concrete syntaxes (Turtle, N-Triples, other parseTypes in RDF/XML) canonicalize the literals themselves?
>
> If the lexical space is canonicalized (see Q3), then it means that canonicalization either has to be done by parsers (see Q5), or by content producers.

No.

>
>
>
> (FWIW, the RDF 2004 design is: Q1: Yes. Q2: Yes. Q3: Yes. Q4: No. Q5: Yes. Q6: Yes.)
>
Received on Monday, 21 November 2011 19:44:36 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:46 GMT