Abstract

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

This report is also available in alternate formats: Turtle 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-star specification which have submitted test results. It is intended to be maintained by the RDF-DEV Community Group. 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.

Instructions for submitting implementation reports

Reports should be submitted in Turtle format to RDF-DEV CG or via a Pull Request to the w3c/rdf-star.

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 JSON-LD 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 N-Triples-star Syntax Tests

Test Ruby RDF::Turtle
(Ruby)
Test ntriples-star-1: N-Triples-star - subject embedded triple PASS
Test ntriples-star-2: N-Triples-star - object embedded triple PASS
Test ntriples-star-3: N-Triples-star - subject and object embedded triples PASS
Test ntriples-star-4: N-Triples-star - whitespace and terms PASS
Test ntriples-star-5: N-Triples-star - Nested, no whitespace PASS
Test ntriples-star-bnode-1: N-Triples-star - Blank node subject PASS
Test ntriples-star-bnode-2: N-Triples-star - Blank node object PASS
Test ntriples-star-nested-1: N-Triples-star - Nested subject term PASS
Test ntriples-star-nested-2: N-Triples-star - Nested object term PASS
Test ntriples-star-bad-1: N-Triples-star - Bad - embedded triple as predicate PASS
Test ntriples-star-bad-2: N-Triples-star - Bad - embedded triple, literal subject PASS
Test ntriples-star-bad-3: N-Triples-star - Bad - embedded triple, literal predicate PASS
Test nt-ttl-star-1: N-Triples-star as Turtle-star - subject embedded triple PASS
Test nt-ttl-star-2: N-Triples-star as Turtle-star - object embedded triple PASS
Test nt-ttl-star-3: N-Triples-star as Turtle-star - subject and object embedded triples PASS
Test nt-ttl-star-4: N-Triples-star as Turtle-star - whitespace and terms PASS
Test nt-ttl-star-5: N-Triples-star as Turtle-star - Nested, no whitespace PASS
Test nt-ttl-star-bnode-1: N-Triples-star as Turtle-star - Blank node subject PASS
Test nt-ttl-star-bnode-2: N-Triples-star as Turtle-star - Blank node object PASS
Test nt-ttl-star-nested-1: N-Triples-star as Turtle-star - Nested subject term PASS
Test nt-ttl-star-nested-2: N-Triples-star as Turtle-star - Nested object term PASS
Test nt-ttl-star-bad-1: N-Triples-star as Turtle-star - Bad - embedded triple as predicate PASS
Test nt-ttl-star-bad-2: N-Triples-star as Turtle-star - Bad - embedded triple, literal subject PASS
Test nt-ttl-star-bad-3: N-Triples-star as Turtle-star - Bad - embedded triple, literal predicate PASS
Percentage passed out of 24 Tests 100.0%

3.2 RDF-star Semantics tests

Test EYE
(Prolog)
Test triple-in-subject: triple-in-subject PASS
Test triple-in-object: triple-in-object PASS
Test all-identical-embedded-triples-are-the-same: all-identical-embedded-triples-are-the-same PASS
Test embedded-triples-no-spurious: embedded-triples-no-spurious PASS
Test bnodes-in-embedded-subject: bnodes-in-embedded-subject PASS
Test bnodes-in-embedded-object: bnodes-in-embedded-object PASS
Test bnodes-in-embedded-subject-and-object: bnodes-in-embedded-subject-and-object PASS
Test bnodes-in-embedded-subject-and-object-fail: bnodes-in-embedded-subject-and-object-fail PASS
Test same-bnode-same-embedded-term: same-bnode-same-embedded-term PASS
Test different-bnodes-same-embedded-term: different-bnodes-same-embedded-term PASS
Test constrained-bnodes-in-embedded-subject: constrained-bnodes-in-embedded-subject PASS
Test constrained-bnodes-in-embedded-object: constrained-bnodes-in-embedded-object PASS
Test constrained-bnodes-in-embedded-fail: constrained-bnodes-in-embedded-fail PASS
Test constrained-bnodes-on-literal: constrained-bnodes-on-literal PASS
Test malformed-literal-control: malformed-literal-control FAIL
Test malformed-literal: malformed-literal FAIL
Test malformed-literal-accepted: malformed-literal-accepted PASS
Test malformed-literal-no-spurious: malformed-literal-no-spurious PASS
Test malformed-literal-bnode: malformed-literal-bnode PASS
Test malformed-literal-bnode-2: malformed-literal-bnode-2 PASS
Test malformed-literal-bnode-3: malformed-literal-bnode-3 PASS
Test opaque-literal-control: opaque-literal-control FAIL
Test opaque-literal: opaque-literal PASS
Test opaque-language-string-control: opaque-language-string-control PASS
Test opaque-language-string: opaque-language-string FAIL
Test opaque-iri-control: opaque-iri-control PASS
Test opaque-iri: opaque-iri PASS
Test embedded-not-asserted: embedded-not-asserted PASS
Test annotated-asserted: annotated-asserted PASS
Test annotation: annotation PASS
Test annotation-unfolded: annotation-unfolded PASS
Percentage passed out of 31 Tests 87.1%

3.3 SPARQL-star Evaluation Tests

Test Ruby SPARQL
(Ruby)
Test sparql-star-results-1j: SPARQL-star - all graph triples (JSON results) PASS
Test sparql-star-results-1x: SPARQL-star - all graph triples (XML results) PASS
Test sparql-star-basic-2: SPARQL-star - match constant embedded triple PASS
Test sparql-star-basic-3: SPARQL-star - match embedded triple, var subject PASS
Test sparql-star-basic-4: SPARQL-star - match embedded triple, var predicate PASS
Test sparql-star-basic-5: SPARQL-star - match embedded triple, var object PASS
Test sparql-star-basic-6: SPARQL-star - no match of embedded triple PASS
Test sparql-star-pattern-1: SPARQL-star - Asserted and embedded triple PASS
Test sparql-star-pattern-2: SPARQL-star - Asserted and embedded triple PASS
Test sparql-star-pattern-3: SPARQL-star - Pattern - Variable for embedded triple PASS
Test sparql-star-pattern-4: SPARQL-star - Pattern - No match PASS
Test sparql-star-pattern-5: SPARQL-star - Pattern - match variables in triple terms PASS
Test sparql-star-pattern-6: SPARQL-star - Pattern - Nesting 1 PASS
Test sparql-star-pattern-7: SPARQL-star - Pattern - Nesting - 2 PASS
Test sparql-star-pattern-8: SPARQL-star - Pattern - Match and nesting PASS
Test sparql-star-pattern-9: SPARQL-star - Pattern - Same variable PASS
Test sparql-star-construct-1: SPARQL-star - CONSTRUCT with constant template PASS
Test sparql-star-construct-2: SPARQL-star - CONSTRUCT WHERE with constant template PASS
Test sparql-star-construct-3: SPARQL-star - CONSTRUCT - about every triple PASS
Test sparql-star-construct-4: SPARQL-star - CONSTRUCT with annotation syntax PASS
Test sparql-star-construct-5: SPARQL-star - CONSTRUCT WHERE with annotation syntax PASS
Test sparql-star-graphs-1: SPARQL-star - GRAPH PASS
Test sparql-star-graphs-2: SPARQL-star - GRAPHs with blank node PASS
Test sparql-star-expr-1: SPARQL-star - Embedded triple - BIND - CONSTRUCT PASS
Test sparql-star-expr-2: SPARQL-star - Embedded triple - Functions PASS
Test sparql-star-order-1: SPARQL-star - Embedded triple ORDER BY PASS
Test sparql-star-update-1: SPARQL-star - Update PASS
Test sparql-star-update-2: SPARQL-star - Update - annotation PASS
Test sparql-star-update-3: SPARQL-star - Update - data PASS
Percentage passed out of 29 Tests 100.0%

3.4 SPARQL-star Syntax Tests

Test Ruby SPARQL
(Ruby)
Test sparql-star-1: SPARQL-star - subject embedded triple PASS
Test sparql-star-2: SPARQL-star - object embedded triple PASS
Test sparql-star-3: SPARQL-star - subject embedded triple - vars PASS
Test sparql-star-4: SPARQL-star - object embedded triple - vars PASS
Test sparql-star-5: SPARQL-star - Embedded triple in VALUES PASS
Test sparql-star-6: SPARQL-star - Embedded triple in CONSTRUCT PASS
Test sparql-star-7: SPARQL-star - Embedded triples in CONSTRUCT WHERE PASS
Test sparql-star-inside-1: SPARQL-star - embedded triple inside blankNodePropertyList PASS
Test sparql-star-inside-2: SPARQL-star - embedded triple inside collection PASS
Test sparql-star-nested-1: SPARQL-star - nested embedded triple, subject position PASS
Test sparql-star-nested-2: SPARQL-star - nested embedded triple, object position PASS
Test sparql-star-compound-1: SPARQL-star - compound forms PASS
Test sparql-star-bnode-1: SPARQL-star - blank node subject PASS
Test sparql-star-bnode-2: SPARQL-star - blank node object PASS
Test sparql-star-bnode-3: SPARQL-star - blank node PASS
Test sparql-star-ann-01: SPARQL-star - Annotation form PASS
Test sparql-star-ann-02: SPARQL-star - Annotation example PASS
Test sparql-star-ann-03: SPARQL-star - Annotation example PASS
Test sparql-star-ann-04: SPARQL-star - Annotation with embedding PASS
Test sparql-star-ann-05: SPARQL-star - Annotation on triple with embedded object PASS
Test sparql-star-ann-06: SPARQL-star - Annotation with path PASS
Test sparql-star-ann-07: SPARQL-star - Annotation with nested path PASS
Test sparql-star-ann-08: SPARQL-star - Annotation in CONSTRUCT PASS
Test sparql-star-ann-09: SPARQL-star - Annotation in CONSTRUCT WHERE PASS
Test sparql-star-expr-1: SPARQL-star - Expressions - Embedded triple PASS
Test sparql-star-expr-2: SPARQL-star - Expressions - Embedded triple PASS
Test sparql-star-expr-3: SPARQL-star - Expressions - Functions PASS
Test sparql-star-expr-4: SPARQL-star - Expressions - TRIPLE PASS
Test sparql-star-expr-5: SPARQL-star - Expressions - Functions PASS
Test sparql-star-expr-6: SPARQL-star - Expressions - BIND - CONSTRUCT PASS
Test sparql-star-bad-1: SPARQL-star - bad - embedded triple as predicate PASS
Test sparql-star-bad-2: SPARQL-star - bad - embedded triple outside triple PASS
Test sparql-star-bad-3: SPARQL-star - bad - collection list in embedded triple PASS
Test sparql-star-bad-4: SPARQL-star - bad - literal in subject position of embedded triple PASS
Test sparql-star-bad-5: SPARQL-star - bad - blank node as predicate in embedded triple PASS
Test sparql-star-bad-6: SPARQL-star - bad - compound blank node expression PASS
Test sparql-star-bad-7: SPARQL-star - bad - incomplete embedded triple PASS
Test sparql-star-bad-8: SPARQL-star - bad - quad embedded triple PASS
Test sparql-star-bad-9: SPARQL-star - bad - variable in embedded triple in VALUES PASS
Test sparql-star-bad-10: SPARQL-star - bad - blank node in embedded triple in VALUES PASS
Test sparql-star-bad-ann-1: SPARQL-star - bad - empty annotation PASS
Test sparql-star-bad-ann-2: SPARQL-star - bad - triples in annotation PASS
Test sparql-star-bad-ann-path-1: SPARQL-star - bad - path - seq PASS
Test sparql-star-bad-ann-path-2: SPARQL-star - bad - path - alt PASS
Test sparql-star-bad-ann-path-3: SPARQL-star - bad - path - p* PASS
Test sparql-star-bad-ann-path-4: SPARQL-star - bad - path - p+ PASS
Test sparql-star-bad-ann-path-5: SPARQL-star - bad - path - p? PASS
Test sparql-star-bad-ann-path-6: SPARQL-star - bad - path in CONSTRUCT PASS
Test sparql-star-bad-ann-path-7: SPARQL-star - bad - path in CONSTRUCT PASS
Test sparql-star-update-1: SPARQL-star - update PASS
Test sparql-star-update-2: SPARQL-star - update PASS
Test sparql-star-update-3: SPARQL-star - update PASS
Test sparql-star-update-4: SPARQL-star - update with embedding PASS
Test sparql-star-update-5: SPARQL-star - update with embedded object PASS
Test sparql-star-update-6: SPARQL-star - update with annotation template PASS
Test sparql-star-update-7: SPARQL-star - update with annotation, template and pattern PASS
Test sparql-star-update-8: SPARQL-star - update DATA with annotation PASS
Test sparql-star-bad-update-1: SPARQL-star - update - bad syntax PASS
Test sparql-star-bad-update-2: SPARQL-star - update - bad syntax PASS
Test sparql-star-bad-update-3: SPARQL-star - update - bad syntax PASS
Test sparql-star-bad-update-4: SPARQL-star - update - bad syntax PASS
Percentage passed out of 61 Tests 100.0%

3.5 Turtle-star Evaluation Tests

Test Ruby RDF::Turtle
(Ruby)
Test turtle-star-1: Turtle-star - subject embedded triple PASS
Test turtle-star-2: Turtle-star - object embedded triple PASS
Test turtle-star-bnode-1: Turtle-star - blank node label PASS
Test turtle-star-bnode-2: Turtle-star - blank node labels PASS
Test turtle-star-annotation-1: Turtle-star - Annotation form PASS
Test turtle-star-annotation-2: Turtle-star - Annotation example PASS
Test turtle-star-annotation-3: Turtle-star - Annotation - predicate and object lists PASS
Test turtle-star-annotation-4: Turtle-star - Annotation - nested PASS
Test turtle-star-annotation-5: Turtle-star - Annotation object list PASS
Test turtle-star-embed-annotation-1: Turtle-star - Annotation with embedding PASS
Test turtle-star-embed-annotation-2: Turtle-star - Annotation on triple with embedded subject PASS
Test turtle-star-embed-annotation-3: Turtle-star - Annotation on triple with embedded object PASS
Percentage passed out of 12 Tests 100.0%

3.6 Turtle-star Syntax Tests

Test EYE
(Prolog)
Ruby RDF::Turtle
(Ruby)
Test turtle-star-1: Turtle-star - subject embedded triple PASS PASS
Test turtle-star-2: Turtle-star - object embedded triple PASS PASS
Test turtle-star-inside-1: Turtle-star - embedded triple inside blankNodePropertyList PASS PASS
Test turtle-star-inside-2: Turtle-star - embedded triple inside collection PASS PASS
Test turtle-star-nested-1: Turtle-star - nested embedded triple, subject position PASS PASS
Test turtle-star-nested-2: Turtle-star - nested embedded triple, object position PASS PASS
Test turtle-star-compound-1: Turtle-star - compound forms PASS PASS
Test turtle-star-bnode-1: Turtle-star - blank node subject PASS PASS
Test turtle-star-bnode-2: Turtle-star - blank node object PASS PASS
Test turtle-star-bnode-3: Turtle-star - blank node PASS PASS
Test turtle-star-bad-1: Turtle-star - bad - embedded triple as predicate FAIL PASS
Test turtle-star-bad-2: Turtle-star - bad - embedded triple outside triple FAIL PASS
Test turtle-star-bad-3: Turtle-star - bad - collection list in embedded triple FAIL PASS
Test turtle-star-bad-4: Turtle-star - bad - literal in subject position of embedded triple FAIL PASS
Test turtle-star-bad-5: Turtle-star - bad - blank node as predicate in embedded triple FAIL PASS
Test turtle-star-bad-6: Turtle-star - bad - compound blank node expression PASS PASS
Test turtle-star-bad-7: Turtle-star - bad - incomplete embedded triple PASS PASS
Test turtle-star-bad-8: Turtle-star - bad - over-long embedded triple PASS PASS
Test turtle-star-ann-1: Turtle-star - Annotation form PASS PASS
Test turtle-star-ann-2: Turtle-star - Annotation example PASS PASS
Test turtle-star-bad-ann-1: Turtle-star - bad - empty annotation PASS PASS
Test turtle-star-bad-ann-2: Turtle-star - bad - triple as annotation PASS PASS
Percentage passed out of 22 Tests 77.3% 100.0%

A. Test Subjects

This report was tested using the following test subjects:

A.1 EYE
Description
Euler Yet another proof Engine
Release
unknown
Programming Language
Prolog
Home Page
https://josd.github.io/eye/index.html
Developer
Test Suite Compliance
RDF-star Semantics tests 27/31 (87.1%)
Turtle-star Syntax Tests 17/22 (77.3%)
A.2 Ruby RDF::Turtle
Description
RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.
Release
3.1.3
Programming Language
Ruby
Home Page
https://ruby-rdf.github.com/rdf-turtle
Developer
Test Suite Compliance
N-Triples-star Syntax Tests 24/24 (100.0%)
Turtle-star Evaluation Tests 12/12 (100.0%)
Turtle-star Syntax Tests 22/22 (100.0%)
A.3 Ruby SPARQL
Description
SPARQL Implements SPARQL 1.1 Query, Update and result formats for the Ruby RDF.rb library suite.
Release
3.1.5
Programming Language
Ruby
Home Page
https://github.com/ruby-rdf/sparql
Developer
Test Suite Compliance
SPARQL-star Evaluation Tests 29/29 (100.0%)
SPARQL-star Syntax Tests 61/61 (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.5.3 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.