W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2004

Re: Issue with the result set format

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Fri, 26 Nov 2004 11:52:48 +0000
Message-ID: <41A71910.6030608@hp.com>
To: Dave Beckett <dave.beckett@bristol.ac.uk>
CC: RDF Data Access Working Group <public-rdf-dawg@w3.org>



Dave Beckett wrote:
> On Mon, 22 Nov 2004 17:31:12 +0000, "Seaborne, Andy" <andy.seaborne@hp.com> wrote:
> 
> 
>>My base example for working with the XML result set format is turning the
>>results into an HTML table and I have been writing an XQuery to do this 
>>transformation.
>>
>>The first stage of the transformation is writing out the table
>>headers in <th>'s based on the variable names.
>>
>>The proposed result set format:
>>
>>http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/0556.html
>>either the form result1.xml or result2.xml
>>is slightly tricky to work with because the variables aren't declared 
>>explicitly.  It is possible to access the variables in the first
>>row if every variable is always named in every solution even when
>>unbound, ...
> 
> 
> every variable name already appears in every <result> in both
> formats, so all the names are always available.
> 
> 
>>... but it isn't convenient to treat the first row specially,
>>when streaming for example.  There are two access to row one in
>>this example.
> 
> 
> So you want to know all the variable names but want this knowledge
> before the body of the results are given so that you don't have to
> read the first line twice.  I don't think that's a huge problem, but
> I guess could be done by adding a header block with such info.
> 
> (In this case, maybe removing unbound variables would be possible,
> although my preference is the current style).
> 
> So for the result1.xml style in
>   http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/att-0556/result1.xml
> I think that would mean adding a new top-level element outside
> <results> giving something like:
> 
> <dawg-result xmlns="http://www.w3.org/sw/2001/DataAccess/result1#">
> 
>   <!-- order of names here is an arbitrary order
>        but the <result> child elements MUST match this order
> 
>        This header would be required.
>     -->
>   <variables>
>     <hpage/>
>     <name/>
>     <mbox/>
>     <age/>
>   </variables>

That would do just fine.

I can't think of any other metadata to add to the query results so that may well 
be everything needed.

> 
>   <results>
>     <result>
>       <hpage href="http://work.example.org/alice/"/>
>       <name>Alice</name>
>       <!-- unbound variables -->
>       <mbox/>
>       <age/>
>     </result>
> 
>     <result> 
>       <hpage></hpage>
> 
>       <name xml:lang="en">Bob</name>
>       <mbox href="mailto:bob@work"/>
>       <age datatype="http://www.w3.org/2001/XMLSchema#decimal">30</age>
>     </result>
> 
>   </results>
> 
> </dawg-results>
> 
> 
> or in the style of result2.xml
>   http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/att-0556/result2.xml
> 
> 
> <dawg-result xmlns="http://www.w3.org/sw/2001/DataAccess/result2#"
>              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>              xsi:schemaLocation="http://www.w3.org/2001/XMLSchema-instance result2.xsd">
> 
>   <variables>
>       <var name="hpage"/>
>       <var name="name"/>
>       <var name="mbox"/>
>       <var name="age"/>
>   </variables>
> 
>   <results>
>     <result>
>       <var name="hpage" href="http://work.example.org/alice/"/>
>       <var name="name">Alice</var>
>       <var name="mbox"/>
>       <var name="age"/>
>     </result>
> 
>     <result> 
>       <var name="hpage"></var>
> 
>       <var name="name" xml:lang="en">Bob</var>
>       <var name="mbox" href="mailto:bob@work"/>
>       <var name="age" datatype="http://www.w3.org/2001/XMLSchema#decimal">30</var>
>     </result>
> 
>   </results>
> 
> </dawg-result>

I have been asking around as to the preferences of result1 vs result2 forms. 
Not a scientific survey but I haven't come across any support for form 1, and 
very quickly people pick on the lack of schema-checking on it.

	Andy

> 
>>Having the variable names enables sending SPARQL queries to a
>>server and getting the results without the result processing
>>needing to understand the query to extract the variables.  The
>>query-and-results layer can be a pass-through that 
>>just processes XML; no SPARQL parser, no RDF toolkit needed.
> 
> 
> The existing formats can be handled without RDF knowledge either but
> they do need to have knowledge of what the query does - application
> knowledge - which includes knowing what variable names will be bound
> and what they mean.
> 
> The case of handling an arbitrary query result and not knowing any of
> the names seems only something likely to happen with generic rdf
> query demonstrations rather than in applications.
> 
> Dave
Received on Friday, 26 November 2004 11:53:25 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:21 GMT