Re: CURIEs in Turtle

(Adding Mark Birbeck)

Just to make it clear why CURIEs have the syntax they have (in case it is  
not obvious from the name), they are able to represent any URI in a  
compact form, so any character allowed in a URI is also allowed in a CURIE.

By the way, the normative definition of a CURIE is at
http://www.w3.org/TR/rdfa-syntax/#s_curies

Best wishes,

Steven Pemberton

On Wed, 03 Feb 2010 18:32:33 +0100, Eric Prud'hommeaux <eric@w3.org> wrote:

> * Toby Inkster <tai@g5n.co.uk> [2010-02-03 15:44-0000]
>> > It also might be worth starting to consider whether to align the  
>> terminals
>> > (qnames) more with sparql first.
>>
>> Or perhaps align both with CURIEs <http://www.w3.org/TR/curie/> ?
>
> I suspect that syntactic differences between the surrounding languages
> will make that difficult, but let's give it a look...
>
> CURIEs allow lots of punctuation into qnames, punctuation that serves
> as individual tokens in Turtle, and even more in SPARQL. I did model
> curies in SPARQL to see how stuff would parse. Examining the part of
> SPARQL which is also Turtle, we can sniff around Turtle+CURIEs:
>
> For instance, ASK{?s?o:n1.?s2?p2:n2} includes two triples, but the
> trailing dot in CURIEs allows it to produce one (the PNAME_LN terminal
> matches "n1.?s2?p2:n2").
>   http://www.w3.org/2005/01/yacker/uploads/SPARQL_CURIE_MoinDot?lang=perl&text=ASK{%3Fs%3Fo%3An1.%3Fs2%3Fp2%3An2}&action=validate+text
> compare to
>   http://www.w3.org/2005/01/yacker/uploads/SPARQL?lang=perl&text=ASK{%3Fs%3Fo%3An1.%3Fs2%3Fp2%3An2}&action=validate+text
>
> We see similar behavoir for e.g. ',' etc: try ASK{?s?o:n1,:n2 .}
>
> Of course, we can add WS to make it parse correclty:
>   ASK{?s?o:n1 ,:n2 .}
>
> Does the world want to add WS to get improved compact expressivity?
> Let's hear from the world, here's the microphone.
>
> Conveniently (as we probably want any liberalizations in Turtle to be
> available to SPARQL, '{}'s and '<>'s aren't in curie local names. Note
> that
>   ASK{?s?o:n1{?s?o:n2}.}
> produces two TriplesBlocks and
>   ASK{:s<p><o>.}
> produces a triple.
>
>> -Toby
>

Received on Thursday, 4 February 2010 10:50:23 UTC