Re: Status update on SPARQL Language document

here are my comments on draft 1.112 of the SPARQL Query Lang.
document. these comments are for sections 6-$.

i used the following notation in my comments.
   '-' delimits things to remove.
   '+' delimits things to add.
   *NOTE: blah, blah, blah * delimits my comments.
   undelimited text is used to provide context.

kevin
----------------------------------------------------------------

8 Choosing What to Query

-The RDF graph can be given implicitly ... or it can be
specified in the query itself. The FROM clause gives URIs
that the query processor can use to supply RDF graphs for
the query execution.-
+The RDF graph to be queried is identified by one or more
URIs in the FROM clause. The URIs are interpreted by the
query processor and may refer to graphs created by the local
API or graphs accessible from the SPARQL protocol.+
*NOTE: what I objected to in the original phrasing was
the clause "can be specified in the query itself" which
makes it sound like the FROM clause may possibly include
a list of triples (a graph). Or more generally, it makes
it sound like the FROM clause could be a CONSTRUCT operation.
Looking at the BNF it's clear this is not possible.*

-Any variable that is bound to NULL must not match another
variable that is bound to NULL.-
+Any variable that is unbound will not match another
unbound variable.+
*NOTE: I suppose I missed the discussion of NULL but
wouldn't it be nice if SPARQL did not require NULL?
Why do we use unbound for OPTIONAL ivariable matching
but NULL for unbound SOURCE matching? Do we need two
tests, IsBound(?x) AND IsNULL(?x)? Can we drop NULL?*

11 Query Forms

These result forms use the bindings in the query results
to form result sets or RDF graphs.
*NOTE: strictly speaking, the ASK form does NOT return
a result set, it returns a singleton (Boolean) result.*

11.1 Choosing -which- +Which+ Variables to Return

-The SELECT form of results returns the variables directly.-
+The SELECT query form returns the bindings of the listed
variables.+

The syntax SELECT * is shorthand for select+ing+ all the
variables+ in the query+.

-Results can be thought of as a table, with one row per
query solution. Some cells may be empty because a variable
is not bound in that particular solution.-
+Results can be represented as a table consisting of one
column for each result variable and one row per
query solution. Unbound variables are indicated by empty
table cells.+

SELECT DISTINCT
-The result set can be modified by adding the DISTINCT keyword
which ensures that every combination of variable bindings (i.e.
each result) in a result set is unique.-
+The result set can be modified by adding the DISTINCT keyword
which ensures that every solution in a result set is unique.+

SELECT LIMIT
The LIMIT -form- +clause+ puts an upper bound ...
+The LIMIT clause may also be applied to the CONSTRUCT
and DESCRIBE query forms.+
*NOTE: is the above true or is LIMIT only for
SELECT/CONSTRUCT?*

-A query may return a number of results up to and including
the limit.-
+If specified, a query processor returns either the complete
number of solutions to the query or the LIMIT, whichever is
lower.+
*NOTE: is this the intent or is the intent to allow a
query processor to return an arbitrary number of solutions
(up to the limit) when LIMIT is specified?*

11.3 Descriptions of Resources
*NOTE: the DESCRIBE query form is one case where the
query processor treats an RDF graph as more than just
data. It may choose to understand some semantics of
the data (specifically, the properties). This conflicts
with the assertion in Section 8 ("Choosing What to Query")
that a "SPARQL query treats an RDF graph purely as data".*

which includes the bNode closure for the vcard vocabulary
vcard:N -and vcard:ORG- triples.

... foaf:mbox_sha1sum as well information which as name
and other details ...
*NOTE: the above sentence doesn't make sense to me.*

-If the application already has the URI for the resource.
This-
+If the application already has URI references for 
resources, they+

*NOTE: the BNF allows "DESCRIBE *" but it is not mentioned
in the text.*

*NOTE: the document uses the term "URI reference" early on
but switches to "URI". Is it important to be consistent
or not worth worrying about?*

12 Testing Values

Need "isBound(?x)"
*NOTE: do you also need "isNull(?x)"?*

12.2 Extending Value Testing
*NOTE: We should state whether or not the test function
may have side-effects. Presumably, it should not although
we can't enforce this.*

----------------------------------------------------------------

Received on Tuesday, 12 October 2004 00:07:06 UTC