- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Thu, 20 Mar 2008 12:10:08 +0000
- To: "Hausenblas, Michael" <michael.hausenblas@joanneum.at>
- Cc: "Ben Adida" <ben@adida.net>, public-rdf-in-xhtml-tf@w3.org, "Dan Brickley" <danbri@danbri.org>
Hi Michael, This is all true, but all it effectively says is that in a closed system you can do whatever you like, as long as you achieve the desired effect. But that doesn't mean that you can arbitrarily choose how to represent an RDF graph when it comes to dealing with the world outside of your closed system. The whole point of exclusive canonicalisation is that it allows you to create a single representation of a number of alternative ways of writing the source XML. And XML literals have been defined in the abstract graph in terms of exclusive canonicalisation. Sure, when doing an implementation, I can decided whether to normalise on the way in, or normalise on the way out, but either way, there will be only one serialisation of the RDF graph. The example you pasted says this: As an example: in an RDF graph, literals with datatype rdf:XMLLiteral can be represented in a non-canonical format, and canonicalization performed during the comparison between two such literals. But it's obvious that if you chose to follow this approach in your implementation, you'd also need to canonicalise at the point that you exported your graph, regardless of whether you serialised to N3, RDF/XML, Turtle, or whatever. And none of that helps us in the spec, since we are dealing with the abstract graph. There are no free lunches. :) Regards, Mark On 20/03/2008, Hausenblas, Michael <michael.hausenblas@joanneum.at> wrote: > > My 2c: > > Looking at section '5.1 XML Content within an RDF Graph' [1] of the RDF > Concepts, IMHO two important statements are: > > The lexical space is the set of all strings: > ... > -> for which encoding as UTF-8 [RFC 2279] yields exclusive Canonical XML > (with comments, with empty InclusiveNamespaces PrefixList ) [XML-XC14N]; > > ... > The value space > ... > -> and in 1:1 correspondence with the lexical space. > ... > > Further, the RDF Concepts mentions in section '6. Abstract Syntax > (Normative)' [2]: > > 'Implementation Note: This abstract syntax is the syntax over which the > formal semantics are defined. Implementations are free to represent RDF > graphs in any other equivalent form. As an example: in an RDF graph, > literals with datatype rdf:XMLLiteral can be represented in a > non-canonical format, and canonicalization performed during the > comparison between two such literals. In this example the comparisons > may be being performed either between syntactic structures or between > their denotations in the domain of discourse. Implementations that do > not require any such comparisons can hence be optimized.' > > Hope this helps in our discussion, today. > > Maybe also DanBri can shed some light on it? > > Cheers, > Michael > > [1] http://www.w3.org/TR/rdf-concepts/#section-XMLLiteral > [2] http://www.w3.org/TR/rdf-concepts/#section-Graph-syntax > > ---------------------------------------------------------- > Michael Hausenblas, MSc. > Institute of Information Systems & Information Management > JOANNEUM RESEARCH Forschungsgesellschaft mbH > > http://www.joanneum.at/iis/ > ---------------------------------------------------------- > > > > >-----Original Message----- > >From: public-rdf-in-xhtml-tf-request@w3.org > >[mailto:public-rdf-in-xhtml-tf-request@w3.org] On Behalf Of Ben Adida > >Sent: Thursday, March 20, 2008 2:05 AM > >To: Mark Birbeck > >Cc: public-rdf-in-xhtml-tf@w3.org > >Subject: Re: Possible solutions for ISSUE 97 > > > > > >Mark Birbeck wrote: > >> So however people reply to this view-point, they need to make some > >> reference to RDF Concepts, and say why my interpretation *of that* is > >> wrong. > > > >I think you're framing the problem incorrectly and torturing yourself > >into more complexity than needed. > > > >But instead of writing another massive email, let me try to identify > >where, in the logical flow, we disagree with one another. > > > >In your flow, here's where I disagree: > > > >> (1) we run the RDFa parser on an input document, > >> (*) the output of the RDFa parser is RDF > >> (2) we take the output of the parser and stuff it into a > >triple store, > >> (3) we SPARQL against the triple store. > > > >Step (*) is imprecise, in my opinion; it mixes abstract and concrete. > >The output of an RDFa parser is, IMO, *a serialization of an > >RDF graph*. > >That is the key difference, because the "RDF Concepts" definition of > >XMLLiteral applies to the abstract graph, not to all of the graph's > >valid serializations. > > > >Now, help me understand where you disagree with my reasoning. Here are > >two RDF N3 *serializations*: > > > ><> dc:title > >"<div xmlns="http://www.w3.org/1999/xhtml"> > > foo <b xmlns="http://www.w3.org/1999/xhtml">bar</b> > ></div>"^^rdf:XMLLiteral > > > >and > > > ><> dc:title > >"<div xmlns="http://www.w3.org/1999/xhtml"> > > foo <b>bar</b> > ></div>"^^rdf:XMLLiteral > > > > > >If I'm reading the XMLLiteral canonicalization process correctly, I > >believe that the two examples above are serializations of the same RDF > >graph. > > > >Do you agree? If not, why not? > > > >-Ben > > > > > -- Mark Birbeck mark.birbeck@x-port.net | +44 (0) 20 7689 9232 http://www.x-port.net | http://internet-apps.blogspot.com x-port.net Ltd. is registered in England and Wales, number 03730711 The registered office is at: 2nd Floor Titchfield House 69-85 Tabernacle Street London EC2A 4RR
Received on Thursday, 20 March 2008 12:10:45 UTC