Re: Possible solutions for ISSUE 97

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