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


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 
more general URL: . 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 
the April 19, 2005, draft when rather it is now the July 21, 2005, last 

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 
result from ASK (SPARQL Query section 10.5)

confuses me. At the very least, the period needs to move to the end rather 
the middle of the sentence. I think it would read more clearly as:

<< encode variable binding query results from SELECT queries (SPARQL 
section 10.2) and boolean query results from ASK queries (SPARQL Query 

(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 

2.2 Header

"the order of the variable names given to the argument of the SELECT 
in the SPARQL query"

might be better as:

"the order of the variable names as given in the projection section of the 

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' 

+ 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 
or not [etc.]". 

+ The wording: "...such as given by a SPARQL query containing ORDER BY" 
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? 
for the distinct case. If this is by design, I think it's worth stating 
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 
results are NOT ordered and that distinct=false does not guarantee that 
are duplicates. (Though I can't think of a use-case that would try to 
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 
child elements for each Query Variable that appears in the solution 
the same as the variable child elements of head) and used to record how 
query variable binds to an RDF Term (SPARQL Query section 4).

The sentence is talking about the full set of variable bindings, and 
the end of the sentence should probably be:

...and used to record how the query variables bind to RDF Terms (SPARQL 
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 
is included as the content of the binding as follows:

A typed literal can also specify a language, so that might be worth 
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.

Lee Feigenbaum
IBM Internet Technology Team - Staff Software Engineer
617-693-3765 (t/l 693-3765)

Received on Friday, 22 July 2005 20:16:26 UTC