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

Re: XML literals poll

From: David Wood <david@3roundstones.com>
Date: Tue, 22 Nov 2011 17:14:01 -0500
Cc: RDF Working Group WG <public-rdf-wg@w3.org>
Message-Id: <F7E305D9-6345-4BE9-B2AC-66CDFE4DA771@3roundstones.com>
To: Richard Cyganiak <richard@cyganiak.de>
Hi Richard,

I think you made this hard on yourself by doing this in email...

My answers below can be summed up as "There is enough dirty data in the world already" and "people ignore specs anyway, so say the right thing".  I'm clearly in the minority.

Regards,
Dave




On Nov 21, 2011, at 14:32, Richard Cyganiak 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?

+1 

> 
> 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?

+1 (with an emphasis on "somewhere")


> 
> 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).

+1 (canonicalize, although I recognize the problems with that)

> 
> 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)?

-1 (do *not* allow non-well-formed XML in the lexical space)

> 
> 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).

+1 (canonicalize)

> 
> 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.

+1 (producers should canonicalize)

> 
> 
> 
> (FWIW, the RDF 2004 design is: Q1: Yes. Q2: Yes. Q3: Yes. Q4: No. Q5: Yes. Q6: Yes.)
Received on Tuesday, 22 November 2011 22:15:15 GMT

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