This document is also available in these non-normative formats: Turtle and JSON-LD
This document is licensed under a Creative Commons Attribution 3.0 License.
This document report test subject conformance for and related specifications for JSON-LD [JSON-LD-API] 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 and JSON-LD
This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.
Tests should be run using the test manifests defined in the Test Manifests Section.
Each test manifest MAY contain a baseIri
property, indicating
the base IRI to be used for running each test.
Reports should be submitted in Turtle format to public-rdf-comments@w3.org
and include an earl:Assertion
for each test, referencing the test resource from the associated manifest
and the test subject being reported upon. An example test entry is be the following:
[ a earl:Assertion;
earl:assertedBy <http://greggkellogg.net/foaf#me>;
earl:subject <http://rubygems.org/gems/json-ld>;
earl:test <http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001>;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
dc:date "2013-02-22T15:12:30-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:
<http://rubygems.org/gems/json-ld> a doap:Project, earl:TestSubject, earl:Software ;
doap:name "JSON::LD" ;
doap:homepage <http://gkellogg.github.com/json-ld> ;
doap:license <http://creativecommons.org/licenses/publicdomain/> ;
doap:description "JSON::LD parses and serializes JSON-LD into RDF and implements expansion, compaction and framing API interfaces."@en ;
doap:programming-language "Ruby" ;
doap:developer <http://greggkellogg.net/foaf#me> ;
dc:title "JSON::LD" ;
dc:date "2011-08-29"^^xsd:date ;
dc:creator <http://greggkellogg.net/foaf#me> ;
The software developer, either an organization or one or more individuals SHOULD be
referenced from doap:developer
using [FOAF]. For example:
<http://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
foaf:name "Gregg Kellogg";
foaf:title "Implementor";
foaf:homepage <http://greggkellogg.net/> .
See JSON-LD Test Description for more information.
JSON-LD compaction tests use object comparison.
JSON-LD to Expansion tests use object compare
JSON-LD to Expansion tests use object compare
Test | Argo.Core.JsonLd | JSON::LD | jsonld.js browser | jsonld.js node.js | php-json-ld | PyLD | JSONLD-Java | JSON-goLD | JsonLD |
---|---|---|---|---|---|---|---|---|---|
Test 0001: drop free-floating nodes | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0002: basic | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0003: drop null and unmapped properties | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0004: optimize @set, keep empty arrays | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0005: do not expand aliased @id/@type | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0006: alias keywords | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0007: date type-coercion | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0008: @value with @language | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0009: @graph with terms | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0010: native types | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0011: coerced @id | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0012: @graph with embed | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0013: expand already expanded | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0014: @set of @value objects with keyword aliases | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0015: collapse set of sets, keep empty lists | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0016: context reset | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0017: @graph and @id aliased | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0018: override default @language | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0019: remove @value = null | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0020: do not remove @graph if not at top-level | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0021: do not remove @graph at top-level if not only property | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0022: expand value with default language | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0023: Expanding list/set with coercion | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0024: Multiple contexts | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0025: Problematic IRI expansion tests | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0026: Term definition with @id: @type | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0027: Duplicate values in @list and @set | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0028: Use @vocab in properties and @type but not in @id | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0029: Relative IRIs | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0030: Language maps | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0031: type-coercion of native types | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0032: Null term and @vocab | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0033: Using @vocab with with type-coercion | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0034: Multiple properties expanding to the same IRI | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0035: Language maps with @vocab, default language, and colliding property | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0036: Expanding @index | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0037: Expanding @reverse | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0038: Expanding blank node labels | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0039: Using terms in a reverse-maps | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0040: language and index expansion on non-objects | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0041: @language: null resets the default language | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0042: Reverse properties | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0043: Using reverse properties inside a @reverse-container | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0044: Index maps with language mappings | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0045: Top-level value objects | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0046: Free-floating nodes | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0047: Free-floating values in sets and free-floating lists | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0048: Terms are ignored in @id | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0049: String values of reverse properties | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0050: Term definitions with prefix separate from prefix definitions | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0051: Expansion of keyword aliases in term definitions | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0052: @vocab-relative IRIs in term definitions | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0053: Expand absolute IRI with @type: @vocab | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0054: Expand term with @type: @vocab | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
Test 0055: Expand @vocab-relative term with @type: @vocab | PASS | PASS | PASS | PASS | PASS |