Re: support XML Literals in RDF

On Thu, 07 Aug 2003 11:28:37 -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
> Date: Thu, 7 Aug 2003 12:59:40 +0100

> Not even all XML Literals that result from RDF/XML parsing will be valid
> (exc-C14N checked).  For example (modulo issues with using rdf: in places
> where it really can't be used)
> 
> <rdf:RDF>
>   <rdf:Description>
>     <http://ex.a/a#a rdf:datatype="rdf:XMLLiteral"><b/></http://ex.a/a#a>
>   </rdf:Description>
> </rdf:RDF>

That's nowhere near legal XML or RDF/XML and I can't see what you are
getting at.  Please try the RDF validator to correct it and make your
point.

> will result in the triple
> 
> _:a <http://ex.a/a#a> "<b/>"^^rdf:XMLLiteral .
> 
> which has an XML Literal in non-canonical form.

<snip/>

> > 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.
> 
> Right, so if anyone wants to write a tool that determines RDFS entailment
> between RDF graphs, they will have to incorporate a tool for exclusive
> canonical XML.

Possibly.  In other conversations the working group are discussing this.
This process is not complete and I am not providing you with an answer
at this time.

> > 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. 
> 
> Is there an oracle for exclusive canonical XML?  I realize that there are
> tools that will transform into exclusive canonical XML, but do they have a
> simple oracle?  

I've explain these require low effort.
You can do the trivial research to find them.

> > You will also have to NFC-check your plain literals as we
> > discussed in the other thread.  Otherwise you've got garbage.
> 
> Garbage?  I disagree entirely.  What you have is XML or strings that may
> not be in some canonical form.  This is not garbage.

Not good data since it can possibly be pseudo-XML if you aren't going to
attempt to use an XML processor on it.  This is called XML tag soup and
pretty worthless.

Non-recommended forms of Unicode character normalization that are poor
for I18N and prevent simple equality tests for plain literals.  This is
disappointing.

<snip/>

> > 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.
> 
> Where?  I can't find any XSD datatype that needs XML canonicalization.

That's nice.  But I said normalization.  What detail that some datatypes
require to be implemented isn't the point.

I was giving an example of extra code that is required  when you do
extra things above basic RDF graph support - such as an XSD library if
you do datatype entailment, or an XML tag soup one if you want to do
funny things with pseudo-XML, or an inferencer if you want to do OWL
using RDF.

Dave

Received on Thursday, 7 August 2003 12:36:57 UTC