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

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