Re: support XML Literals in RDF

On Thu, 07 Aug 2003 07:35:08 -0400 (EDT)
"Peter F. Patel-Schneider" <pfps@research.bell-labs.com> wrote:

> 
> From: Dave Beckett <dave.beckett@bristol.ac.uk>
> Subject: Re: support XML Literals in RDF (was Re: Test cases: XML Literal value space and exclusive canonicalization)
> Date: Thu, 7 Aug 2003 12:22:00 +0100
> 
> > On Thu, 07 Aug 2003 07:02:52 -0400
> > "Peter F. Patel-Schneider" <pfps@research.bell-labs.com> wrote:

<snip/>

> > Any RDF application that doesn't do (RDF, RDFS, any) entailment does not
> > need this "considerable code".
> 
> This is needed for more than just entailment.  For example, as indicated
> above, determining whether a^^rdf:XMLLiteral is indeed a valid XML Literal
> requires considerable code.

Which is as I said below, in the rdf/xml parsers and done for you.  The literals
will be valid (exc-C14N checked).
 
> > > Also, any application that needs to determine the RDFS implications of 
> > > an RDF graph needs at least an oracle to determine whether a sequence of 
> > > octets is in the value space of rdf:XMLLiteral.
> > 
> > The RDF/XML rdf:parseType="Literal" exc-C14N  checks that for you, in
> > the parsing.
> 
> Sure, but not all RDF graphs are the result of parsing RDF/XML documents.
> Further, there is no indication in an RDF graph of whether the graph is the
> result of parsing an RDF/XML document.   So, determining the RDFS
> entailments of an RDF graph requires access to an oracle for canonical XML.

So in this hypothetical situation where you want to use XML literals in
the RDF graph but don't want to use XML tools, you don't want to
do any checks when you make the triples?  Sorry, you will just have to
use the exc-C14N, or not use the XML literals at all and make your own
unchecked "XML" datatype, losing out on interop.

Your oracle is an exc-C14N implementation which I've already mentioned
is fairly widely available - we've had no problems finding them free and
working. You will also have to NFC-check your plain literals as we
discussed in the other thread.  Otherwise you've got garbage.

> > There are no octets in the graph.  The Unicode strings in the graph that
> > make up the lexical forms of XML literals will be in exc-C14N form, if
> > used via rdf:parseType="Ltieral" and require no XML code for your
> > entailments.
> 
> Not according to the current editor's draft of RDF/XML Syntax Specification
> (Revised) where the result of 7.2.17 is an octet sequence.  (Either that or
> the initial string, which would mean that XML Literals are not normalized
> at all during RDF/XML parsing.)

I already said elsewhere I've drafted new words for that.

> > If you had said datatype-entailment then that would be your oracle - an
> > XSD implementation library for example.  Such a "considerable code"
> > would likely have to include some XML support, since the X in XSD stands
> > for XML.  There seem to be such libraries freely already available.
> 
> Why would an XSD library have XML canonicalization code in it?  Is there
> any XSD datatype that needs this?  I can't see one.

I said datatype-entailment and hence a pile of code for checking such
XML functionality in the graph.  That means whatever XSD does.  I've not
read the detail.  There is normalization involved somewhere, I recall.

Dave

Received on Thursday, 7 August 2003 08:00:48 UTC