RE: RDF query testcases?

Libby wrote:
>Would you be happy for me to try to get your tests into my RDF manifest
>or something similar? (I don't have an RDF schema for that btw 
>Alberto).

Some sort of manifest would be good so this would be great.

Dan wrote:
> hope this helps, thanks for starting this dialog :)

+1 : this is a good idea.


> What I wanted was a way of having a language-neutral manifest
> that could 
> generate Ruby, Java, Perl, and also be neutral about the 
> query language / syntax, 

The RDQL tests are programming language independent for the interesting part
- testing the graph pattern match.  Long list of [query, datafile, expected
results].  The harness used is JUnit.  

I'll describe the testing in a spearate message as it isn't well documented.


About scope of the work:

Variable bindings is only one class of query: the class of query languages
that extracts a single subgraph from a model is a very important class as it
is a better basis for an RDF processing model.  For Joseki, RDQL queries
evaluate to the minimal complete subgraph induced by the query and that is
what is transferred over HTTP  variable bindings are rebuilt locally if the
application wants them but in terms of processing RDF, a subgraph of the
original data is important so it can be passed to another processing stage.

	Andy

> -----Original Message-----
> From: Dan Brickley [mailto:danbri@w3.org]
> Sent: 16 January 2003 16:57
> To: Libby Miller
> Cc: Jeen Broekstra; www-rdf-rules
> Subject: Re: RDF query testcases?
> 
> 
> 
> 
> I have a start towards a manifest format (no schema yet, sorry) and
> some test queries (no standard data targets) in RubyRDF:
> 
> Manifest file:
> 	
> http://www.w3.org/2001/12/rubyrdf/pack/tests/rdfq_test_manifest.rdf
> 
> A v rough Ruby script to generate Ruby unit tests:
> 	
> http://www.w3.org/2001/12/rubyrdf/pack/tests/generate_querytests.rb
> 
> The horrible hacky Ruby/shell mess that this generates:
> 	http://www.w3.org/2001/12/rubyrdf/pack/tests/_querytests.rb
> 
> The .squish source files I'm using:
> 	http://www.w3.org/2001/12/rubyrdf/pack/examples/squish/
> 
> Basic form of the manifest is a bunch of these:
> 
> 	<t:Query t:name="examples/squish/test1"
> t:format="squish" t:clauses="7" t:variables="7" t:wf="true" 
> t:comment="ok"/>
> 	<t:Query t:name="examples/squish/test2" 
> t:format="squish" t:clauses="1" t:variables="2" t:wf="true" 
> t:comment="ok"/>
> 	<t:Query t:name="examples/squish/test1-bogusclause" 
> t:format="squish" t:clauses="7" t:variables="0" t:wf="false" 
> t:comment="Has an ABUSING clause instead of USING"/>
> 
> 
> What I wanted was a way of having a language-neutral manifest
> that could 
> generate Ruby, Java, Perl, and also be neutral about the 
> query language / syntax, 
> at least for the cases where we have 3 or 4 alternate 
> representations for 
> what is basically the same query (ie. graphs with 
> variable/bnodes marked as 
> unknowns).
> 
> Rather than have a property like t:format="squish" which is
> what I currently do, I reckon we should use the full URI for 
> the query language being implemented.
> 
> The stuff above is mostly w.r.t. testing the syntactic form
> of a query. I had another 
> draft of an extension for testing my query implementations. 
> Can't find it right now, but 
> basic thing was same as others have described: expected 
> number of hits back, 
> expected number with RDFS closure, with smushing/identity 
> merging, etc etc.
> 
> hope this helps, thanks for starting this dialog :)
> 
> cheers,
> 
> Dan
> 
> 
> 
> 
> 

Received on Friday, 17 January 2003 05:48:04 UTC