STATUS: These tests are in development; until a test is approved by WG decision, it is subject to change without notice.Dan Connolly
$Revision: 1.42 $ of $Date: 2007/03/13 21:09:26 $
Each test has an input document and an output
document; the output document is in RDF/XML and represents a
GRDDL result (perhaps the
maximal result?) of the input
The test collection is separated into parts:
Note the transformation, atom2turtle_xslt-1.0.xsl, gives an RDF graph using turtle rather than RDF/XML. This test uses the text/rdf+n3 media type, which should appear in the IANA list of text media types in due course. See also the SPARQL CR request of Apr 2006.
See also: Atom/RDF in progress Aug 2006 by David Powell.
APPROVED in 24 Jan discussion of #issue-output-formats
This test case uses an inline GRDDL transformation reference (i.e.
a element) instead of one within a
link element. It also exercises the fact that the
rel attribute can take multiple space-separated values, and
only one of them needs to be equal to
indicate that the resource is in fact a GRDDL transformation.
The protocol trace discusses http://www.w3.org/2003/g/po-doc.xml, which should probably perhaps move to the WG test suite or sync with it somehow. http://www.w3.org/2003/g/embeddedRDF and http://www.w3.org/2003/g/glean-profile should get some testing too. The Jena GRDDL Reader test area, especially security4, security6 (as of jjc's comment), are noteworthy re security issues
An example homepage with Dublin Core, GeoURL, RSS, Creative Commons, etc. demonstrates several transformations and dialects.
These are potential primer chapters, too:
This test collection uses an RDF vocabulary for manifests developed for the RDF Test Cases Recommendation. The aboutTests transformation relates dialect in the HTML representation to an RDF graph (via RDF/XML).
The http://www.w3.org/2001/sw/grddl-wg/td/ web repository is backed by the usual W3C CVS setup. If you don't have CVS commit access, note Harry's offer to help from our 10 Jan test maintenance discussion.
Dan maintains an experimental decentralized repository, backed by mercurial/hg. See also: Access control and version control: an over-constrained problem? by connolly on Tue, 2006-04-25. The CVS commits get added to the hg repository using a bleeding-edge version of convert-repo (details), like this:
connolly@homer ../hg-coll python2.4 ~/hg-coll/mercurial/contrib/convert-repo /home/connolly/pub/WWW/2001/sw/grddl-wg/td grddl-tests
This is supposed to support going the other direction better than cvs20hg and the cvscommit hg extension, introduced in a 2006-03-24 21:13:45 message from Simon 'corecode' Schubert.
$ python testft.py --run your_grddl_impl testlist1.rdf >earl_out.rdf All tests were passed!
It has options for --debug and such; invoke it with no arguments for details.
In addition to various diagnostics on stderr, the test harness writes to stdout some RDF data: an EARL assertion about each test it runs.
To tell it about the person running the tests and the software project being tested, point it at an ID in a foaf file and a DOAP file:
$ python testft.py \ --tester 'dan.rdf#dwc' \ --project 'grddlft.rdf#grddl_py' \ --run your_grddl_impl \ testlist1.rdf >earl_out.rdf All tests were passed!
We find TCPWatch useful for debugging HTTP protocol interactions. If you start TCPWatch a la:
$ python tcpwatch.py -p 6543 &
then you can use it as a proxy:
$ http_proxy=http://127.0.0.1:6543 python testft.py \ --run your_grddl_impl testlist1.rdf
See also Dom's message Re: GRDDL test howto? of 23 Aug 2006.