Re: RDF query testcase requirements: IRC chat?

Libby,

here is another attempt to express your rdf query test manifest file 
[1] in RDF/XML using a vocabulary which borrows some definitions from 
the manifest file of the RDF Test Cases [2] from Jan and Dave. The 
manifest example uses bArcs in triple-patterns as Jos, you and Andy 
sketched in previous emails; an alternative to express the input query 
patterns with bArcs might be to use predicate patterns as in the 
RDF-QBE paper of Dave Reynolds [3].

the rdf query manifest file should:

- be as general as possible but at the same time simple enough to use
- be expressed in RDF/XML (then we can map it to any other syntax if 
needed)
- allow to specify separated multiple sources, queries and output 
documents as well as inline them
- sources, queries and output results might be expressed in different 
syntaxes
- the query results might represent a sub-graph of the input graph as 
well as a list of bindings (table)
- inference rules should be tested separately from simple basic 
conjunctive rdf query patterns (entailment tests could eventually fit 
into a higher/second level tests set)
- rdf:Seq ordering of tests is not so important at the moment

The manifest file could look like:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
          xmlns="http://www.w3.org/2003/03/rdf-query-tests/testSchema#" >

<!-- input source, query and output documents are external into files 
-->
<test num="3">
    <name>test3</name>
    <description>two rss files</description>
    <status>true</status>
    <inputDocument>
       <RDF-XML-Document rdf:about="file:rdf/jobs-rss.rdf" />
       <RDF-XML-Document rdf:about="file:rdf/jobs.rss" />
    </inputDocument>
    <queryDocument>
       <NT-Document rdf:about="file:queries/nt/q3.sq.nt" />
    </queryDocument>
    <outputDocument>
       <RDF-XML-Document rdf:about="file:rdf/rs/q3.rdf" numberRows="5" />
    </outputDocument>
</test>

</rdf:RDF>

A given test has a sequential number (num), a name, a description and 
an exit status (true/false). Several input sources (inputDocument) 
might be smushed and/or aggregated perhaps in different formats. The 
list of simple basic conjunctive rdf query patterns might be expressed 
as a graph with variables in place of URI refs and literals (and 
predicate patterns perhaps) [3][4]. The output result can be another 
RDF/XML document (graph) or a table (as well presented in some RDF 
syntax) [5].
We could eventually add more input document types such as 
constraintsDocument  to express more meaty query languages extensions 
e.g. in SquishQL/RDQL AND ?x =~ /matcHThis/i and so on. Native query 
syntax documents might be also specified using rdf:resource directly on 
the queryDocument property.

I attached an extended version of the above example using 
rdf:parseType="Literal" to inline RDF/XML documents (sources, query and 
output) - N3/N-Triples syntax is inline using a simple XML CDATA 
construct.

any comment, correction or remark is welcome

If we could generally agree on some simple syntax like the above I 
could start to integrate the rdf query tests manifest into the RDF 
Query and Rules survey later on.

Alberto

[1] 
http://swordfish.rdfweb.org/rdfquery/tests/query-results-manifest.rdf
[2] http://www.w3.org/TR/rdf-testcases/
[3] http://www.hpl.hp.com/semweb/publications/DaveR-www2003.pdf
[4] http://lists.w3.org/Archives/Public/www-archive/2002Apr/0040.html
[5] http://lists.w3.org/Archives/Public/public-esw/2003Jan/0046.html

Received on Monday, 3 March 2003 17:57:15 UTC