JSON-LD-CR-Transition-Requirements
Contents
- 1 Overview
- 1.1 Decision to request advancement
- 1.2 Documentation of changes
- 1.3 Changes to WG Requirements for these documents
- 1.4 Changes in Dependencies
- 1.5 Evidence of Wide Review
- 1.6 Formal Responses to all issues raised
- 1.7 Formal Objections
- 1.8 Documentation of all changes
- 1.9 Requirement Fulfillment
- 1.10 Exit Criteria
- 1.11 Implementations
Overview
This page provides documentation on the fulfillment of Candidate Recommendation transition requirements for JSON-LD 1.0 and JSON-LD 1.0 API.
Decision to request advancement
JSON-LD CG resolution: Request that the RDF WG publish the JSON-LD 1.0 Candidate Recommendation on August 22nd with a CR period of 4 weeks.
RDF WG resolution: Publish both JSON-LD 1.0 and JSON-LD 1.0 Processing Algorithms and API as CR. The WG will request a duration of three (3) weeks for the JSON-LD implementation period.
Documentation of changes
Documentation of all changes, both substantive and minor, to the JSON-LD 1.0 and JSON-LD 1.0 API technical reports since the first Last Call phase for both documents.
JSON-LD 1.0 Changes
Changes since the 11 April 2013 First Last Call Working Draft:
- (non-substantive bug fix) Allow keyword aliases to be defined using expanded term definitions
- (editorial) Mention profile URIs also in the sections describing the various document forms
- (non-substantive bug fix) Support relative IRIs in @base
- (editorial) Clarify how the profile media type parameter is used in the content negotiation process
- (non-substantive bug fix) Update grammar to disallow blank nodes as data types
- (non-substantive bug fix) Update grammar to allow blank node identifiers as value of @vocab
- (editorial / no effect on implementations or syntax) Align the JSON-LD Data Model with the RDF Data Model
- (non-substantive bug fix) Support processing of documents with a +json media type as defined in [RFC6839]
- (editorial) Added a brief description of the data model to the introduction.
- (editorial) Fixed a number of document readability and flow issues related to all of the updates made over the last several months.
JSON-LD 1.0 API Changes
Changes since the 11 April 2013 First Last Call Working Draft:
- (non-substantive bug fix) Processing of terms that are redefined to themselves without raising an cyclic IRI mapping error
- (non-substantive bug fix) Raise an invalid IRI mapping error if relative URLs are used in term definitions
- (substantive, leading to 2nd LC for JSON-LD API) Use of DOM Futures instead of callbacks in the Application Programming Interface
- (substantive) Support lists of lists when serializing RDF as JSON-LD
- (non-substantive bug fix) Support relative IRIs in @base
- (substantive) Remove default value of JsonLdOption's base member
- (non-substantive bug fix) Support for relative URLs in @base and documents that do not have a base value
- (substantive) Support documents that do not have a base value
Changes since the 16 May 2013 Second Last Call Working Draft:
- (non-substantive bug fix) Ensure determinism of the Deserialize JSON-LD to RDF algorithm by specifying the processing order
- (non-substantive bug fix) Change the default value of the use native types flag in the Serialize RDF as JSON-LD algorithm to false
- (non-substantive bug fix) Clarify that the identifier map and the counter used by the Generate Blank Node Identifier algorithm are reset before running the Flattening and the Deserialize JSON-LD to RDF algorithms
- (non-substantive bug fix) Raise an error if a blank node is used as data type
- (editorial) Clarify that blank node identifier are supported as value of @vocab
- (non-substantive bug fix) When generating RDF, exclude triples containing a blank node predicate, unless the produce generalized RDF flag is set
- (editorial) Update reference to DOM Promises (have been called DOM Futures)
- (non-substantive bug fix) Fix bug in Serialize RDF to JSON-LD algorithm to handle lists correctly
- (non-substantive bug fix) Support processing of documents with a +json media type as defined in [RFC6839]
- (non-substantive bug fix) Use the LoadDocumentCallback (previously LoadContextCallback) to retrieve remote contexts and remote documents
- (non-substantive bug fix) Allow contexts to be passed into the API directly. Previously only context documents, i.e., objects having a @context member were allowed.
- (editorial) Clarify the usage of the documentLoader option
NB: A "non-substantive bug fix" is a change to a specification which reflected a change to the text, but not to the intent of the group.
Changes to WG Requirements for these documents
None of the WG requirements have changed for either document from the previous step.
Changes in Dependencies
There has been a change in the dependency between the RDF WG and the WHATWG based on the reference to the WHATWG DOM4 Promises specification.
Evidence of Wide Review
The following people have reviewed the JSON-LD 1.0 specification:
- Richard Cyganiak (Deri, RDF WG) (RDF Alignment)
- Charles Greer (Marklogic, RDF WG) (complete)
- Sandro Hawke (W3C, RDF WG) (complete)
- David Booth (Independent, RDF WG) (complete)
- Pat Hayes (IHMC, RDF WG) (complete)
- Eric Prud'hommeaux (W3C, RDF WG) (complete)
- Dan Brickley (Google) (partial)
- Andy Seaborne (Apache Software Foundation, RDF WG) (complete)
- Steve Speicher (IBM) (complete)
- Pierre-Antoine Champin (RDF WG) (complete)
- Peter Patel-Schneider (RDF WG) (RDF Alignment)
- Marios Meimaris (Government Linked Data WG) (complete)
- Paul Kuykendall (Argo, private implementer) (complete)
- Robin Berjon (HTML WG) (complete)
- David Rogers (BBC) (general language and reverse properties)
- Manu Sporny (editor) (complete)
- Gregg Kellogg (editor) (complete)
- Markus Lanthaler (editor) (complete)
- Dave Longley (author) (complete)
- Niklas Lindström (author) (complete)
The following people have reviewed the JSON-LD 1.0 API specification:
- Peter Ansell (University of Queensland) (complete)
- Paul Kuykendall (Argo, private implementer) (complete)
- Zhe Wu (RDF WG) (complete)
- Marios Meimaris (Government Linked Data WG) (complete)
- Boris Zbarsky (Apple, WHATWG) (WebIDL API)
- Tab Atkins Jr. (Google, WHATWG) (WebIDL API)
- Anne van Kesteren (Mozilla, WHATWG) (WebIDL API)
- Robin Berjon (W3C, HTML WG) (WebIDL API)
- Markus Lanthaler (editor) (complete)
- Dave Longley (author) (complete)
- Gregg Kellogg (editor) (complete)
- Manu Sporny (editor) (complete)
Formal Responses to all issues raised
There were approximately 269 issues from the authors, editors, and general public that were tracked, discussed and addressed before the first Last Call for JSON-LD.
The following comments and responses were made during the First and Second Last Call periods for JSON-LD:
Issue | Formal Response | Changes Made | Commenter Accepted Changes |
ISSUE-124: Order of parameters | Response | Yes | Yes |
ISSUE-125: Use of futures instead of callbacks in the JSON-LD API | Response | Yes | Yes |
ISSUE-129: JSON-LD xsd:integer lossless conversion | Response | Yes | Unresponsive |
ISSUE-130: Properly referencing the DOM Futures spec | Response | Yes | Unresponsive |
ISSUE-132: JSON-LD should be more closely aligned with RDF | Response | Yes | Yes / Yes |
ISSUE-133: Provisional support for Reverse properties | Response | Yes | Yes / Yes / Yes |
ISSUE-135: GLD WG feedback on JSON-LD and API | Response | Most of them, yes | Yes |
Formal Objections
None.
Documentation of all changes
There have been no substantive changes since the latest Last Call for either documents. Diff-marked versions of the documents can be found here:
- Changes to JSON-LD 1.0 since April 11th 2013 LCWD
- Changes to JSON-LD 1.0 API since May 16th 2013 LC2WD
Requirement Fulfillment
All requirements for advancement have been fulfilled.
Exit Criteria
Before the specifications exit Candidate Recommendation, two or more independent implementations must pass each test, although no single implementation must pass each test. The working group will freeze the test suite when the CR documents are published, will produce an implementation report (hosted together with the test suite) at the end of the CR period.
A sample of the current implementation report can be found here: http://json-ld.org/test-suite/reports/
Implementations
There are currently seven fairly complete open source implementations of the JSON-LD specifications in browser-based Javascript, Node.js, two implementations in PHP, Python, Ruby, and Java. There is one closed source, partial implementation in C#.
The current status of implementations can be found here: http://json-ld.org/test-suite/reports/
It is expected that at least 6 of these implementations will be 100% conforming across all tests by the end of the Candidate Recommendation period.