Use case: AFS-3: "Find, for each approved RDF core test case, the input and output documents"

== Task & Roles

A developer has had a bug report from a valued user (who may, or may not,
also be a member of this working group) that indicates that a software tool
(which for the sake of argument we will call the Jena N3 writer) is failing
to correctly output the N3 representation of some of the RDF core test

The developer wishes to create a list of input and output documents for each
of the approved test cases from the RDF core test suite.  The list of tests
resides in a single file.

== Value/Why

The value is the systematic processing of the RDF core manifest file with a
result which is one line per input/output pair so that a bash script can
easily be written to create the next stage - reading the input document,
writing it and checking it.

Writing a query, feeding it to a query processor is much quicker than
writing a custom program to do the same.

== Description 

The developer wants a list of pairs because he will, for each pair, write a
test that reads the input file (in RDF/XML), writes it out again in N3, then
does a graph compare (check isomorphism in the presence of bNodes) with the
output document (which is in N-triples).

The output happens to be text, in columns, making creation of the bash
script easy.

The test procedure is to apply a bash function to each line of the query
results.  A list of failing matches is printed by the test procedure.

== Other

The query that I actually used was:

SELECT ?in ?out
    (?x test:inputDocument ?in)
    (?x test:outputDocument ?out)
    (?x test:status "APPROVED")
USING test FOR  <>

Received on Thursday, 11 March 2004 17:18:20 UTC