manifest

Generated from manifest.jsonld

Entries:

About this test suite

This README is for the RDF-star Semantics test suite,
by the W3C RDF-DEV Community Group task force on RDF*.
This test suite contains two kinds of tests:

  Positive Entailment Tests (PositiveEntailmentTest)
  Negative Entailment Tests (NegativeEntailmentTest)

The manifest.jsonld file in this directory lists all of the approved tests in the
RDF WG's RDF Entailment test suite.

Each test is one of the above kinds of tests. All tests have
- a name (name),
- an input RDF graph URL (action),
- an output RDF graph URL or the special marker false (result),
- an entailment regime, which is "simple", "RDF", "RDFS" or "RDFS-Plus" (entailmentRegime),
- a list of recognized datatypes (recognizedDatatypes),
- a list of unrecognized datatypes (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.

The home of the test suite should eventually be
.
Per RFC 3986 section 5.1.3, the base IRI for parsing each file is the
retrieval IRI for that file, but changing base IRIs should not affect any
testing results.


Test results should be submitted as EARL reports.   See
http://www.w3.org/TR/EARL10-Schema/ for information on EARL.

A document on the results of the testing will eventually be at
http://w3c.github.io/rdf-star/tests/reports.html .
This document will have more information on submitting reports, including examples
of what the reports should contain.

all-identical-embedded-triples-are-the-same 🔗

status:proposed
type:positive entailment test
regime:simple
test001a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
<< :a :b :c >> :p2 :o2.
MUST entail
test001r.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1; :p2 :o2.

Multiple occurences of the same embedded triples are undistinguishable in the abstract model.

embedded-triples-no-spurious 🔗

status:proposed
type:negative entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST NOT entail
test005.ttl
prefix : <http://example.com/ns#>

<< :a :b :d >> :p1 :o1.

This test ensures that other entailments are not spurious.

bnodes-in-embedded-subject 🔗

status:proposed
type:positive entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST entail
test002sr.ttl
prefix : <http://example.com/ns#>

<< _:x :b :c >> :p1 :o1.

Terms in embedded triples can be replaced by fresh bnodes.

bnodes-in-embedded-object 🔗

status:proposed
type:positive entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST entail
test002or.ttl
prefix : <http://example.com/ns#>

<< :a :b _:x >> :p1 :o1.

Terms in embedded triples can be replaced by fresh bnodes.

bnodes-in-embedded-subject-and-object 🔗

status:proposed
type:positive entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST entail
test002sor.ttl
prefix : <http://example.com/ns#>

<< _:x :b _:y >> :p1 :o1.

Terms in embedded triples can be replaced by fresh bnodes.

bnodes-in-embedded-subject-and-object-fail 🔗

status:proposed
type:negative entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST NOT entail
test002sbr.ttl
prefix : <http://example.com/ns#>

<< _:x :b _:x >> :p1 :o1.

The same bnode can not match different embedded terms.

same-bnode-same-embedded-term 🔗

status:proposed
type:positive entailment test
regime:simple
test003a.ttl
prefix : <http://example.com/ns#>

<< :a :b :a >> :p1 :o1.
MUST entail
test002sbr.ttl
prefix : <http://example.com/ns#>

<< _:x :b _:x >> :p1 :o1.

Identical embedded term can be replaced by the same fresh bnode multiple times.

different-bnodes-same-embedded-term 🔗

status:proposed
type:positive entailment test
regime:simple
test003a.ttl
prefix : <http://example.com/ns#>

<< :a :b :a >> :p1 :o1.
MUST entail
test002sor.ttl
prefix : <http://example.com/ns#>

<< _:x :b _:y >> :p1 :o1.

Different bnodes can match identical embedded terms.

constrained-bnodes-in-embedded-subject 🔗

status:proposed
type:positive entailment test
regime:simple
test004a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
:a :label "A".
:c :label "C".
MUST entail
test004sr.ttl
prefix : <http://example.com/ns#>

<< _:x :b :c >> :p1 :o1.
_:x :label "A".

Terms in embedded triples and outside can be replaced by fresh bnodes

constrained-bnodes-in-embedded-object 🔗

status:proposed
type:positive entailment test
regime:simple
test004a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
:a :label "A".
:c :label "C".
MUST entail
test004or.ttl
prefix : <http://example.com/ns#>

<< :a :b _:x >> :p1 :o1.
_:x :label "C".

Terms in embedded triples and outside can be replaced by fresh bnodes.

constrained-bnodes-in-embedded-fail 🔗

status:proposed
type:negative entailment test
regime:simple
test004a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
:a :label "A".
:c :label "C".
MUST NOT entail
test004fr.ttl
prefix : <http://example.com/ns#>

<< _:x :b :c >> :p1 :o1.
_:x :label "C".

Embedded bnode identifiers share the same scope as non-embedded ones. A bnode occuring both in embedded triples and in asserted triples must statisfy them all at the same time.

constrained-bnodes-on-literal 🔗

status:proposed
type:positive entailment test
regime:simple
test006a.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "42"^^xsd:integer >> :p1 :o1.
:s2 :p2 "42"^^xsd:integer.
MUST entail
test006r.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b _:x >> :p1 :o1.
:s2 :p2 _:x.

Literals in embedded triples and outside can be replaced by fresh bnodes.

malformed-literal-control 🔗

status:proposed
type:positive entailment test
regime:RDF
recognizing:xsd:integer
malformed-literal-control.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

:a :b "c"^^xsd:integer.
MUST entail
a contradiction

Checks that xsd:integer is indeed recognized, to ensure that malformed-literal-* tests do not pass spuriously.

malformed-literal 🔗

status:proposed
type:negative entailment test
regime:RDF
recognizing:xsd:integer
malformed-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "c"^^xsd:integer >> :p1 :o1.
MUST NOT entail
a contradiction

Malformed literals are allowed when embedded.

malformed-literal-accepted 🔗

status:proposed
type:positive entailment test
regime:RDF
recognizing:xsd:integer
malformed-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "c"^^xsd:integer >> :p1 :o1.
MUST entail
malformed-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "c"^^xsd:integer >> :p1 :o1.

Malformed literals are allowed when embedded.

malformed-literal-no-spurious 🔗

status:proposed
type:negative entailment test
regime:RDF
recognizing:xsd:integer
malformed-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "c"^^xsd:integer >> :p1 :o1.
MUST NOT entail
malformed-literal-other.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "d"^^xsd:integer >> :p1 :o1.

Embedded malformed literals do not lead to spurious entailment.

malformed-literal-bnode 🔗

status:proposed
type:negative entailment test
regime:RDF
recognizing:xsd:integer
malformed-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "c"^^xsd:integer >> :p1 :o1.
MUST NOT entail
test002or.ttl
prefix : <http://example.com/ns#>

<< :a :b _:x >> :p1 :o1.

Malformed literals can not be replaced by blank nodes.

opaque-literal-control 🔗

status:proposed
type:positive entailment test
regime:RDF
recognizing:xsd:integer
non-canonical-literal-control.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

:a :b "042"^^xsd:integer.
MUST entail
canonical-literal-control.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

:a :b "42"^^xsd:integer.

Checks that xsd:integer is indeed recognized, to ensure that opaque-literal does not pass spuriously.

opaque-literal 🔗

status:proposed
type:negative entailment test
regime:RDF
recognizing:xsd:integer
non-canonical-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "042"^^xsd:integer >> :p1 :o1.
MUST NOT entail
canonical-literal.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "42"^^xsd:integer >> :p1 :o1.

Embedded literals are opaque, even when their datatype is recognized.

opaque-language-string-control 🔗

status:proposed
type:positive entailment test
regime:RDF
lowercase-language-string-control.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

:a :b "hello"@en-us.
MUST entail
upercase-language-string-control.ttl
prefix : <http://example.com/ns#>

:a :b "hello"@en-US.

Checks that language strings are indeed recognized, to ensure that opaque-language-string does not pass spuriously.

opaque-language-string 🔗

status:proposed
type:negative entailment test
regime:RDF
lowercase-language-string.ttl
prefix : <http://example.com/ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

<< :a :b "hello"@en-us >> :p1 :o1.
MUST NOT entail
upercase-language-string.ttl
prefix : <http://example.com/ns#>

<< :a :b "hello"@en-US >> :p1 :o1.

Embedded literals (including language strings) are opaque, even when their datatype is recognized.

opaque-iri-control 🔗

status:proposed
type:positive entailment test
regime:RDFS-Plus
control-sameas-a.ttl
prefix : <http://example.com/ns#>
prefix owl: <http://www.w3.org/2002/07/owl#>

:superman :can :fly .
:clark owl:sameAs :superman.
MUST entail
control-sameas-r.ttl
prefix : <http://example.com/ns#>

:clark :can :fly .

Check that owl:sameAs works as expected, to ensure that opaque-iri does not pass spuriously.

opaque-iri 🔗

status:proposed
type:negative entailment test
regime:RDFS-Plus
superman.ttl
prefix : <http://example.com/ns#>
prefix owl: <http://www.w3.org/2002/07/owl#>

<< :superman :can :fly >> :reportedBy :clark.
:clark owl:sameAs :superman.
MUST NOT entail
superman_undesired_entailment.ttl
prefix : <http://example.com/ns#>

<< :clark :can :fly >> :reportedBy :clark.

Embedded IRIs are opaque.

embedded-not-asserted 🔗

status:proposed
type:negative entailment test
regime:simple
test002a.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.
MUST NOT entail
test002pgr.ttl
prefix : <http://example.com/ns#>

:a :b :c.

Embedded triples are not asserted.

annotated-asserted 🔗

status:proposed
type:positive entailment test
regime:simple
test007a.ttl
prefix : <http://example.com/ns#>

:a :b :c {| :p1 :o1 |}.
MUST entail
test007r1.ttl
prefix : <http://example.com/ns#>

:a :b :c.

Annotated triples are asserted.

annotation 🔗

status:proposed
type:positive entailment test
regime:simple
test007a.ttl
prefix : <http://example.com/ns#>

:a :b :c {| :p1 :o1 |}.
MUST entail
test007r2.ttl
prefix : <http://example.com/ns#>

<< :a :b :c >> :p1 :o1.

Annotation are about the annotated triple.

annotation-unfolded 🔗

status:proposed
type:positive entailment test
regime:simple
test007a2.ttl
prefix : <http://example.com/ns#>

:a :b :c.
<< :a :b :c >> :p1 :o1.
MUST entail
test007a.ttl
prefix : <http://example.com/ns#>

:a :b :c {| :p1 :o1 |}.

Annotation is the same as separate assertions.