Re: Error in RDF/XML Syntax Specification?

* Dan Brickley <danbri@w3.org> [2005-04-05 06:57-0400]
> 
> * Graham Klyne <GK@ninebynine.org> [2005-04-05 10:35+0100]
> > 
> > While I agree with David and Arjohn that ""^^<datatype> SHOULD be 
> > expressible, I think it's not quite such a no-brainer that it should be 
> > accepted without Due Process.
> > 
> > In cases like this, what is the W3C process for agreeing changes to a 
> > published recommendation?
> 
> We can't change the recommendation as such, afaik. But we can record 
> things in an Errata (see
> http://www.w3.org/2001/sw/RDFCore/errata#rdf-syntax-grammar) such that
> future WGs could pick up these issues and publish new WDs based on them.
> 
> I'm not sure how much structure we have around review of errata text.
> Basically the problem falls back on the W3C Team, when there's no WG in
> place. In this case, we have a SW Coordination Group who meet weekly, 
> I suggest the following plan of action:
>  
>  - someone (perhaps Dave, as the relevant spec Editor) draft an Errata 
>    section on this problem, citing the www-rdf-comments thread. 

I've made a start:
http://www.w3.org/2001/sw/RDFCore/errata#datatyped-empty-literals

Suggestions/additions/fixes welcomed.

Dan


>  - I'll raise this within SWCG, where we'll apply some basic sanity
>    checks, then update /2001/sw/RDFCore/errata
> 
> http://www.w3.org/2001/06/manual/#Errata has some style guidelines for 
> errata.
> 
> Dave, how's that sound?
> 
> cheers,
> 
> Dan
>  
> > #g
> > --
> > 
> > At 10:22 05/04/05 +0200, Arjohn Kampman wrote:
> > 
> > 
> > >Dave Beckett wrote:
> > >>On Fri, 2005-04-01 at 15:22 +0200, Arjohn Kampman wrote:
> > >>
> > >>>Hi Dave, others,
> > >>>
> > >>>Someone posted a bug report on the Sesame forum for what he thought was
> > >>>an error in Sesame's RDF/XML parser[1]. I had a closer look at the
> > >>>RDF/XML syntax specification[2] and it appears that Sesame strictly
> > >>>adheres to this spec. This, however, surprised me, as I would have
> > >>>expected the data to be correct. Also, the W3C Validation Service[3] did
> > >>>parse the data as expected.
> > >>
> > >>Note that I'm speaking personally and not for any W3C WG.
> > >>Don't take what that service does as necessarily correct.
> > >
> > >Guess you're no longer the editor of the spec? How does the W3C take
> > >care of these post-release reports? It will probably need to be
> > >documented in the errata.
> > >
> > >>>The problematic data contains a datatyped (xsd:string) empty literal:
> > >>>
> > >>><?xml version="1.0"?>
> > >>><rdf:RDF
> > >>>    xmlns="foo:bar#"
> > >>>    xmlns:foo="foo:bar#"
> > >>>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> > >>>    xml:base="foo:bar">
> > >>>
> > >>><rdf:Description rdf:ID="ID1">
> > >>>        <foo:prop rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
> > >>>        ></foo:prop>
> > >>></rdf:Description>
> > >>></rdf:RDF>
> > >>>
> > >>>If my understanding of the grammar in the spec is correct, then this
> > >>>data matches the 'emptyPropertyElt' rule, which does not allow the
> > >>>rdf:datatype attribute to be specified.
> > >>
> > >>Nope.  It does not match that rule.  rdf:datatype is forbidden on an
> > >>emptyPropertyElt.
> > >>Looking at the rdf/xml grammar rules at
> > >>http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Infoset-Grammar
> > >>7.2.21 emptyPropertyElt says the allowed attributes are:
> > >>  set(idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr*))
> > >>and if you expand that you'll find
> > >>7.2.25 propertyAttr refers to
> > >>7.2.7 propertyAttributeURIs refers to forbidding the contents of
> > >>7.2.2 coreSyntaxTerms which includes rdf:datatype.
> > >>Therefore this line SHOULD match instead 7.2.16 literalPropertyElt
> > >>with an empty text() however 7.2.16 only applies to a non-empty text.
> > >
> > >Well, 7.2.21 emptyPropertyElt already handles the case where no, or only
> > >the optional rdf:ID attribute is present, generating an empty plain
> > >literal as a result. Therefore, handling the rdf:datatype attribute in
> > >the emptyPropertyElt production might be a good alternative.
> > >
> > >>Thus, in my opinion an datatyped RDF-literal with an empty content is
> > >>not covered by the grammar.
> > >>This is a grammar coverage omission of what is legal to write in RDF,
> > >>and should be legal to write in RDF/XML.
> > >
> > >I agree. I'll fix this in Sesame/Rio, probably you and Graham (and
> > >others?) should do the same for your parsers so that they exhibit
> > >identical behaviour. Hopefully, someone will pick this up and document
> > >it in the errata.
> > >
> > >>(This RDF/XML also is also passed as correct by the non-normative
> > >>RELAX NG schema)
> > >
> > >The literalPropertyElt production in the RELAX NG schema contains an
> > >other error, unrelated to the above: it only allows either an rdf:ID
> > >attribute or an rdf:datatype attribute to be specified, but not both.
> > >This is different from the normative grammar in chapter 7.
> > >
> > >Thanks so far,
> > >
> > >Arjohn
> > >
> > 
> > ------------
> > Graham Klyne
> > For email:
> > http://www.ninebynine.org/#Contact
> > 

Received on Tuesday, 5 April 2005 11:27:02 UTC