Abstract

The Resource Description Framework (RDF) is a framework for representing information in the Web. This document lists the test suites and implementation reports for RDF 1.1 Semantics as well as the various serialization formats.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document was published by the RDF Working Group as a Working Group Note. If you wish to make comments regarding this document, please send them to [email protected] (subscribe, archives). All comments are welcome.

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

1. Test Suites and Implementation Reports

The following are links to the syntax and semantics test suites and implementation reports:

RDF 1.1 Concepts [RDF11-CONCEPTS] does not have a test suite and is not directly implemented in software; instead, it is implemented by the specs which build on it, including the other specs in the set above.

2. General instructions for running RDF Test suites

All test suites have a common test manifest representation using test vocabularies similar to the SPARQL 1.1 Test case structure [SPARQL11-TEST-CASE]. Test manifests are expressed using [TURTLE], except for the JSON-LD test manifests, which are represented using [JSON-LD]. (Detailed information on the JSON-LD Test Suite is at [JSON-LD-TESTS]). The Manifest has a header, and lists one or more test entries such as the following:

Example 1: Manifest header

In addition to the namespaces described in [SPARQL11-TEST-CASE], RDF manifests use the following vocabularies:

rdft
http://www.w3.org/ns/rdftest#

2.1 Syntax Tests

Concrete RDF syntaxes may have positive- and negative-syntax tests, intended to determine if a processor correctly recognizes valid or invalid serializations. Positive Syntax Tests include a name, optional comment, and action along with a type which identifies them as being a Syntax Test for the appropriate serialization format. An example Turtle Syntax test definition is the following:

Example 2: Syntax test

Class names vary by serialization format and include the following:

rdft:TestTurtlePositiveSyntax
A Positive [TURTLE] Syntax Test.
rdft:TestTurtleNegativeSyntax
A Negative [TURTLE] Syntax Test.
rdft:TestTriGPositiveSyntax
A Positive [TRIG] Syntax Test.
rdft:TestTriGNegativeSyntax
A Negative [TRIG] Syntax Test.
rdft:TestNTriplesPositiveSyntax
A Positive [N-TRIPLES] Syntax Test.
rdft:TestNTriplesNegativeSyntax
A Negative [N-TRIPLES] Syntax Test.
rdft:TestNQuadsPositiveSyntax
A Positive [N-QUADS] Syntax Test.
rdft:TestNQuadsNegativeSyntax
A Negative [N-QUADS] Syntax Test.
rdft:TestXMLNegativeSyntax
A Negative [RDF11-XML] Syntax Test.

A positive test is passed if an implementation can parse the content at the URL identified by the object of the mf:action properly using rules for the the appropriate syntax.

A negative test is passed if an implementation raises an error when it parses content at the URL identified by the object of the mf:action properly using rules for the appropriate syntax.

2.2 Evaluation Tests

Concrete RDF syntaxes may have positive- and negative-evaluation tests, intended to determine if a processor correctly evaluates serializations. Positive Evaluation Tests include a name, optional comment, action, and result along with a type which identifies them as being an Evaluation Test for the appropriate serialization format. An example Turtle Evaluation test definition is the following:

Example 3: Evaluation test

Class names vary by serialization format and include the following:

rdft:TestTurtleEval
A Positive [TURTLE] Evaluation Test.
rdft:TestTurtleNegativeEval
A Negative [TURTLE] Evaluation Test.
rdft:TestTrigEval
A Positive [TRIG] Evaluation Test.
rdft:TestTrigNegativeEval
A Negative [TRIG] Evaluation Test.
rdft:XMLEval
A Positive [RDF11-XML] Evaluation Test.

A positive test is passed if an implementation parses the input (identified by the object of the mf:action property) using the appropriate syntax into a graph or dataset, parses the expected result (identified by the object of the mf:result property) into another graph or dataset, and those two graphs/datasets are isomorphic (see [RDF11-CONCEPTS]).

A negative test is passed if an implementation parses the input (identified by the object of the mf:action property) using the appropriate syntax into a graph or dataset, parses the expected result (identified by the object of the mf:result property) into another graph or dataset, and those two graphs/datasets are _not_ isomorphic (see [RDF11-CONCEPTS]).

2.3 Sematics Tests

These tests test implementations of RDF and RDFS Entailment [RDF11-MT]. Entailment Tests (mf:PositiveEntailmentTest or mf:NegativeEntailmentTest) include a name, comment, action, result, an entailment regime, a list of recognized datatypes and a list of unrecognized datatypes, and result along with a type which identifies them as being an Entailment Test for the appropriate serialization format.

All tests have the following properties:

An example Entailment test is the following:

Example 4: Entailment test

An implementation passes a Positive (Negative) Entailment Test if, when configured to (1) perform entailment under the entailment regime of the test or some entailment regime that is stronger (weaker) than the entailment regime and (2) recognize all the datatypes in the list of recognized datatypes and none of the datatypes in the list of unrecognized datatypes,

An implementation also passes a test if when configured differently from a correct configuration as given above nonetheless produces the given result, and the result is correct in the configured entailment regime with the configured recognized datatypes.

A. References

A.1 Informative references

[JSON-LD]
Manu Sporny, Gregg Kellogg, Markus Lanthaler. JSON-LD 1.0. 16 January 2014. W3C Recommendation. URL: http://www.w3.org/TR/json-ld/
[JSON-LD-API]
Markus Lanthaler, Gregg Kellogg, Manu Sporny. JSON-LD 1.0 Processing Algorithms and API. 16 January 2014. W3C Recommendation. URL: http://www.w3.org/TR/json-ld-api/
[JSON-LD-TESTS]
JSON-LD 1.0 Test Suite. W3C Test Suite. URL: http://www.w3.org/2013/json-ld-tests/
[N-QUADS]
Gavin Carothers. RDF 1.1 N-Quads. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-n-quads-20140225/. The latest edition is available at http://www.w3.org/TR/n-quads/
[N-TRIPLES]
Gavin Carothers, Andy Seabourne. RDF 1.1 N-Triples. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-n-triples-20140225/. The latest edition is available at http://www.w3.org/TR/n-triples/
[RDF11-CONCEPTS]
Richard Cyganiak, David Wood, Markus Lanthaler. RDF 1.1 Concepts and Abstract Syntax. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/. The latest edition is available at http://www.w3.org/TR/rdf11-concepts/
[RDF11-MT]
Patrick J. Hayes, Peter F. Patel-Schneider. RDF 1.1 Semantics. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/. The latest edition is available at http://www.w3.org/TR/rdf11-mt/
[RDF11-XML]
Fabien Gandon, Guus Schreiber. RDF 1.1 XML Syntax. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-rdf-syntax-grammar-20140225/. The latest published version is available at http://www.w3.org/TR/rdf-syntax-grammar/.
[SPARQL11-TEST-CASE]
Axel Polleres. SPARQL1.1: Test case structure Informal. URL: http://www.w3.org/2009/sparql/docs/tests/README.html
[TRIG]
Gavin Carothers, Andy Seaborne. TriG: RDF Dataset Language. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-trig-20140225/. The latest edition is available at http://www.w3.org/TR/trig/
[TURTLE]
Eric Prud'hommeaux, Gavin Carothers. RDF 1.1 Turtle: Terse RDF Triple Language. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-turtle-20140225/. The latest edition is available at http://www.w3.org/TR/turtle/