- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Mon, 17 Jul 2006 23:07:29 +0200
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
On 17 Jul 2006, at 22:59, Enrico Franconi wrote:
> My above answer makes sense only if all the variables in the query
> are distinguished (SELECT *). However, in your example only ?X is a
> disinguished variable (SELECT ?X), and therefore YES, the correct
> answer should be, and is, {?X/Paul}, since the non-distinguished
> variables ?Y and ?Z are interpreted existentially.
> However, note that in order to write the above query you already
> should have in mind the answer you expect. In other words, while
> writing a query you can not expect the user to think in advance how
> the answer could be and write the query accordingly. It can be
> easily seen that if you want to reproduce with non-distingushed
> variables the behaviour of bnodes in the answer set (like in the
> above example), then the query with non-distinguished variables may
> be exponentially larger than the answer set with bnodes. If you
> think about it, this is due to the all possible different
> coreferences between bnodes in the answer that you have to
> explicitly represent in the query (this has also to do with the
> cycles in the answer set I was mentioning a couple of emails ago).
Also note that in SPARQL the variables in a basic graph pattern are
all distinguished; the role of non-distinguished variables is played
by the bnodes.
--e.
Received on Monday, 17 July 2006 21:07:47 UTC