Copyright © 2004-2023 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
These test suites are a product of the W3C RDF & SPARQL Working Group as well as the RDF-Star Interest Group within the W3C RDF-DEV Community Group, and has been maintained by the RDF Test Curation Community Group at https://github.com/w3c/rdf-tests/tree/main/rdf/rdf11. Conformance with RDF 1.2 specifications can be determined via successfully running the tests for relevant specifications along with the relevant RDF 1.1 tests.
This page describes W3C RDF & SPARQL Working Group's test suite for RDF 1.2. This test suite contains two kinds of tests:
rdft:PositiveEntailmentTest
)These tests are also described in Turtle format in this directory for convenience. The manifest files in this directory lists all of the approved tests in the RDF WG's RDF Entailment test suite. All tests have a name (mf:name
) and an input (mf:action
).
Each test is one of the above kinds of tests. All tests have
mf:name
),mf:action
),mf:result
),mf:entailmentRegime
),mf:recognizedDatatypes
),mf:unrecognizedDatatypes
).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, * for tests that have an output graph, determines that the input RDF graph entails (does not entail) the output RDF graph * for tests that have false as output, either determines that the input RDF graph entails (does not entail) an inconsistent RDF graph or that the input RDF graph is inconsistent (consistent).
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.
Conformance for RDF 1.2 requires conforming with tests in this test suite along with the relevant RDF 1.1 tests.
The test manifests and entries are built automatically from manifest.ttl using a Rake task. Tests may be contributed via pull request to https://github.com/w3c/rdf-tests with suitable changes to the manifest.ttl and referenced files.
Distributed under both the W3C Test Suite License and the W3C 3-clause BSD License. To contribute to a W3C Test Suite, see the policies and contribution forms.
UNDER BOTH MUTUALLY EXCLUSIVE LICENSES, THIS DOCUMENT AND ALL DOCUMENTS, TESTS AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
Multiple occurrences of the same triple term are the same domain element.
none
none
This test ensures that other entailments are not spurious.
none
none
Terms inside triple terms can be replaced by fresh bnodes.
none
none
Terms inside triple terms can be replaced by fresh bnodes.
none
none
Terms inside triple terms can be replaced by fresh bnodes.
none
none
The same bnode can not match different triple terms.
none
none
Identical triple term can be replaced by the same fresh bnode multiple times.
none
none
Different bnodes can match identical triple terms.
none
none
Terms inside and outside triple terms can be replaced by fresh bnodes
none
none
Terms inside and outside triple terms can be replaced by fresh bnodes.
none
none
Quoted bnode identifiers share the same scope as non-quoted ones. A bnode that occurs both inside triple terms and inside asserted triples must satisfy all occurrences at the same time.
none
none
Literals inside and outside triple terms can be replaced by fresh bnodes.
none
none
Checks that xsd:integer is indeed recognized, to ensure that malformed-literal-* tests do not pass spuriously.
xsd:integer
none
Malformed literals are allowed in triple terms, but cause inconsistency.
xsd:integer
none
Malformed literals are allowed when in triple terms.
xsd:integer
none
Malformed literals within triple terms do not lead to spurious entailment.
xsd:integer
none
Malformed literals cannot be replaced by blank nodes.
xsd:integer
none
Checks that xsd:integer is indeed recognized; was to ensure that opaque-literal did not pass spuriously.
xsd:integer
none
Literals within triple terms are transparent.
xsd:integer
none
Checks that language strings are indeed recognized; was to ensure that opaque-language-string did not pass spuriously.
none
none
Literals within reifying terms (including language strings) are transparent.
none
none
Checks that directional language strings are indeed recognized, to ensure that opaque-dir-language-string does not pass spuriously.
none
none
Literals within reifying terms (including directional language strings) are opaque, even when their datatype is recognized.
none
none
Check that owl:sameAs works as expected; was to ensure that opaque-iri did not pass spuriously.
none
none
Triple term IRIs are transparent.
none
none
Triple terms are not asserted.
none
none
Annotated triples are asserted. This is about shorthand expansion, and is not really a semantics test.
none
none
Annotations are about the reifying triple. This is about shorthand expansion, and is not really a semantics test.
none
none
Annotations are the same as separate assertions. This is about shorthand expansion, and is not really a semantics test.
none
none
Arrays are ordered in rdf:JSON.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Objects are unordered in rdf:JSON.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Positive zero and negative zero are different in rdf:JSON.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Positive zero and negative zero are different in rdf:JSON inside arrays.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Rounding to different even rdf:JSON.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Rounding to same even rdf:JSON.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Large rdf:JSON number values are infinity.
http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON
none
Positive zero and negative zero are different in xsd:float.
xsd:float
none
Rounding to different even xsd:float.
xsd:float
none
Rounding to same even xsd:float.
xsd:float
none
Large xsd:float values are infinity.
xsd:float
none
Positive zero and negative zero are different in xsd:double.
xsd:double
none
Rounding to different even xsd:double.
xsd:double
none
Rounding to same even xsd:double.
xsd:double
none
Large xsd:double values are infinity.
xsd:double
none
Triple terms denote instances of rdfs:Proposition.
none
none
Range of rdf:reifies is rdfs:Proposition.
none
none