Re: Fixing error in Turtle and Trig grammars

Could you provide the results of parsing these in N-Triples (2004 REC
or 2012 PR) which does not have """-encoding so should be unambiguous.

I offer this fake output based on what my Raptor library made:
  (fake because  and 

are not absolute IRIs in this pseudo ntriples):

" ''' " .

" \"\"\" " .

" \"\"a " .

"\"\"\"" .

"\"\"a" . Dave [1] http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples On Wed, 12 Feb 2014, Eric Prud'hommeaux wrote: > The RDF Working Group recently discovered an error in the grammars for > Turtle and TriG. They were intened to align with SPARQL, but a pair of > parentheses was accidentally dropped from the definition for long > strings resulting in an over-constraint on what's permitted after > embedded quotes. An example of the error is shown by the text > > """ ""\" """ > > which is allowed by the SPARQL grammar, but was accidentally > disallowed by the grammars for Turtle and TriG in their specifications. > After considering this matter, the acting W3C Director has asked us to > make sure implementors agree this is an error and will in the coming > weeks make sure their implementations parse the intended language, > aligned with SPARQL. > > Please let us know by 18 Feb if you intend to implement the following > grammar and parse the syntax tests below: > > change > [24] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" (("'" | "''")? [^'\] | ECHAR | UCHAR)* "'''" > [25] STRING_LITERAL_LONG_QUOTE ::= '"""' (('"' | '""')? [^"\] | ECHAR | UCHAR)* '"""' > to > [24] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" (("'" | "''")? ([^'\] | ECHAR | UCHAR))* "'''" > [25] STRING_LITERAL_LONG_QUOTE ::= '"""' (('"' | '""')? ([^"\] | ECHAR | UCHAR))* '"""' > > and parse these (one-line) turtle documents (with some arbitrary base URI): > >

''' ''\' ''' . > >

""" ""\" """ . > >

""" ""\u0061 """ . > >

"""""\"""" . > >

"""""\u0061""" . > > > Many thanks for your help and continued support of RDF 1.1. > >

Received on Wednesday, 12 February 2014 21:35:40 UTC