W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > April 2006

Comment on SPARQL CR

From: Olivier Corby <Olivier.Corby@sophia.inria.fr>
Date: Wed, 19 Apr 2006 18:19:24 +0200
Message-ID: <4446630C.4090806@sophia.inria.fr>
To: public-rdf-dawg-comments@w3.org

I have some comments on the SPARQL CR.

Best regards,


In the table of content, this link fails :
4.3 Evaluation Order

In the Introduction, RDFS is not mentionned at all, one may wonder why.

The term "binding" is used as a descriptive term to refer to a pair of 
(variable, RDF term).

I would say (removing the of) :    refer to a pair  (variable, RDF term).

  An E-entailment regime is a binary relation between subsets of RDF graphs.

  Why not just sets of RDF graphs ?

  with the scope of the blank node label being the basic graph pattern.

  This sentence is misleading because in general the scope of a blank 
node label is the whole query.

  Blank nodes in the results of a query are identical to those occurring 
in the dataset graphs, but this information cannot be used by an 
application or client which receives these results, since all blank 
nodes in subsequent queries are treated as being local to that query.

  I would say (but I am not sure) :

  since all blank nodes in subsequent query results are treated as being 
local to each query result.

  2.8.4 RDF Collections

  The list pattern generates a closed list which systematically ends 
with rdf:nil

  It could be possible to consider open list and closed list patterns.

  A closed list pattern could end with . (new syntax) and generate a 
list that ends with rdf:nil, as in the spec :
  (1 ?x 3 4 .)

an open list pattern (1 ?x 3 4) does not end with rdf:nil.

5 Optionnal pattern

Suppose the following case :


_:a foaf:name "Jules"
_:a foaf:friend _:b
_:b foaf:mbox "jules@nowhere.com"

_:c foaf:mbox "jim@somewhere.com"


select ?x ?m where {
?x foaf:name ?n .
{ optional { ?x foaf:friend ?y } } .
{ optional { ?y foaf:mbox ?m } }

It is not completely clear to me from the spec whether this is a solution :

  ?x          ?m
_:a    "jim@somewhere.com"

On one hand, the first optional binds ?y to _:b and hence the second 
optional has only one solution. But on another hand, the first optional 
is optional, hence the second optional can have its chance as the spec 
says that "There is no implied order of graph patterns within a Group 
Graph Pattern."


Query results involving a pattern containing GP1 and GP2 will include 
separate solutions for each match where GP1 and GP2 give rise to 
different sets of bindings.

If sets of bindings are not different, what happens ?


of two, named graphs -> two named graphs


The query forms are -> The query result forms are

Returns all, or a subset of, the variables bound in a query pattern match.

A variable may be not bound in the result ...


The elements of a sequence of solutions can be modified by:

    1. ORDER BY: put the solutions in order
    2. Projection
    3. DISTINCT: ensure solutions in the sequence are unique.
    4. LIMIT: restrict the number of solutions processed for query results
    5. OFFSET: control where the solutions processed start from in the 
overall sequence of solutions.

applied in the order given by the list.

I would put OFFSET before LIMIT in the list if they are to be applied in 
the order.


  project(S, VS) = { (project(Si, VS) | i = 1,2, . . . n }

  a space is missing between 1 and 2


  An ordering condition can be a variable or a function call.

The grammar says that it can also be a BrackettedExpression

Definition:  Ordered Solution Sequence
for Si, SJ

the J is in cap letter, should be Sj


datatype IRI (corresponds to the Concepts and Abstract Syntax term 
"datatype IRI")

Isn't it "datatype URI" (second occurrence)

11.4.8, 11.4.9

the the (twice)
Received on Wednesday, 19 April 2006 16:19:54 UTC

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