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].

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. Add or update a file in the /reports directory named so that it can be associated with your implementation. See instructions on using the GitHub web interface or submit a pull request from a forked repository using a branch other than "main".

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 RDF-star 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 RDF::TriG
(Ruby)
Test ntriples-star-1: N-Triples-star - subject quoted triple PASS
Test ntriples-star-2: N-Triples-star - object quoted triple PASS
Test ntriples-star-3: N-Triples-star - subject and object quoted 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 - quoted triple as predicate PASS
Test ntriples-star-bad-2: N-Triples-star - Bad - quoted triple, literal subject PASS
Test ntriples-star-bad-3: N-Triples-star - Bad - quoted triple, literal predicate PASS
Test ntriples-star-bad-4: N-Triples-star - Bad - quoted triple, blank node predicate PASS
Percentage passed out of 13 Tests 100.0%

3.2 RDF-star Semantics tests

Test
Test all-identical-quoted-triples-are-the-same: all-identical-quoted-triples-are-the-same
Test quoted-triples-no-spurious: quoted-triples-no-spurious
Test bnodes-in-quoted-subject: bnodes-in-quoted-subject
Test bnodes-in-quoted-object: bnodes-in-quoted-object
Test bnodes-in-quoted-subject-and-object: bnodes-in-quoted-subject-and-object
Test bnodes-in-quoted-subject-and-object-fail: bnodes-in-quoted-subject-and-object-fail
Test same-bnode-same-quoted-term: same-bnode-same-quoted-term
Test different-bnodes-same-quoted-term: different-bnodes-same-quoted-term
Test constrained-bnodes-in-quoted-subject: constrained-bnodes-in-quoted-subject
Test constrained-bnodes-in-quoted-object: constrained-bnodes-in-quoted-object
Test constrained-bnodes-in-quoted-fail: constrained-bnodes-in-quoted-fail
Test constrained-bnodes-on-literal: constrained-bnodes-on-literal
Test malformed-literal-control: malformed-literal-control
Test malformed-literal: malformed-literal
Test malformed-literal-accepted: malformed-literal-accepted
Test malformed-literal-no-spurious: malformed-literal-no-spurious
Test malformed-literal-bnode-neg: malformed-literal-bnode
Test opaque-literal-control: opaque-literal-control
Test opaque-literal: opaque-literal
Test opaque-language-string-control: opaque-language-string-control
Test opaque-language-string: opaque-language-string
Test opaque-iri-control: opaque-iri-control
Test opaque-iri: opaque-iri
Test quoted-not-asserted: quoted-not-asserted
Test annotated-asserted: annotated-asserted
Test annotation: annotation
Test annotation-unfolded: annotation-unfolded
Percentage passed out of 27 Tests

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 quoted triple PASS
Test sparql-star-basic-3: SPARQL-star - match quoted triple, var subject PASS
Test sparql-star-basic-4: SPARQL-star - match quoted triple, var predicate PASS
Test sparql-star-basic-5: SPARQL-star - match quoted triple, var object PASS
Test sparql-star-basic-6: SPARQL-star - no match of quoted triple PASS
Test sparql-star-pattern-1: SPARQL-star - Asserted and quoted triple PASS
Test sparql-star-pattern-2: SPARQL-star - Asserted and quoted triple PASS
Test sparql-star-pattern-3: SPARQL-star - Pattern - Variable for quoted 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-op-1: SPARQL-star - Embedded triple - sameTerm PASS
Test sparql-star-op-2: SPARQL-star - Embedded triple - value-equality PASS
Test sparql-star-op-3: SPARQL-star - Embedded triple - value-inequality PASS
Test sparql-star-op-4: SPARQL-star - Embedded triple - value-inequality PASS
Test sparql-star-order-1: SPARQL-star - Embedded triple - ORDER BY PASS
Test sparql-star-order-2: SPARQL-star - Embedded triple - ordering 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 34 Tests 100.0%

3.4 SPARQL-star Syntax Tests

Test Ruby SPARQL
(Ruby)
Test sparql-star-1: SPARQL-star - subject quoted triple PASS
Test sparql-star-2: SPARQL-star - object quoted triple PASS
Test sparql-star-3: SPARQL-star - subject quoted triple - vars PASS
Test sparql-star-4: SPARQL-star - object quoted 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 - quoted triple inside blankNodePropertyList PASS
Test sparql-star-inside-2: SPARQL-star - quoted triple inside collection PASS
Test sparql-star-nested-1: SPARQL-star - nested quoted triple, subject position PASS
Test sparql-star-nested-2: SPARQL-star - nested quoted 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 quoting PASS
Test sparql-star-ann-05: SPARQL-star - Annotation on triple with quoted 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 - quoted triple as predicate PASS
Test sparql-star-bad-2: SPARQL-star - bad - quoted triple outside triple PASS
Test sparql-star-bad-3: SPARQL-star - bad - collection list in quoted triple PASS
Test sparql-star-bad-4: SPARQL-star - bad - literal in subject position of quoted triple PASS
Test sparql-star-bad-5: SPARQL-star - bad - blank node as predicate in quoted triple PASS
Test sparql-star-bad-6: SPARQL-star - bad - compound blank node expression PASS
Test sparql-star-bad-7: SPARQL-star - bad - incomplete quoted triple PASS
Test sparql-star-bad-8: SPARQL-star - bad - quad quoted triple PASS
Test sparql-star-bad-9: SPARQL-star - bad - variable in quoted triple in VALUES PASS
Test sparql-star-bad-10: SPARQL-star - bad - blank node in quoted triple in VALUES PASS
Test sparql-star-bad-11: SPARQL-star - bad - blank node in quoted triple in FILTER PASS
Test sparql-star-bad-12: SPARQL-star - bad - blank node in quoted triple in BIND 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 quoting PASS
Test sparql-star-update-5: SPARQL-star - update with quoted 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 63 Tests 100.0%

3.5 TriG-star Evaluation Tests

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

3.6 TriG-star Syntax Tests

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

3.7 Turtle-star Evaluation Tests

Test RDF::TriG
(Ruby)
Test turtle-star-1: Turtle-star - subject quoted triple PASS
Test turtle-star-2: Turtle-star - object quoted 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-quoted-annotation-1: Turtle-star - Annotation with quoting PASS
Test turtle-star-quoted-annotation-2: Turtle-star - Annotation on triple with quoted subject PASS
Test turtle-star-quoted-annotation-3: Turtle-star - Annotation on triple with quoted object PASS
Percentage passed out of 12 Tests 100.0%

3.8 Turtle-star Syntax Tests

Test RDF::TriG
(Ruby)
Test turtle-star-1: Turtle-star - subject quoted triple PASS
Test turtle-star-2: Turtle-star - object quoted triple PASS
Test turtle-star-inside-1: Turtle-star - quoted triple inside blankNodePropertyList PASS
Test turtle-star-inside-2: Turtle-star - quoted triple inside collection PASS
Test turtle-star-nested-1: Turtle-star - nested quoted triple, subject position PASS
Test turtle-star-nested-2: Turtle-star - nested quoted triple, object position PASS
Test turtle-star-compound-1: Turtle-star - compound forms PASS
Test turtle-star-bnode-1: Turtle-star - blank node subject PASS
Test turtle-star-bnode-2: Turtle-star - blank node object PASS
Test turtle-star-bnode-3: Turtle-star - blank node PASS
Test turtle-star-bad-1: Turtle-star - bad - quoted triple as predicate PASS
Test turtle-star-bad-2: Turtle-star - bad - quoted triple outside triple PASS
Test turtle-star-bad-3: Turtle-star - bad - collection list in quoted triple PASS
Test turtle-star-bad-4: Turtle-star - bad - literal in subject position of quoted triple PASS
Test turtle-star-bad-5: Turtle-star - bad - blank node as predicate in quoted triple PASS
Test turtle-star-bad-6: Turtle-star - bad - compound blank node expression PASS
Test turtle-star-bad-7: Turtle-star - bad - incomplete quoted triple PASS
Test turtle-star-bad-8: Turtle-star - bad - over-long quoted triple PASS
Test turtle-star-ann-1: Turtle-star - Annotation form PASS
Test turtle-star-ann-2: Turtle-star - Annotation example PASS
Test turtle-star-bad-ann-1: Turtle-star - bad - empty annotation PASS
Test turtle-star-bad-ann-2: Turtle-star - bad - triple as annotation PASS
Test nt-ttl-star-1: N-Triples-star as Turtle-star - subject quoted triple PASS
Test nt-ttl-star-2: N-Triples-star as Turtle-star - object quoted triple PASS
Test nt-ttl-star-3: N-Triples-star as Turtle-star - subject and object quoted 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 - quoted triple as predicate PASS
Test nt-ttl-star-bad-2: N-Triples-star as Turtle-star - Bad - quoted triple, literal subject PASS
Test nt-ttl-star-bad-3: N-Triples-star as Turtle-star - Bad - quoted triple, literal predicate PASS
Test nt-ttl-star-bad-4: N-Triples-star as Turtle-star - Bad - quoted triple, blank node predicate PASS
Percentage passed out of 35 Tests 100.0%

A. Test Subjects

This report was tested using the following test subjects:

A.1 RDF::TriG
Release
3.1.2
Programming Language
Ruby
Home Page
https://github.com/ruby-rdf/rdf-trig
Developer
Test Suite Compliance
N-Triples-star Syntax Tests 13/13 (100.0%)
TriG-star Evaluation Tests 12/12 (100.0%)
TriG-star Syntax Tests 22/22 (100.0%)
Turtle-star Evaluation Tests 12/12 (100.0%)
Turtle-star Syntax Tests 35/35 (100.0%)
A.2 Ruby SPARQL
Description
SPARQL Implements SPARQL 1.1 Query, Update and result formats for the Ruby RDF.rb library suite.
Release
3.1.7
Programming Language
Ruby
Home Page
https://github.com/ruby-rdf/sparql
Developer
Test Suite Compliance
SPARQL-star Evaluation Tests 34/34 (100.0%)
SPARQL-star Syntax Tests 63/63 (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.7.0 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.