ACTION: LeeF ... to review XML results set format. - Resend

Please forgive the duplicate message. I'm fixing that attrociously
bad-behaved line-wrapping behavior of the previous message.
Mea culpa.

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

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> elemants 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:30:19 UTC