W3C home > Mailing lists > Public > www-rdf-rules@w3.org > February 2003

RE: RDF query testcase requirements: IRC chat?

From: Seaborne, Andy <Andy_Seaborne@hplb.hpl.hp.com>
Date: Thu, 27 Feb 2003 12:59:21 -0000
Message-ID: <5E13A1874524D411A876006008CD059F061D6836@0-mail-1.hpl.hp.com>
To: "'www-rdf-rules@w3.org'" <www-rdf-rules@w3.org>


I had a go at writing a manifest - I choose to split the query specific
stuff from the more general idea of a manifest.  This would mean that other
testing might be able to use this structure (in particular some other
testing I already have copuld be converted to this RDF format).  

The "test" I have is an "action" with an optional "result".  All tests have
a name.  It's a bit like Junit except instead of testing with asserts in the
test itself, there is a result considered to be correct.

------------------------
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix mf:    <http://www.hpl.hp.com/semweb/2003/03/manifest#> .

[] a rdf:Seq ; a mf:Manifest ;
   rdf:_1 [ mf:name "Test 1" ;
            mf:action <file:query1> ; mf:result <file:result1> ] ;
   rdf:_2 [ mf:name "Test 2" ;
            mf:action <file:query2> ; mf:result <file:result2> ] ;
   .
------------------------
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:mf='http://www.hpl.hp.com/semweb/2003/03/manifest#'>
    <rdf:Seq>
        <rdf:type
rdf:resource='http://www.hpl.hp.com/semweb/2003/03/manifest#Manifest'/>
        <rdf:_1 rdf:parseType='Resource'>
            <mf:name>Test 1</mf:name>
            <mf:action rdf:resource='file:query1'/>
            <mf:result rdf:resource='file:result1'/>
        </rdf:_1>
        <rdf:_2 rdf:parseType='Resource'>
            <mf:name>Test 2</mf:name>
            <mf:action>file:query2</mf:action>
            <mf:result rdf:resource='file:result2'/>
        </rdf:_2>
    </rdf:Seq>
</rdf:RDF>
------------------------

Notes:

1/ Use of rdf:Seq - I like my tests to be in order :-)  Could use rdf:List
here as well.

2/ The range of mf:action and mf:result would be pretty undefined - it may
be a subgraph, it may be just a resource or literal, depending on usage and
style.  While results could go in the manifest structure, it may well be
easier in practical terms to manage them in separate files.  

One result format that encodes variable bindings in RDF:
http://lists.w3.org/Archives/Public/public-esw/2003Jan/0046.html
then result testing would be test for graph isomorphism but the result
information may just be number of rows to align with Libby's vocabulary.

3/ For query I would expect subPropertyOf mf:action and mf:result to be a
little more precise for an exchangable manifest between query test suites.
Maybe also there would be additional properties like source in the query
manifest vocabulary or they may be part of a resource pointed to by
mf:action.  This is a style thing - deep structures or shallow structures.

	Andy
Received on Thursday, 27 February 2003 07:59:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:53:10 GMT