Re: RDF-ISSUE-89 (at-prefix): Should Turtle allow SPARQL's PREFIX like @prefix? [RDF Turtle]

On Thu, 2012-05-10 at 19:53 +0100, Richard Cyganiak wrote:
> Sandro,
> 
> I'm sitting on the fence regarding @prefix, and don't like the barewords idea.
> 
> > But when I imagine introducing new people to Turtle, as I expect to be
> > doing for many years once it becomes a Recommendation, I can't think of
> > any way to justify that odd character.
> 
> It's not just the initial @, also the trailing period. Turtle has:
> 
>    @prefix foaf: <http://xmlns.com/foaf/0.1/>.
> 
> SPARQL has:
> 
>    PREFIX foaf: <http://xmlns.com/foaf/0.1/>

Indeed, I forgot about that, and Eric reminded me earlier today.  Yes.

> The period is actually a bigger problem than the @, IMO.
> 
> On the other hand, someone who has to learn a completely new language 

My sense is that people moving between Turtle and SPARQL wont think of
it as a completely new language.   Particularly if they learned SPARQL
first, then Turtle is effectively just a subset of Turtle.   But in
either case, I think it will often seem like one language, where SPARQL
just involves using a bunch of extra features of the language.

> won't be bothered greatly by one extra character here or there, IMO. It's rare that newbies point out inconsistencies in the grammar of a new language that they learn.

I suppose that depends a lot on the context.   In a SemWeb context,
they're often learning so much other stuff --- well, things like
httpRange-14 draw a lot more heat than @prefix, it's true.

> The same argument that you make for @prefix can be made for @base. Do you suggest changing @base too?

Yes, absolutely.   

I might phrase it now as:

PROPOSED: Make the @-sign and period optional on 'prefix' and 'base' in
Turtle

> On 10 May 2012, at 17:50, Sandro Hawke wrote:
> > * The barewords proposal makes it diverge from SPARQL.   True.  And
> > SPARQL wants to keep adding new keywords, probably, going forward.  So,
> > that's a real blow against barewords
> 
> That.
> 
> Also, :42 is a legal prefixed name but 42 couldn't be a legal bareword, so you'll have a situation where you'll ned the colon for some names but not for others.
> 
> It's easy to explain that :foo is just a prefixed name with an empty prefix. With barewords, there would be one more kind of thing in the language — they are different from prefixed names. We can now write <foo>, :foo, or foo and they do almost the same thing. Lots of slightly different ways of achieving the same thing usually isn't so good.

Yes, :foo is easy to explain and makes sense, it just gets a little
tedious to type.    Anyway, given the various obstacles, I'm not
seriously arguing for bareword prefixedNames, just for optional @-signs.

I hear that you don't think it bothers users very much (so not a big
reason to change), but I'm not catching what you see as the reason not
to do the change.   Just the work, or something else?

     -- Sandro

Received on Thursday, 10 May 2012 21:59:52 UTC