- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 21 Jun 2012 09:03:11 +0100
- To: public-rdf-dawg@w3.org
Paul,
More tests, better coverage is good.
Why not commit them to CVS (in the negation/ area?) and wire them into
the manifest?
Andy
On 21/06/12 00:49, Paul Gearon wrote:
> Hi,
>
> I've been working on an implementation of MINUS recently, and found
> the existing SPARQL tests did not cover a number of cases. I'd like to
> suggest the following tests: full-minuend, part-minuend. (files
> included below)
>
> These two queries cover a number of conditions each. Alternatively,
> each case tested in these queries could be pulled out individually.
>
> Regards,
> Paul Gearon
>
>
> full-minuend.ttl
>
> @prefix :<http://example/> .
>
> :a0 :p1 :b0 ;
> :p2 :c0 .
> :a1 :p1 :b1 ;
> :p2 :c1 .
> :a2 :p1 :b2 ;
> :p2 :c2 .
> :a3 :p1 :b3 ;
> :p2 :c3 .
> :d0 a :Sub .
> :d1 a :Sub ;
> :q1 :b1 ;
> :q2 :c1 .
> :d2 a :Sub ;
> :q1 :b2 .
> :d3 a :Sub ;
> :q1 :b3 ;
> :q2 :cx .
>
>
> full-minuend.rq
>
> prefix :<http://example/>
> select ?a ?b ?c {
> ?a :p1 ?b; :p2 ?c
> MINUS {
> ?d a :Sub
> OPTIONAL { ?d :q1 ?b }
> OPTIONAL { ?d :q2 ?c }
> }
> }
> order by ?a
>
>
> full-minuend.srx
>
> <?xml version="1.0"?>
> <sparql xmlns="http://www.w3.org/2005/sparql-results#">
> <head>
> <variable name="a"/>
> <variable name="b"/>
> <variable name="c"/>
> </head>
> <results>
> <result>
> <binding name="a">
> <uri>http://example/a0</uri>
> </binding>
> <binding name="b">
> <uri>http://example/b0</uri>
> </binding>
> <binding name="c">
> <uri>http://example/c0</uri>
> </binding>
> </result>
> <result>
> <binding name="a">
> <uri>http://example/a3</uri>
> </binding>
> <binding name="b">
> <uri>http://example/b3</uri>
> </binding>
> <binding name="c">
> <uri>http://example/c3</uri>
> </binding>
> </result>
> </results>
> </sparql>
>
>
> part-minuend.ttl
>
> @prefix :<http://example/> .
>
> :a1 a :Min ;
> :p1 :b1 .
> :a2 a :Min ;
> :p1 :b2 .
> :a3 a :Min ;
> :p1 :b3 .
> :a4 a :Min .
> :d1 a :Sub ;
> :q1 :b1 .
> :d3 a :Sub ;
> :q1 :b3 ;
> :q2 :c3 .
> :d4 a :Sub ;
> :q1 :b4 ;
> :q2 :c4 .
> :d5 a :Sub .
>
>
> part-minuend.rq
>
> prefix :<http://example/>
> select ?a ?b ?c {
> ?a a :Min
> OPTIONAL { ?a :p1 ?b }
> OPTIONAL { ?a :p2 ?c }
> MINUS {
> ?d a :Sub
> OPTIONAL { ?d :q1 ?b }
> OPTIONAL { ?d :q2 ?c }
> }
> }
> order by ?a
>
>
> part-minuend.srx
>
> <?xml version="1.0"?>
> <sparql xmlns="http://www.w3.org/2005/sparql-results#">
> <head>
> <variable name="a"/>
> <variable name="b"/>
> <variable name="c"/>
> </head>
> <results>
> <result>
> <binding name="a">
> <uri>http://example/a2</uri>
> </binding>
> <binding name="b">
> <uri>http://example/b2</uri>
> </binding>
> </result>
> <result>
> <binding name="a">
> <uri>http://example/a4</uri>
> </binding>
> </result>
> </results>
> </sparql>
>
Received on Thursday, 21 June 2012 08:03:47 UTC