Re: Blank node identifiers in FILTER clauses

Responding only to some Eric points.

On Jul 2, 2006, at 11:39 AM, Eric Prud'hommeaux wrote:
[snipp]

> I disagree, or perhaps, I have a different priority. While the use of
> bNodes in a query to find people who know the same person:
>
>   SELECT *
>   WHERE { ?A foaf:knows _:known .
> 	  ?A foaf:knows ?B .
> 	  ?B foaf:knows _:known .
>         }
>
> can be replaced by a bit of syntax:
>
>   SELECT ?A ?B
>   WHERE { ?A foaf:knows ?known .
> 	  ?A foaf:knows ?B .
> 	  ?B foaf:knows ?known .
>         }
>
> I am betting (significant amounts of my time) that the parallelism
> (and cut-and-paste-ism) with a popularly deployed assertion language

It's a syntax, not a language, and not even the canonical syntax.

As to whether it's "popularly deployed" that's a pretty dubious and  
unsupported claim, not to mention somewhat ambiguous. What is true is  
that there are enough tools that one can convert from RDF/XML to  
Turtle pretty easily, though I don't know how good they are overall.  
It's also not terrible difficult to write Turtle tools. Finally,  
there does seem to be some traction with Turtle in papers and  
documentation (the terseness really helps).

Embedding it in SPARQL will no doubt enhance it's popularity: do we  
want to do that? (I've no particular interest in doing so, though I  
don't know that I mind terribly. I certainly prefer it to SeRQL  
syntax (ugh!), though I didn't mind RDQL)

> is worth the extra bit parser effort (keeping an association list of
> bNode symbol to bNode). It is possible, however, that I am missing
> some of Jeen's pain because I didn't fully implement something or
> because he is working in a different context than I imagine.

All that being as it may, it's not significantly worth more, imho,  
than other familiar query languages. I have no idea how many people  
build queries by cut and paste from data --- I don't think I have.  
Seems like a weird argument to me.

Personally, my concern is that the *semantics* are tricky for people  
to understand. Having two kinds of variables where one is *strictly  
redundant* (given the semi-distinguished status of query variables in  
SPARQL) seems a bit worrisome. I would prefer to give people clear,  
non-confusing syntax, and that, in fact, strikes me as dominant. As  
with all code, people must read it typically more often than write  
it, and reading it is harder.

Cheers,
Bijan.

Received on Sunday, 2 July 2006 12:36:47 UTC