W3C home > Mailing lists > Public > public-rdf-comments@w3.org > February 2014

Re: Fixing error in Turtle and Trig grammars

From: Gregg Kellogg <gregg@greggkellogg.net>
Date: Wed, 12 Feb 2014 13:18:49 -0800
Cc: "public-rdf-comments@w3.org Comments" <public-rdf-comments@w3.org>, "semantic-web@w3.org Web" <semantic-web@w3.org>
Message-Id: <F6F81002-35F6-49C7-9D34-37BB435B1757@greggkellogg.net>
To: Eric Prud'hommeaux <eric@w3.org>
On Feb 12, 2014, at 12:42 PM, Eric Prud'hommeaux <eric@w3.org> 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):
> 
> <s> <p> ''' ''\' ''' .
> 
> <s> <p> """ ""\" """ .
> 
> <s> <p> """ ""\u0061 """ .
> 
> <s> <p> """""\"""" .
> 
> <s> <p> """""\u0061""" .
> 
> 
> Many thanks for your help and continued support of RDF 1.1.

The Ruby Turlle and TriG parsers [1] [2] correctly handle all of these cases already.

Gregg

[1] http://rubygems.org/gems/rdf-turtle
[2] http://rubygems.org/gems/rdf-trig

> -- 
> -ericP, on behalf of the RDF Working Group
> 
> office: +1.617.599.3509
> mobile: +33.6.80.80.35.59
> 
> (eric@w3.org)
> Feel free to forward this message to any list for any purpose other than
> email address distribution.
> 
> There are subtle nuances encoded in font variation and clever layout
> which can only be seen by printing this message on high-clay paper.
> 
Received on Wednesday, 12 February 2014 21:19:19 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 12 February 2014 21:19:19 UTC