Abstract

This document report test subject conformance for and related specifications for RDF 1.2 Specifications Test Suites according to the requirements of the Evaluation and Report Language (EARL) 1.0 Schema [EARL10-SCHEMA].

This report is also available in alternate formats: JSON-LD

Status of This Document

This document is merely a W3C-internal document. It has no official standing of any kind and does not represent consensus of the W3C Membership.

This report describes the state of implementation conformance at the time of publication.

Table of Contents

Introduction

This implementation report covers the implementations of the RDF 1.2 specifications which have submitted test results. It is intended to be maintained by the RDF Tests Community Group, or a RDF & SPARQL Working Group if one is active. The implementation report serves two purposes:

  1. To demonstrate that there are multiple, independent implementations of the specifications. This is a prerequisite for progression of any standard to Recommendation.

  2. To catalog the known, conforming implementations and which features each supports.

There may be other RDF 1.2 implementations which are not listed in this report, either due to not submitting tests or by not being intended as direct implementations of the specification, but instead layering on top of such libraries.

Instructions for submitting implementation reports

Reports should be submitted in Turtle format to Public RDF & SPARQL WG or via a Pull Request to the w3c/rdf-tests.

Tests should be run using the test manifests defined in the Test Manifests Section.

The assumed base URI for the tests is <http://example/base/> if needed.

Include an earl:Assertion for each test, referencing the test resource from the associated manifest and the test subject being reported upon. See the example below:

  [ a earl:Assertion;
    earl:assertedBy <--your-developer-identifier-->;
    earl:subject <--your-software-identifier-->;
    earl:test <--uri-of-test-from-manifest>;
    earl:result [
      a earl:TestResult;
      earl:outcome earl:passed;
      dc:date "2016-12-26T10:18:04-08:00"^^xsd:dateTime];
    earl:mode earl:automatic ] .

The Test Subject should be defined as a doap:Project, including the name, homepage and developer(s) of the software (see DOAP). Optionally, including the project description and programming language. An example test subject description is the following:

  <> foaf:primaryTopic <--your-software-identifier--> ;
    dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
    foaf:maker <--your-developer-identifier--> .

  <--your-software-identifier--> a doap:Project, earl:TestSubject, earl:Software ;
    doap:name          "My Cool Turtle Parser" ;
    doap:release [
      doap:name     "--short name wih version number--";
      doap:revision "--Software version number--" ;
      doap:created  "2020-02-19"^^xsd:date;
    ] ;
    doap:developer     <--your-developer-identifier--> ;
    doap:homepage      <--your-software-homepace--> ;
    doap:description   "--your-project-description--"@en ;
    doap:programming-language "--your-implementation-language--" .

The software developer, either an organization or one or more individuals SHOULD be referenced from doap:developer using FOAF. For example:

  <--your-developer-identifier--> a foaf:Person, earl:Assertor;
    foaf:name "--My Name--";
    foaf:homepage <--my homepage--> .

3. Test Manifests

3.1 RDF 1.2 N-Quads Canonicalization Test Suite

Test rdf12conv
(Python)
Test comment_following_triple: C14N comment_following_triple PASS
Test extra_whitespace-01: C14N extra_whitespace-01 PASS
Test extra_whitespace-02: C14N extra_whitespace-02 PASS
Test extra_whitespace-03: C14N extra_whitespace-03 PASS
Test extra_whitespace-04: C14N extra_whitespace-04 PASS
Test langtagged_string: C14N langtagged_string PASS
Test dirlangtagged_string: C14N literal with base direction ltr PASS
Test literal_all_controls: C14N literal_all_controls PASS
Test literal_all_punctuation: C14N literal_all_punctuation PASS
Test literal_ascii_boundaries: C14N literal_ascii_boundaries PASS
Test literal_with_2_dquotes: C14N literal_with_2_dquotes PASS
Test literal_with_2_squotes: C14N literal_with_2_squotes PASS
Test literal_with_BACKSPACE: C14N literal_with_BACKSPACE PASS
Test literal_with_CARRIAGE_RETURN: C14N literal_with_CARRIAGE_RETURN PASS
Test literal_with_CHARACTER_TABULATION: C14N literal_with_CHARACTER_TABULATION PASS
Test literal_with_dquote: C14N literal_with_dquote PASS
Test literal_with_FORM_FEED: C14N literal_with_FORM_FEED PASS
Test literal_with_LINE_FEED: C14N literal_with_LINE_FEED PASS
Test literal_with_numeric_escape4: C14N literal_with_numeric_escape4 PASS
Test literal_with_numeric_escape8: C14N literal_with_numeric_escape8 PASS
Test literal_with_REVERSE_SOLIDUS: C14N literal_with_REVERSE_SOLIDUS PASS
Test literal_with_REVERSE_SOLIDUS2: C14N literal_with_REVERSE_SOLIDUS2 PASS
Test literal_with_squote: C14N literal_with_squote PASS
Test literal_with_string_dt: C14N literal_with_string_dt PASS
Test literal_with_extra_whitespace: C14N literal_with_extra_whitespace PASS
Test literal_with_UTF8_boundaries: C14N literal_with_UTF8_boundaries PASS
Test minimal_whitespace-01: C14N minimal_whitespace-01 PASS
Test minimal_whitespace-02: C14N minimal_whitespace-02 PASS
Test triple-term-01: C14N triple-term-01 PASS
Test triple-term-02: C14N triple-term-02 PASS
Test triple-term-03: C14N triple-term-03 PASS
Test triple-term-04: C14N triple-term-03 PASS
Test nq-syntax-uri-01: C14N nq-syntax-uri-01 PASS
Test nq-syntax-uri-02: C14N nq-syntax-uri-02 PASS
Test nq-syntax-uri-03: C14N nq-syntax-uri-03 PASS
Test nq-syntax-uri-04: C14N nq-syntax-uri-04 PASS
Test nq-syntax-str-esc-01: C14N nq-syntax-str-esc-01 PASS
Test nq-syntax-str-esc-02: C14N nq-syntax-str-esc-02 PASS
Test nq-syntax-str-esc-03: C14N nq-syntax-str-esc-03 PASS
Test literal_needing_uchar_escaping-01: C14N literal_needing_uchar_escaping-01 PASS
Test literal_needing_uchar_escaping-02: C14N literal_needing_uchar_escaping-02 PASS
Percentage passed out of 41 Tests 100.0%

3.2 RDF 1.2 N-Quads Syntax Tests

Test rdf12conv
(Python)
n3
(JavaScript)
Test nquads12-01: N-Quads-12 - object triple term PASS PASS
Test nquads12-02: N-Quads-12 - object triple term, no whitespace PASS PASS
Test nquads12-03: N-Quads-12 - Nested, no whitespace PASS PASS
Test nquads12-bnode-1: N-Quads-12 - Blank node subject PASS PASS
Test nquads12-nested-1: N-Quads-12 - Nested object term PASS PASS
Test nquads-langdir-1: N-Quads literal with base direction ltr PASS PASS
Test nquads-langdir-2: N-Quads literal with base direction rtl PASS PASS
Test nquads12-bad-01: N-Quads-12 - Bad - reified triple as predicate PASS PASS
Test nquads12-bad-02: N-Quads-12 - Bad - reified triple, literal subject PASS PASS
Test nquads12-bad-03: N-Quads-12 - Bad - reified triple, literal predicate PASS PASS
Test nquads12-bad-04: N-Quads-12 - Bad - reified triple, blank node predicate PASS PASS
Test nquads12-bad-05: N-Quads-12 - Bad - triple term as predicate PASS PASS
Test nquads12-bad-06: N-Quads-12 - Bad - triple term, literal subject PASS PASS
Test nquads12-bad-07: N-Quads-12 - Bad - triple term, literal predicate PASS PASS
Test nquads12-bad-08: N-Quads-12 - Bad - triple term, blank node predicate PASS PASS
Test nquads12-bad-09: N-Quads-12 - Bad - reified triple object PASS PASS
Test nquads12-bad-10: N-Quads-12 - Bad - triple term as subject PASS PASS
Test nquads12-bad-reified-1: N-Quads-12 - Bad - subject reified triple PASS PASS
Test nquads12-bad-reified-2: N-Quads-12 - Bad - object reified triple PASS PASS
Test nquads12-bad-reified-3: N-Quads-12 - Bad - subject and object reified triples PASS PASS
Test nquads12-bad-reified-4: N-Quads-12 - Bad - predicate reified triple PASS PASS
Test nquads12-bnode-bad-annotated-syntax-1: N-Quads-12 - Bad - annotated triple, blank node subject PASS PASS
Test nquads12-bnode-bad-annotated-syntax-2: N-Quads-12 - Bad - annotated triple, blank node object PASS PASS
Test nquads12-nested-bad-annotated-syntax-1: N-Quads-12 - Bad - annotated triple, nested subject term PASS PASS
Test nquads12-nested-bad-annotated-syntax-2: N-Quads-12 - Bad - annotated triple, nested object term PASS PASS
Test nquads-langdir-bad-1: N-Quads literal- Bad - undefined base direction PASS PASS
Test nquads-langdir-bad-2: N-Quads literal- Bad - upper case LTR PASS PASS
Percentage passed out of 27 Tests 100.0% 100.0%

3.3 RDF 1.2 N-Triples Canonicalization Test Suite

Test rdf12conv
(Python)
Test comment_following_triple: C14N comment_following_triple PASS
Test extra_whitespace-01: C14N extra_whitespace-01 PASS
Test extra_whitespace-02: C14N extra_whitespace-02 PASS
Test extra_whitespace-03: C14N extra_whitespace-03 PASS
Test extra_whitespace-04: C14N extra_whitespace-04 PASS
Test langtagged_string: C14N langtagged_string PASS
Test dirlangtagged_string: C14N literal with base direction ltr PASS
Test literal_all_controls: C14N literal_all_controls PASS
Test literal_all_punctuation: C14N literal_all_punctuation PASS
Test literal_ascii_boundaries: C14N literal_ascii_boundaries PASS
Test literal_with_2_dquotes: C14N literal_with_2_dquotes PASS
Test literal_with_2_squotes: C14N literal_with_2_squotes PASS
Test literal_with_BACKSPACE: C14N literal_with_BACKSPACE PASS
Test literal_with_CARRIAGE_RETURN: C14N literal_with_CARRIAGE_RETURN PASS
Test literal_with_CHARACTER_TABULATION: C14N literal_with_CHARACTER_TABULATION PASS
Test literal_with_dquote: C14N literal_with_dquote PASS
Test literal_with_FORM_FEED: C14N literal_with_FORM_FEED PASS
Test literal_with_LINE_FEED: C14N literal_with_LINE_FEED PASS
Test literal_with_numeric_escape4: C14N literal_with_numeric_escape4 PASS
Test literal_with_numeric_escape8: C14N literal_with_numeric_escape8 PASS
Test literal_with_REVERSE_SOLIDUS: C14N literal_with_REVERSE_SOLIDUS PASS
Test literal_with_REVERSE_SOLIDUS2: C14N literal_with_REVERSE_SOLIDUS2 PASS
Test literal_with_squote: C14N literal_with_squote PASS
Test literal_with_string_dt: C14N literal_with_string_dt PASS
Test literal_with_extra_whitespace: C14N literal_with_extra_whitespace PASS
Test literal_with_UTF8_boundaries: C14N literal_with_UTF8_boundaries PASS
Test minimal_whitespace-01: C14N minimal_whitespace-01 PASS
Test minimal_whitespace-02: C14N minimal_whitespace-02 PASS
Test triple-term-01: C14N triple-term-01 PASS
Test triple-term-02: C14N triple-term-02 PASS
Test triple-term-03: C14N triple-term-03 PASS
Test triple-term-04: C14N triple-term-04 PASS
Test nt-syntax-uri-01: C14N nt-syntax-uri-01 PASS
Test nt-syntax-uri-02: C14N nt-syntax-uri-02 PASS
Test nt-syntax-uri-03: C14N nt-syntax-uri-03 PASS
Test nt-syntax-uri-04: C14N nt-syntax-uri-04 PASS
Test nt-syntax-str-esc-01: C14N nt-syntax-str-esc-01 PASS
Test nt-syntax-str-esc-02: C14N nt-syntax-str-esc-02 PASS
Test nt-syntax-str-esc-03: C14N nt-syntax-str-esc-03 PASS
Test literal_needing_uchar_escaping-01: C14N literal_needing_uchar_escaping-01 PASS
Test literal_needing_uchar_escaping-02: C14N literal_needing_uchar_escaping-02 PASS
Percentage passed out of 41 Tests 100.0%

3.4 RDF 1.2 N-Triples Syntax Tests

Test rdf12conv
(Python)
n3
(JavaScript)
Test ntriples12-01: N-Triples-12 - object triple term PASS PASS
Test ntriples12-02: N-Triples-12 - object triple term, no whitespace PASS PASS
Test ntriples12-03: N-Triples-12 - Nested, no whitespace PASS PASS
Test ntriples12-bnode-1: N-Triples-12 - Blank node subject PASS PASS
Test ntriples12-nested-1: N-Triples-12 - Nested object term PASS PASS
Test ntriples-langdir-1: N-Triples literal with base direction ltr PASS PASS
Test ntriples-langdir-2: N-Triples literal with base direction rtl PASS PASS
Test ntriples12-bad-01: N-Triples-12 - Bad - reified triple as predicate PASS PASS
Test ntriples12-bad-02: N-Triples-12 - Bad - reified triple, literal subject PASS PASS
Test ntriples12-bad-03: N-Triples-12 - Bad - reified triple, literal predicate PASS PASS
Test ntriples12-bad-04: N-Triples-12 - Bad - reified triple, blank node predicate PASS PASS
Test ntriples12-bad-05: N-Triples-12 - Bad - triple term as predicate PASS PASS
Test ntriples12-bad-06: N-Triples-12 - Bad - triple term, literal subject PASS PASS
Test ntriples12-bad-07: N-Triples-12 - Bad - triple term, literal predicate PASS PASS
Test ntriples12-bad-08: N-Triples-12 - Bad - triple term, blank node predicate PASS PASS
Test ntriples12-bad-09: N-Triples-12 - Bad - reified triple object PASS PASS
Test ntriples12-bad-10: N-Triples-12 - Bad - triple term as subject PASS PASS
Test ntriples12-bad-iri-1: N-Triples - Bad - invalid IRI PASS PASS
Test ntriples12-bad-reified-1: N-Triples-12 - Bad - subject reified triple PASS PASS
Test ntriples12-bad-reified-2: N-Triples-12 - Bad - object reified triple PASS PASS
Test ntriples12-bad-reified-3: N-Triples-12 - Bad - subject and object reified triples PASS PASS
Test ntriples12-bad-reified-4: N-Triples-12 - Bad - predicate reified triple PASS PASS
Test ntriples12-bnode-bad-annotated-syntax-1: N-Triples-12 - Bad - annotated triple, blank node subject PASS PASS
Test ntriples12-bnode-bad-annotated-syntax-2: N-Triples-12 - Bad - annotated triple, blank node object PASS PASS
Test ntriples-langdir-bad-1: N-Triples literal- Bad - undefined base direction PASS PASS
Test ntriples-langdir-bad-2: N-Triples literal- Bad - upper case LTR PASS PASS
Test ntriples-langdir-bad-3: N-Triples - Bad - literal with missing language tag PASS PASS
Test ntriples-langdir-bad-4: N-Triples - Bad - literal with bad language tag PASS PASS
Test ntriples-langdir-bad-5: N-Triples - Bad - literal with missing language tag and direction PASS PASS
Percentage passed out of 29 Tests 100.0% 100.0%

3.5 RDF 1.2 Semantics tests

These test suites are a product of the [W3C RDF & SPARQL Working Group](https://www.w3.org/groups/wg/rdf-star/) 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](https://www.w3.org/community/rdf-tests/)
at [https://github.com/w3c/rdf-tests/tree/main/rdf/rdf11](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.
Test
Test all-identical-triple-terms-are-the-same: all-identical-triple-terms-are-the-same
Test triple-terms-no-spurious: triple-terms-no-spurious
Test bnodes-in-triple-term-subject: bnodes-in-triple-term-subject
Test bnodes-in-triple-term-object: bnodes-in-triple-term-object
Test bnodes-in-triple-term-subject-and-object: bnodes-in-triple-term-subject-and-object
Test bnodes-in-triple-term-subject-and-object-fail: bnodes-in-triple-term-subject-and-object-fail
Test same-bnode-same-triple-term: same-bnode-same-quoted-term
Test different-bnodes-same-triple-term: different-bnodes-same-triple-term
Test constrained-bnodes-in-triple-term-subject: constrained-bnodes-in-triple-term-subject
Test constrained-bnodes-in-triple-term-object: constrained-bnodes-in-triple-term-object
Test constrained-bnodes-in-triple-term-fail: constrained-bnodes-in-triple-term-fail
Test constrained-bnodes-on-literal: constrained-bnodes-on-literal
Test malformed-literal: malformed-literal
Test opaque-literal: opaque-literal
Test opaque-language-string: opaque-language-string
Test opaque-dir-language-string: opaque-dir-language-string
Test triple-term-not-asserted: triple-term-not-asserted
Test annotated-asserted: annotated-asserted
Test annotation: annotation
Test annotation-unfolded: annotation-unfolded
Test json-array-ordered: json-array-unordered
Test json-object-unordered: json-object-unordered
Test json-zero: json-zero
Test json-zero-array: json-zero-array
Test json-round-different: json-round-different
Test json-round-same: json-round-same
Test json-infinity: json-infinity
Test triple-terms-propositions: triple-terms-propositions
Test reifies-range: reifies-range
Percentage passed out of 29 Tests

3.6 RDF 1.2 TriG Evaluation Tests

Test rdf12conv
(Python)
Test trig12-rt-01: TriG 1.2 - subject reification PASS
Test trig12-rt-02: TriG 1.2 - object reification PASS
Test trig12-rt-03: TriG 1.2 - subject reification with identifier PASS
Test trig12-rt-04: TriG 1.2 - object reification with identifier PASS
Test trig12-rt-05: TriG 1.2 - subject reification with bnode identifier PASS
Test trig12-rt-06: TriG 1.2 - object reification with bnode identifier PASS
Test trig12-rt-07: TriG 1.2 - subject reification with empty identifier PASS
Test trig12-rt-08: TriG 1.2 - object reification with empty identifier PASS
Test trig12-bnode-1: TriG 1.2 - blank node label PASS
Test trig12-bnode-2: TriG 1.2 - blank node labels PASS
Test trig12-annotation-01: TriG 1.2 - Annotation form PASS
Test trig12-annotation-02: TriG 1.2 - Annotation example PASS
Test trig12-annotation-03: TriG 1.2 - Annotation - predicate and object lists PASS
Test trig12-annotation-04: TriG 1.2 - Annotation - nested PASS
Test trig12-annotation-05: TriG 1.2 - Annotation object list PASS
Test trig12-annotation-06: TriG 1.2 - Annotation with identifier PASS
Test trig12-annotation-07: TriG 1.2 - Different annotations have different default identifiers PASS
Test trig12-annotation-08: TriG 1.2 - Annotation form with explicit identifier PASS
Test trig12-annotation-09: TriG 1.2 - Annotation form with multiple reifiers PASS
Test trig12-annotation-10: TriG 1.2 - Annotation form with multiple annotation blocks PASS
Test trig12-annotation-11: TriG 1.2 - Annotation form with annotation block followed by reifier PASS
Test trig12-annotation-12: TriG 1.2 - Annotation form with alternating reifiers and annotation blocks PASS
Test trig12-annotation-13: TriG 1.2 - Annotation form with IRI reifier PASS
Test trig12-reified-triples-annotation-01: TriG 1.2 - Annotation with reified triples PASS
Test trig12-reified-triples-annotation-02: TriG 1.2 - Annotation on triple with reified triple subject PASS
Test trig12-reified-triples-annotation-03: TriG 1.2 - Annotation on triple with reified triple object PASS
Percentage passed out of 26 Tests 100.0%

3.7 RDF 1.2 TriG Syntax Tests

Test rdf12conv
(Python)
n3
(JavaScript)
Test trig12-1: TriG 1.2 - subject reified triple PASS PASS
Test trig12-2: TriG 1.2 - object reified triple PASS PASS
Test trig12-3: TriG 1.2 - triple term object PASS PASS
Test trig12-4: TriG 1.2 - reified triple outside triple PASS PASS
Test trig12-inside-1: TriG 1.2 - reified triple inside blankNodePropertyList PASS PASS
Test trig12-inside-2: TriG 1.2 - reified triple inside collection PASS PASS
Test trig12-inside-3: TriG 1.2 - reified triple with IRI identifier PASS PASS
Test trig12-inside-4: TriG 1.2 - reified triple with blank node identifier PASS PASS
Test trig12-nested-1: TriG 1.2 - nested quoted triple, subject position PASS PASS
Test trig12-nested-2: TriG 1.2 - nested quoted triple, object position PASS PASS
Test trig12-compound-1: TriG 1.2 - compound forms PASS PASS
Test trig12-bnode-1: TriG 1.2 - blank node subject PASS PASS
Test trig12-bnode-2: TriG 1.2 - blank node object PASS PASS
Test trig12-bnode-3: TriG 1.2 - blank node PASS PASS
Test trig12-bad-1: TriG 1.2 - bad - reified triple as predicate PASS PASS
Test trig12-bad-2: TriG 1.2 - bad - literal in subject position of reified triple PASS PASS
Test trig12-bad-3: TriG 1.2 - bad - blank node as predicate in reified triple PASS PASS
Test trig12-bad-4: TriG 1.2 - bad - incomplete reified triple PASS PASS
Test trig12-bad-5: TriG 1.2 - bad - over-long reified triple PASS PASS
Test trig12-bad-6: TriG 1.2 - bad - reified with list object PASS PASS
Test trig12-bad-7: TriG 1.2 - bad - compound blank node expression PASS PASS
Test trig12-ann-1: TriG 1.2 - Annotation form PASS PASS
Test trig12-ann-2: TriG 1.2 - Annotation example PASS PASS
Test trig12-ann-3: TriG 1.2 - Annotation predicateObjecetList PASS PASS
Test trig12-ann-4: TriG 1.2 - Annotation followed by predicate/object PASS PASS
Test trig12-ann-5: TriG 1.2 - Reifier without annotation block PASS PASS
Test trig12-ann-6: TriG 1.2 - Empty reifier without annotation block PASS PASS
Test trig12-ann-7: TriG 1.2 - Reifier with annotation block PASS PASS
Test trig12-ann-8: TriG 1.2 - Empty reifier with annotation block PASS PASS
Test trig12-bad-ann-1: TriG 1.2 - bad - empty annotation PASS PASS
Test trig12-bad-ann-2: TriG 1.2 - bad - triple as annotation PASS PASS
Test trig12-base-1: base direction ltr PASS PASS
Test trig12-base-2: base direction ltr PASS PASS
Test trig12-base-bad-1: undefined base direction PASS PASS
Test trig12-base-bad-2: upper case LTR PASS PASS
Percentage passed out of 35 Tests 100.0% 100.0%

3.8 RDF 1.2 Turtle Evaluation Tests

Test rdf12conv
(Python)
Test turtle12-rt-01: Turtle 1.2 - subject reification PASS
Test turtle12-rt-02: Turtle 1.2 - object reification PASS
Test turtle12-rt-03: Turtle 1.2 - subject reification with identifier PASS
Test turtle12-rt-04: Turtle 1.2 - object reification with identifier PASS
Test turtle12-rt-05: Turtle 1.2 - subject reification with bnode identifier PASS
Test turtle12-rt-06: Turtle 1.2 - object reification with bnode identifier PASS
Test turtle12-rt-07: Turtle 1.2 - subject reification with empty identifier PASS
Test turtle12-rt-08: Turtle 1.2 - object reification with empty identifier PASS
Test turtle12-rt-09: Turtle 1.2 - literals in object position PASS
Test turtle12-bnode-01: Turtle 1.2 - blank node label PASS
Test turtle12-bnode-02: Turtle 1.2 - blank node labels PASS
Test turtle12-tt-01: Turtle 1.2 - object triple term PASS
Test turtle12-tt-02: Turtle 1.2 - object triple term, no whitespace PASS
Test turtle12-tt-03: Turtle 1.2 - Nested, no whitespace PASS
Test turtle12-tt-04: Turtle 1.2 - Nested object term PASS
Test turtle12-tt-05: Turtle 1.2 - literals in object position PASS
Test turtle12-annotation-01: Turtle 1.2 - Annotation form PASS
Test turtle12-annotation-02: Turtle 1.2 - Annotation example PASS
Test turtle12-annotation-03: Turtle 1.2 - Annotation - predicate and object lists PASS
Test turtle12-annotation-04: Turtle 1.2 - Annotation - nested PASS
Test turtle12-annotation-05: Turtle 1.2 - Annotation object list PASS
Test turtle12-annotation-06: Turtle 1.2 - Annotation with identifier PASS
Test turtle12-annotation-07: Turtle 1.2 - Different annotations have different default identifiers PASS
Test turtle12-annotation-08: Turtle 1.2 - Annotation form with explicit identifier PASS
Test turtle12-annotation-09: Turtle 1.2 - Annotation form with multiple reifiers PASS
Test turtle12-annotation-10: Turtle 1.2 - Annotation form with multiple annotation blocks PASS
Test turtle12-annotation-11: Turtle 1.2 - Annotation form with annotation block followed by reifier PASS
Test turtle12-annotation-12: Turtle 1.2 - Annotation form with alternating reifiers and annotation blocks PASS
Test turtle12-annotation-13: Turtle 1.2 - Annotation form with IRI refier PASS
Test turtle12-reified-triples-annotation-01: Turtle 1.2 - Annotation with reified triples PASS
Test turtle12-reified-triples-annotation-02: Turtle 1.2 - Annotation on triple with reified triple subject PASS
Test turtle12-reified-triples-annotation-03: Turtle 1.2 - Annotation on triple with reified triple object PASS
Percentage passed out of 32 Tests 100.0%

3.9 RDF 1.2 Turtle Syntax Tests

Test rdf12conv
(Python)
n3
(JavaScript)
Test turtle12-1: Turtle 1.2 - subject reified triple PASS PASS
Test turtle12-2: Turtle 1.2 - object reified triple PASS PASS
Test turtle12-3: Turtle 1.2 - triple term object PASS PASS
Test turtle12-4: Turtle 1.2 - reified triple outside triple PASS PASS
Test turtle12-5: Turtle 1.2 - reified triple with literal object PASS PASS
Test turtle12-6: Turtle 1.2 - reified triple with keyword object PASS PASS
Test turtle12-7: Turtle 1.2 - triple term with literal object PASS PASS
Test turtle12-8: Turtle 1.2 - triple term with keyword object PASS PASS
Test turtle12-inside-1: Turtle 1.2 - reified triple inside blankNodePropertyList PASS PASS
Test turtle12-inside-2: Turtle 1.2 - reified triple inside collection PASS PASS
Test turtle12-inside-3: Turtle 1.2 - reified triple with IRI identifier PASS PASS
Test turtle12-inside-4: Turtle 1.2 - reified triple with blank node identifier PASS PASS
Test turtle12-nested-1: Turtle 1.2 - nested reified triple, subject position PASS PASS
Test turtle12-nested-2: Turtle 1.2 - nested reified triple, object position PASS PASS
Test turtle12-compound-1: Turtle 1.2 - compound forms PASS PASS
Test turtle12-bnode-1: Turtle 1.2 - blank node subject PASS PASS
Test turtle12-bnode-2: Turtle 1.2 - blank node object PASS PASS
Test turtle12-bnode-3: Turtle 1.2 - blank node PASS PASS
Test turtle12-bad-1: Turtle 1.2 - bad - reified triple as predicate PASS PASS
Test turtle12-bad-2: Turtle 1.2 - bad - literal in subject position of reified triple PASS PASS
Test turtle12-bad-3: Turtle 1.2 - bad - blank node as predicate in reified triple PASS PASS
Test turtle12-bad-4: Turtle 1.2 - bad - incomplete reified triple PASS PASS
Test turtle12-bad-5: Turtle 1.2 - bad - over-long reified triple PASS PASS
Test turtle12-bad-6: Turtle 1.2 - bad - reified with list object PASS PASS
Test turtle12-bad-7: Turtle 1.2 - bad - compound blank node expression PASS PASS
Test turtle12-ann-1: Turtle 1.2 - Annotation form PASS PASS
Test turtle12-ann-2: Turtle 1.2 - Annotation example PASS PASS
Test turtle12-ann-3: Turtle 1.2 - Annotation predicateObjecetList PASS PASS
Test turtle12-ann-4: Turtle 1.2 - Annotation followed by predicate/object PASS PASS
Test turtle12-ann-5: Turtle 1.2 - Reifier without annotation block PASS PASS
Test turtle12-ann-6: Turtle 1.2 - Empty reifier without annotation block PASS PASS
Test turtle12-ann-7: Turtle 1.2 - Reifier with annotation block PASS PASS
Test turtle12-ann-8: Turtle 1.2 - Empty reifier with annotation block PASS PASS
Test turtle12-bad-ann-1: Turtle 1.2 - bad - empty annotation PASS PASS
Test turtle12-bad-ann-2: Turtle 1.2 - bad - triple as annotation PASS PASS
Test nt-ttl12-1: N-Triples 1.2 as Turtle 1.2 - triple term PASS PASS
Test nt-ttl12-2: N-Triples 1.2 as Turtle 1.2 - whitespace and terms PASS PASS
Test nt-ttl12-3: N-Triples 1.2 as Turtle 1.2 - Nested, no whitespace PASS PASS
Test nt-ttl12-bnode-1: N-Triples 1.2 as Turtle 1.2 - Blank node object PASS PASS
Test nt-ttl12-nested-1: N-Triples 1.2 as Turtle 1.2 - Nested subject term PASS PASS
Test nt-ttl12-langdir-1: N-Triples 1.2 as Turtle 1.2 - base direction ltr PASS PASS
Test nt-ttl12-langdir-2: N-Triples 1.2 as Turtle 1.2 - base direction ltr PASS PASS
Test nt-ttl12-langdir-bad-1: N-Triples 1.2 as Turtle 1.2 - undefined base direction PASS PASS
Test nt-ttl12-langdir-bad-2: N-Triples 1.2 as Turtle 1.2 - upper case LTR PASS PASS
Test nt-ttl12-bad-01: N-Triples 1.2 as Turtle 1.2 - Bad - triple term as predicate PASS PASS
Test nt-ttl12-bad-02: N-Triples 1.2 as Turtle 1.2 - Bad - triple term, literal subject PASS PASS
Test nt-ttl12-bad-03: N-Triples 1.2 as Turtle 1.2 - Bad - triple term, literal predicate PASS PASS
Test nt-ttl12-bad-04: N-Triples 1.2 as Turtle 1.2 - Bad - triple term, blank node predicate PASS PASS
Test nt-ttl12-bad-05: N-Triples 1.2 as Turtle 1.2 - Bad - triple term as subject PASS PASS
Test nt-ttl12-bad-06: N-Triples 1.2 as Turtle 1.2 - Bad - reified triple as predicate PASS PASS
Test nt-ttl12-bad-07: N-Triples 1.2 as Turtle 1.2 - Bad - reified triple, literal subject PASS PASS
Test nt-ttl12-bad-08: N-Triples 1.2 as Turtle 1.2 - Bad - reified triple, literal predicate PASS PASS
Test nt-ttl12-bad-09: N-Triples 1.2 as Turtle 1.2 - Bad - reified triple, blank node predicate PASS FAIL
Test turtle12-version-01: Turtle 1.2 - VERSION PASS PASS
Test turtle12-version-02: Turtle 1.2 - @version PASS PASS
Test turtle12-version-03: Turtle 1.2 - VERSION in data PASS PASS
Test turtle12-version-04: Turtle 1.2 - @version in data PASS PASS
Test turtle12-version-05: Turtle 1.2 - VERSION other version string PASS PASS
Test turtle12-version-06: Turtle 1.2 - @version other version string PASS PASS
Test turtle12-version-07: Turtle 1.2 - mixed versions PASS PASS
Test turtle12-version-08: Turtle 1.2 - many versions PASS PASS
Test turtle12-version-bad-01: Turtle 1.2 - VERSION - not string PASS PASS
Test turtle12-version-bad-02: Turtle 1.2 - VERSION - triple-&#39;-quoted string PASS PASS
Test turtle12-version-bad-03: Turtle 1.2 - VERSION - triple-&quot;-quoted string PASS PASS
Test turtle12-version-bad-04: Turtle 1.2 - @version - not string PASS PASS
Test turtle12-version-bad-05: Turtle 1.2 - @version - triple-&#39;-quoted string PASS PASS
Test turtle12-version-bad-06: Turtle 1.2 - @version - triple-&quot;-quoted string PASS PASS
Test turtle12-surrogate-pair-bad-01: Turtle 1.2 - Bad - Surrogate pair numeric escape sequence FAIL PASS
Test turtle12-surrogate-pair-bad-02: Turtle 1.2 - Bad - Surrogate pair via numeric escape sequence FAIL PASS
Test turtle12-surrogates-bad-01: Turtle 1.2 - Bad - Surrogates - wrong order PASS PASS
Test turtle12-surrogates-bad-02: Turtle 1.2 - Bad - Surrogates - high-high PASS PASS
Test turtle12-surrogates-bad-03: Turtle 1.2 - Bad - Surrogates - low-low PASS PASS
Test turtle12-surrogates-bad-04: Turtle 1.2 - Bad - Surrogates - lone high surrogate PASS PASS
Test turtle12-surrogates-bad-05: Turtle 1.2 - Bad - Surrogates - lone low surrogate PASS PASS
Percentage passed out of 74 Tests 97.3% 98.6%

3.10 RDF 1.2 XML Evaluation Tests

Test rdfxml-streaming-parser
(JavaScript)
Test rdf12-xml-dir-01: rdf12-xml-dir-01 PASS
Test rdf12-xml-dir-02: rdf12-xml-dir-02 PASS
Test rdf12-xml-dir-03: rdf12-xml-dir-03 PASS
Test rdf12-xml-dir-04: rdf12-xml-dir-04 PASS
Test rdf12-xml-dir-05: rdf12-xml-dir-05 PASS
Test rdf12-xml-dir-06: rdf12-xml-dir-06 PASS
Test rdf12-xml-tt-01: rdf12-xml-tt-01 PASS
Test rdf12-xml-tt-02: rdf12-xml-tt-02 PASS
Test rdf12-xml-tt-03: rdf12-xml-tt-03 PASS
Test rdf12-xml-tt-04: rdf12-xml-tt-04 PASS
Test rdf12-xml-tt-05: rdf12-xml-tt-05 PASS
Test rdf12-xml-tt-06: rdf12-xml-tt-06 PASS
Test rdf12-xml-tt-07: rdf12-xml-tt-07 PASS
Test rdf12-xml-tt-08: rdf12-xml-tt-08 PASS
Test rdf12-xml-an-01: rdf12-xml-an-01 PASS
Test rdf12-xml-an-02: rdf12-xml-an-02 PASS
Test rdf12-xml-an-03: rdf12-xml-an-03 PASS
Test rdf12-xml-an-04: rdf12-xml-an-04 PASS
Test rdf12-xml-an-05: rdf12-xml-an-05 PASS
Test rdf12-xml-an-06: rdf12-xml-an-06 PASS
Test rdf12-xml-an-07: rdf12-xml-an-07 PASS
Test rdf12-xml-an-08: rdf12-xml-an-08 PASS
Test rdf12-xml-an-09: rdf12-xml-an-09 PASS
Test rdf12-xml-an-10: rdf12-xml-an-10 PASS
Test rdf12-xml-an-11: rdf12-xml-an-11 PASS
Test rdf12-xml-an-12: rdf12-xml-an-12 PASS
Test rdf12-xml-an-13: rdf12-xml-an-13 PASS
Test rdf12-xml-an-14: rdf12-xml-an-14 PASS
Test rdf12-xml-an-15: rdf12-xml-an-15 PASS
Test rdf12-xml-an-16: rdf12-xml-an-16 PASS
Test rdf12-xml-an-reif-01: rdf12-xml-an-reif-01.rdf PASS
Percentage passed out of 31 Tests 100.0%

A. Test Subjects

This report was tested using the following test subjects:

A.1 rdf12conv
Release
unknown
Programming Language
Python
Home Page
https://github.com/domel/rdf12conv
Developer
Test Suite Compliance
RDF 1.2 N-Quads Canonicalization Test Suite 41/41 (100.0%)
RDF 1.2 N-Quads Syntax Tests 27/27 (100.0%)
RDF 1.2 N-Triples Canonicalization Test Suite 41/41 (100.0%)
RDF 1.2 N-Triples Syntax Tests 29/29 (100.0%)
RDF 1.2 TriG Evaluation Tests 26/26 (100.0%)
RDF 1.2 TriG Syntax Tests 35/35 (100.0%)
RDF 1.2 Turtle Evaluation Tests 32/32 (100.0%)
RDF 1.2 Turtle Syntax Tests 72/74 (97.3%)
A.2 n3
Description
Lightning fast, asynchronous, streaming Turtle / N3 / RDF library.
Release
unknown
Programming Language
JavaScript
Home Page
https://github.com/rdfjs/N3.js
Developer
Test Suite Compliance
RDF 1.2 N-Quads Syntax Tests 27/27 (100.0%)
RDF 1.2 N-Triples Syntax Tests 29/29 (100.0%)
RDF 1.2 TriG Syntax Tests 35/35 (100.0%)
RDF 1.2 Turtle Syntax Tests 73/74 (98.6%)
A.3 rdfxml-streaming-parser
Description
Streaming RDF/XML parser
Release
unknown
Programming Language
JavaScript
Home Page
https://github.com/rdfjs/rdfxml-streaming-parser.js#readme
Developer
Test Suite Compliance
RDF 1.2 XML Evaluation Tests 31/31 (100.0%)

B. Individual Test Results

Individual test results used to construct this report are available here:

C. Report Generation Software

This report generated by earl-report version 0.9.1 is a Ruby application freely available under the generous terms of the Unlicense. More information is available at https://github.com/gkellogg/earl-report .

This software is provided by Gregg Kellogg in hopes that it might make the lives of conformance testers easier.