Re: Remaining Open Issues in Turtle

And now, an editors opinons...

In general there seems to be a belief that we are "changing Turtle a
lot". I'm a bit worried by this notion. We have talked about it for a
while and made some changes to it. However right now all non
pathological Turtle documents in the wild will have the exact same
resulting RDF graph as they do today. Most documents that can be
created using the "new Turtle" syntax will also work just fine with
existing parsers today. The changes most likely to cause errors were
also the least controversial. Numbers starting the local part of
prefix names and blank node labels. Allowing ''' for long literals and
not only """. These are places where people using Turtle today often
encounter errors already.

On Mon, May 14, 2012 at 6:49 PM, Gavin Carothers <> wrote:
> 1.1) Change the allowed prefix keyword to include PREFIX (case
> insensitive) in addition to @prefix (ISSUE-89)
> 1.2) Change the allowed base keyword to include BASE (case
> insensitive) in addition to @base (ISSUE-89)
> 1.3) Remove required trailing period from directives (ISSUE-89)


SPARQL is not Turtle. In SPARQL PREFIX and BASE statements may only be
at the top of a query and are separated from triple patterns by {}s.
Queries have no design goal of being concatenated. It is unlikely
(Imposible?) that dc: is bound to two IRIs in a query. In Turtle
directives may occur anywhere in the document this makes visually
identifying directives which change how prefix names and IRIs are
resolved very important to the human reader. The @ very neatly sets
them appart from surrounding triple statements.

> 2) Support top-level blank-predicate-object lists for example (ISSUE-19)
>        [
>        foaf:name "Name" ;
>        foaf:knows <http://example/another>
>        ] .


I think there was general agreement to do this and it simply got lost
in the shuffle. In fact I even remember making the changes to one the
grammars at one point. (No more using Yacker and not version control
for me!)

> 3) Allow for the null prefix to be bound, for example (No ISSUE)
>   @prefix foaf: <>.
>   @prefix <>.
>   Alice foaf:knows Bob, Charlie, Dave.


␀ is not a prefix, it's the lack of a prefix. If for some reason we
wanted to add bare words to Turtle @prefix is a strange way to do it.
I don't see any reason to add bare words to Turtle. Not to mention you
run into 'a' ... which makes it a bit funky, and heck if combined with
1.1, 1.2 you also run into prefix and base... no, lets not do this.


Received on Tuesday, 15 May 2012 02:12:27 UTC