W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > October 2004

Coments on first working draft of SPARQL

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Wed, 13 Oct 2004 12:09:16 -0400 (EDT)
Message-Id: <20041013.120916.37316539.pfps@research.bell-labs.com>
To: public-rdf-dawg-comments@w3.org

I took a quick look at 

    SPARQL RDF query language

For a first working draft it is quite good.

Nevertheless, I have a number of things that I think need bringing up.

First, a few nits:

- Are query variables disjoint from RDF Terms?  It looks as if they should

- The use of "bound" in the discussion of Optional Values is rather
  jarring.  You probably don't mean bound, but instead mean something like

- Why is there an AND keyword?  Wouldn't it just be possible to intersperse
  triple patterns and constraints?  If the AND keyword is needed, how
  tightly does it bind to the rest of the query.  For example, does a
  constraint in an OPTIONAL portion constrain all results?
- What happens if an OPTIONAL block has multiple matches?  I assume that
  multiple bindings will result.

Now for some more substantive issues:

SPARQL allows bnodes in triple patterns and in constraints.  This leads to
a number of thorny issues.  

How are blank nodes handled in constraints?  For example, what does
	_:a < 30  (where _:a is a blank node)
evaluate to?

How are blank nodes handled in triple patterns?  For example, does the
triple pattern
	( ?x ex:r _:v )
match the RDF graph
	ex:a ex:r _:a .
	ex:a ex:r _:b .

In general, what is the status of blank nodes in SPARQL?  For example,
which definition of subgraph does SPARQL use - the standard one from graph
theory or the expansive one used in RDF semantics in the presence of bnode

Even if bnodes do not appear in a query, how are multiple matches that
differ only with respect to bnodes handled?

Theses issues are all a consequence of the following issue:

SPARQL appears to depend on an unsanctioned extension of RDF, namely that
bnodes in an RDF graph have identity that can be taken out of the graph and
transmitted elsewhere.  Is this the case?  If so, how is this extension
going to work?  If not, how can bnodes be handled reasonably in SPARQL?

Peter F. Patel-Schneider
Bell Labs Research
Received on Wednesday, 13 October 2004 16:02:44 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:52:05 UTC