- From: Lee Feigenbaum <feigenbl@us.ibm.com>
- Date: Fri, 22 Jul 2005 16:16:21 -0400
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Greetings,
Review comments on the current Query Results XML Format working draft:
1. Introduction
The SPARQL QL link goes to the April 19, draft. This should be updated to
the
more general URL: http://www.w3.org/TR/rdf-sparql-query/ . This is true of
other links to the QL draft throughout the Query Results draft. A grep for
20050419 should find all these links.
ASIDE: The DAWG homepage suggests that the SPARQL QL draft linked to is
still
the April 19, 2005, draft when rather it is now the July 21, 2005, last
call
draft.
2. Definition
s/SPARQL Query/SPARQL Query Language/
This sentence:
<<
SPARQL Query defines several query result forms (SPARQL Query section 10)
and this document defines an XML serialisation to encode variable bindings
Query Results from SELECT (SPARQL Query section 10.2). and returning a
boolean
result from ASK (SPARQL Query section 10.5)
>>
confuses me. At the very least, the period needs to move to the end rather
than
the middle of the sentence. I think it would read more clearly as:
<<
...to encode variable binding query results from SELECT queries (SPARQL
Query
section 10.2) and boolean query results from ASK queries (SPARQL Query
section
10.5).
>>
(Note that I also suggest changing "bindings" to "binding" to be
consistent with the usage
in the rest of the draft.)
2.1 Document Element
The first sentence is confusing. Perhaps:
<<
The Query Results XML Format begins with a <code>sparql</code> document
element in
the...
>>
2.2 Header
"the order of the variable names given to the argument of the SELECT
statement
in the SPARQL query"
might be better as:
"the order of the variable names as given in the projection section of the
SELECT
query"
Is there any harm in allowing multiple <link> elements? If that's to be
the main
extensibility point for further information on the query results, I feel
that it's
better to allow a broader range of metadata by allowing multiple links. In
either case,
the example here uses a relative href ("metadata.rdf") and it's not
specified how a
consumer of the XML document is to interpret such a relative URI.
2.3 Results
s/is empty/are empty/
2.3.1 Variable Binding Results
A couple of comments on the explanation of the 'ordered' and 'distinct'
attributes:
+ The wording: "The ordered attribute indicates [etc.]" indicates to me
that the
very presence of the attribute implies [etc.], whereas we mean that a true
value for
the attribute implies [etc.]. Suggestion: "The ordered attribute indicates
whether
or not [etc.]".
+ The wording: "...such as given by a SPARQL query containing ORDER BY"
suggests
to me that there are cases in which a SPARQL query does NOT contain ORDER
BY and
yet the results format document contains ordered=true. Is this by design?
Similarly
for the distinct case. If this is by design, I think it's worth stating
explicitly
that servers may specify ordered=true or distinct=true even when the
SPARQL query
did not explicitly request these properties.
+ It might be worth mentioning that ordered=false does not guarantee that
the
results are NOT ordered and that distinct=false does not guarantee that
there
are duplicates. (Though I can't think of a use-case that would try to
exploit
such potential mistaken impressions.)
+ s/that the results have are distinct/that the results are distinct/
<<
Each result element corresponds to one Query Solution in a result and
contains
child elements for each Query Variable that appears in the solution
(ordered
the same as the variable child elements of head) and used to record how
the
query variable binds to an RDF Term (SPARQL Query section 4).
>>
The sentence is talking about the full set of variable bindings, and
therefore
the end of the sentence should probably be:
<<
...and used to record how the query variables bind to RDF Terms (SPARQL
Query
section 4).
>>
<<
The value of query variable binding which is either an RDF Term or unbound
is written as the content of the binding as follows:
>>
is better as:
<<
The value of a query variable binding, which is either an RDF Term or
unbound,
is included as the content of the binding as follows:
>>
A typed literal can also specify a language, so that might be worth
including
as its own case or mentioning in a note below the examples.
3.2 Boolean Results Examples
Strike "following the definition in section 2"
4. XML Schemas
Both the RELAX NG and the XML Schema schemas say that the <sparql> and
<result> elements can contain an xml:lang attribute (in addition to
the <literal> element), but the rest of the draft never mentions such
uses of xml:lang or what such uses would mean.
truly,
Lee
--
Lee Feigenbaum
IBM Internet Technology Team - Staff Software Engineer
feigenbl@us.ibm.com
617-693-3765 (t/l 693-3765)
Received on Friday, 22 July 2005 20:16:26 UTC