Re: XML literals poll

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

Yes. XML Infosets seem to provide the proper level of concept for value spaces and comparisons.

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

No. Just as not RDF environments make comparisons of 123.00 and 123.0000 or similar identities.

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

No. I actuall believe canonicalization should not even be part of the standard anywhere. Comparison of XML Infosets should be enough and should be used in value space only

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

No. Well... I am not sure what it means "not allowed". I presume you mean it is an invalid literal for that datatype.

> 
> 
> 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. There should be no mention of canonicaliyation. I realize that the generated graph may contain a literal that is not identical to the current source content, but they should be identical in value space.

> 
> 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. No way!

Ivan

> 
> (FWIW, the RDF 2004 design is: Q1: Yes. Q2: Yes. Q3: Yes. Q4: No. Q5: Yes. Q6: Yes.)

Received on Monday, 21 November 2011 20:28:14 UTC