Bill Roberts wrote:
> Hi Paolo
> 
> http://www.w3.org/TeamSubmission/turtle/#sec-grammar  seems to indicate that 
> you are not allowed the hash character 0x23 in a qname.  See section 3.6, 
> items 30 and 31

Thanks Bill,
now, it's clear.

Paolo

> 
> Cheers
> 
> Bill
> 
> On 10 Oct 2011, at 20:57, Paolo Castagna wrote:
> 
>> Hi Vadim,
>> thanks.
>>
>> But, is '#' a valid character in a qname?
>> http://www.w3.org/TeamSubmission/turtle/#qname
>>
>> Paolo
>>
>> Vadim Eisenberg wrote:
>>> Hi Paolo,
>>>
>>> The hash sign '#' starts a comment in Turtle - so the content after it is
>>> ignored by Turtle parsers.
>>> BTW, you can validate Turtle here - http://www.rdfabout.com/demo/validator/.
>>>
>>> Regards,
>>> Vadim
>>>
>>> On Mon, Oct 10, 2011 at 7:25 PM, Paolo Castagna <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>> I am not sure whether this is legal Turtle or not:
>>>>
>>>> ------
>>>> @prefix : <http://example.org/> .
>>>> @prefix foaf:   <http://xmlns.com/foaf/0.1/> .
>>>>
>>>> :alice#me
>>>>   a           foaf:Person ;
>>>>   foaf:name   "Alice" ;
>>>>   foaf:mbox   <mailto:[email protected]> ;
>>>>   foaf:knows  :bob#me ;
>>>>   foaf:knows  :charlie#me ;
>>>>   foaf:knows  :snoopy#me ;
>>>>   .
>>>> ------
>>>>
>>>> When I try to parse it using Jena:
>>>>
>>>> Model model = ModelFactory.createDefaultModel();
>>>> model.read(in, null, "TURTLE");
>>>>
>>>> I get this exception:
>>>>
>>>> Exception in thread "main" com.hp.hpl.jena.n3.turtle.TurtleParseException:
>>>> Encountered " <PNAME_LN> "foaf:knows "" at line 9, column 5.
>>>> Was expecting one of:
>>>>   ";" ...
>>>>   "," ...
>>>>   "." ...
>>>>
>>>>       at
>>>> com.hp.hpl.jena.n3.turtle.ParserTurtle.parse(ParserTurtle.java:41)
>>>>       at
>>>> com.hp.hpl.jena.n3.turtle.TurtleReader.readWorker(TurtleReader.java:21)
>>>>       at
>>>> com.hp.hpl.jena.n3.JenaReaderBase.readImpl(JenaReaderBase.java:101)
>>>>       at com.hp.hpl.jena.n3.JenaReaderBase.read(JenaReaderBase.java:68)
>>>>       at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:226)
>>>>       [...]
>>>>
>>>> If I try to parse it using RIOT:
>>>>
>>>> RIOT.init() ;
>>>> Model model = ModelFactory.createDefaultModel();
>>>> model.read(in, null, "TURTLE");
>>>>
>>>> I get this exception:
>>>>
>>>> ERROR [main] (ErrorHandlerFactory.java:62) - [line: 9, col: 5 ] Triples not
>>>> terminated by DOT
>>>> Exception in thread "main" com.hp.hpl.jena.shared.JenaException:
>>>> org.openjena.riot.RiotException: [line: 9, col: 5 ] Triples not terminated
>>>> by DOT
>>>>       at
>>>> org.openjena.riot.system.JenaReaderRIOT.readImpl(JenaReaderRIOT.java:132)
>>>>       at
>>>> org.openjena.riot.system.JenaReaderRIOT.read(JenaReaderRIOT.java:79)
>>>>       at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:226)
>>>>       [...]
>>>> Caused by: org.openjena.riot.RiotException: [line: 9, col: 5 ] Triples not
>>>> terminated by DOT
>>>>       at
>>>> org.openjena.riot.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:110)
>>>>       at org.openjena.riot.lang.LangBase.raiseException(LangBase.java:201)
>>>>       at
>>>> org.openjena.riot.lang.LangBase.exceptionDirect(LangBase.java:194)
>>>>       at org.openjena.riot.lang.LangBase.exception(LangBase.java:187)
>>>>       at org.openjena.riot.lang.LangBase.expect(LangBase.java:179)
>>>>       at org.openjena.riot.lang.LangBase.expectOrEOF(LangBase.java:170)
>>>>       at
>>>> org.openjena.riot.lang.LangTurtle.expectEndOfTriples(LangTurtle.java:45)
>>>>       at
>>>> org.openjena.riot.lang.LangTurtleBase.triples(LangTurtleBase.java:246)
>>>>       at
>>>> org.openjena.riot.lang.LangTurtleBase.triplesSameSubject(LangTurtleBase.java:206)
>>>>       at
>>>> org.openjena.riot.lang.LangTurtle.oneTopLevelElement(LangTurtle.java:34)
>>>>       at
>>>> org.openjena.riot.lang.LangTurtleBase.runParser(LangTurtleBase.java:132)
>>>>       at org.openjena.riot.lang.LangBase.parse(LangBase.java:71)
>>>>       at
>>>> org.openjena.riot.system.JenaReaderTurtle2.readWorker(JenaReaderTurtle2.java:34)
>>>>       at
>>>> org.openjena.riot.system.JenaReaderRIOT.readImpl(JenaReaderRIOT.java:120)
>>>>       ... 3 more
>>>>
>>>> I would be tempted to say that it should be treated as legal Turtle:
>>>> http://www.w3.org/TeamSubmission/turtle/#qname
>>>>
>>>> But it seems that '#' in the qname is treated a comment:
>>>> http://www.w3.org/TeamSubmission/turtle/#comment
>>>>
>>>> I tried to use the directive @base instead of @prefix : <
>>>> http://example.org/> .
>>>> I have the same exceptions in both cases.
>>>>
>>>> Perhaps the Turtle above is 'unusual' and I do not necessarily need to use
>>>> that.
>>>> But, since it occurred, I would like to understand if it's legal (and we
>>>> have a small bug) or not.
>>>>
>>>> Thanks in advance,
>>>> Paolo
>>>>
> 

Reply via email to