Re: Brackets and Clark Notation in SPARQL

On Jan 4, 2005, at 8:54 PM, Seaborne, Andy wrote:
> -------- Original Message --------
>> From: James Cerra <>
>> Date: 21 December 2004 04:20
>>
>> Right now, SPARQL uses less-than and greater-than
>> brackets to identify a URI.  This is probably due to
>> the influence of N3 and Jena's RDQL.  So they are
>> shown as:
>>
>> <http://example.com/uri>
>
> It goes back further - see the discussion in section 2.4.3 of RFC 2396.
> N-Triples does the same.

Many systems do.

>> However, this is hard to write in XML, since every
>> less-than sign should be escaped.
>
> Unfortunately true.  CDATA can help.  Using the PREFIX mechanism can
> reduce the number of <>.

That sucks.

Of course, it doesn't seem wise to embed SPARQL in XML, unless you 
*are* comfy with escaping or CDATAing. An XML syntax wouldn't be silly 
and it could be a mere notational variant which avoided these problems. 
This strikes me as the right way to deal with  embedding queries in 
XML. (e.g., it lets you do transformes, etc. etc.)

>> Therefore, I think
>> SPARQL should use Clark Notation [1] to represent
>> them.  That is:

I don't agree.

>> {http://example.com/uri}
>>
>> or even:
>>
>> {http://example.com/}uri
>>
>> I don't know whether the second form should be allowed
>> or not.

Definitely not. The latter indicates a "universal name" in Clarkspeak. 
Universal names are not used in the RDF model at all.

> In Clark Notation that is namespace http://example.com/, local part 
> uri.
> It's RDF that makes the tranlsation to the concatenated URI
> http://example.com/uri

As Andy said. That doesn't preclude the first, which isn't esp. Clark 
notation, I guess, but just using {} to delimit URIs.

>>
>> Now I am aware that the WG wants to use curly-brackets
>> where it currently uses parentheses [2].  However
>> there doesn't seem to be a particular reason given for
>> the change.  Why change what already works?
>
> {} is used in languages like N3 for grouping. The same argument of 
> usage
> elsewhere suggests using them for the same in SPARQL.  There are not
> enough delimiter pairs in the world!

Well, if you get your syntax right (a la sexprs) there are :)

> Parentheses are already overloaded
> for triples, and expressions like 3*(?x+1).

Let me add that I, personally, detest using curly brackets around 
"nodes" (like SeRQL does). Just tires my eye. I can barely endure them 
for grouping :) but at least it's less overall noisy.

There's always "\"  as a deliminter! :)

Cheers,
Bijan Parsia.

Received on Tuesday, 4 January 2005 12:27:30 UTC