Re: [Turtle] Grammar ambiguity?

ps: good test case

Nathan wrote:
> Hi Yves,
> 
> Integer in your example, given that the EBNF should match the statement 
> first thus removing the .
> 
>  statement ::=  directive '.' | triples '.' | ws+
> 
> and in this example:
> 
>   @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
>   @prefix : <http://localhost#>.
> 
>   :Person
>       :age 18.;
>       rdf:type :Person.
> 
> it'd match decimal
> 
> decimal ::= ('-' | '+')? ( [0-9]+ '.' [0-9]* | '.' ([0-9])+ | ([0-9])+ )
> 
> afaict,
> 
> cheers nathan
> 
> Yves Raimond wrote:
>> Hello!
>>
>> I just noticed a potentially ambiguous point in the Tutle grammar at [1].
>>
>> Considering the following document:
>>
>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
>> @prefix : <http://localhost#>.
>>
>> :Person
>>        rdf:type :Person;
>>        :age 18.
>>
>> seems to be allowed by the grammar (resource resource integer.) But 
>> there's a potential ambiguity there (is the value of 'age' supposed to 
>> be parsed as a float or as an integer?)
>>
>> Some Turtle parsers seems to reject this document (e.g. SWI-Prolog), 
>> rapper makes a best guess (parsing 18 as an xsd:decimal), but throws a 
>> syntax error, and the SemWeb.NET library [2] parses it as an 
>> xsd:integer without any errors or warnings.
>>
>> Best,
>> y
>>
>> [1] http://www.w3.org/TeamSubmission/turtle/#sec-grammar
>> [2] http://www.rdfabout.com/demo/validator/
>>
>>
>>
> 
> 
> 
> 

Received on Monday, 28 February 2011 10:17:24 UTC