- From: Sandro Hawke <sandro@w3.org>
- Date: Tue, 11 Jun 2013 01:20:25 -0400
- To: David Booth <david@dbooth.org>
- CC: public-rdf-comments@w3.org
On 06/11/2013 12:17 AM, David Booth wrote: > Below is a specific proposal for resolving the issue that the > normative relationship between JSON-LD and RDF is not clear, and the > JSON-LD model is not fully aligned with the RDF model. It clarifies > that JSON-LD is a concrete syntax for RDF and ensures complete > alignment with RDF while avoiding additional early mentions of RDF in > the document. > > For substantive changes: > > 1. In RDF conversion algorithms in JSON-LD 1.0 Processing Algorithms > and API, > http://json-ld.org/spec/latest/json-ld-api/#rdf-conversion-algorithms > specify that **when JSON-LD is interpreted as RDF,** (i.e., when the > JSON-LD model is converted to the RDF model) skolem IRIs MUST be > generated using the well-known URI suffix "json-ld-genid" for any > JSON-LD blank node that would otherwise be mapped to an RDF blank node > in a position where an RDF blank node is not permitted. Conversely, > when RDF is serialized as JSON-LD (or when an RDF model is converted > to a JSON-LD model), skolem IRIs having the well-known URI suffix > "json-ld-genid" SHOULD be serialized as JSON-LD blank nodes. Finally, > register the well-known URI suffix "json-ld-genid", in accordance with > RFC5785: > http://tools.ietf.org/html/rfc5785 > BACKGROUND NOTE: The existing well-known URI suffix "genid" is for > converting to/from RDF blank nodes (in positions where blank nodes are > *permitted* in RDF), whereas "json-ld-genid" will be used for > *avoiding* blank nodes (in positions where they are not allowed in RDF). > -0 This is too clever by half, I think. If we're talking about blank nodes for predicates, well, people will just learn not to use them, I expect. Or they'll start to use them in Turtle, too. And maybe RDFa and RDF/XML using Skolem IDs, but then "json" will be a misnomer. So for this hack, at least call it "generalized-rdf-genid" or something like that. For blank node graph names, let's see how ISSUE-131 comes out. But again, I don't see that JSON-LD is any different from any of the other syntaxes on this front -- people using them want these features, too. > 2. Make any other changes needed to ensure that JSON-LD is a normative > concrete syntax for RDF. (Are any other changes needed?) > > For editorial changes: > > 3. In section 1 > https://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld/index.html#introduction > > make the following editorial change to clarify and move the mention of > RDF slightly later in the document. Delete the sentence: "Developers > that require any of the facilities listed above or need to serialize > an RDF graph or dataset [RDF11-CONCEPTS] in a JSON-based syntax will > find JSON-LD of interest.". Instead, add the following bullet item to > the existing bullet list in section 1.1: > > - "Software developers who want to generate or consume Linked > Data, an RDF graph or an RDF Dataset in a JSON syntax." > > 4. Without adding any earlier mention of RDF than the JSON-LD spec > already contains, make other editorial changes as needed to avoid > implying that JSON-LD is not necessarily RDF. (However it is fine to > say that JSON-LD does not need to be *processed* as RDF.) Some examples: > > - Change "Converting JSON-LD to RDF" to either "Interpreting JSON-LD > as RDF" or "Converting a JSON-LD model to an RDF model". > > - Change "Convert to RDF Algorithm" to "Interpret as RDF Algorithm" > or "Algorithm for Interpreting JSON-LD as RDF". > > - Change "Convert from RDF Algorithm" to "Serialize from RDF > Algorithm" or "Algorithm for Serializing RDF as JSON-LD". > > - Change "This algorithms converts a JSON-LD document to an RDF > dataset" to "This algorithm interprets a JSON-LD document as an RDF > dataset". > > - Change "This algorithm converts an RDF dataset" to "This algorithm > serializes an RDF dataset". > > - Change "turning a JSON-LD document" to "interpreting a JSON-LD > document as RDF". > > There are many other instances in the JSON-LD document, and I would be > happy to help find and fix them. Most of them can be found by > searching for the verb "convert" and changing it to "interpret" or > "serialize". Alternatively you could say "deserialize" instead of > "interpret". > > 5. At the beginning of appendix C insert: "JSON-LD is a _concrete RDF > syntax_ as described in [RDF11_CONCEPTS]. Hence, a JSON-LD document > is both an RDF document and a JSON document and correspondingly > represents both an instance of the RDF data model and an instance of > the JSON-LD data model." > 0 on all these. They seem harmless but unnecessary to me. > 6. In appendix C change the following paragraph in accordance with #1 > above: > [[ > Summarized these differences mean that JSON-LD is capable of > serializing any RDF graph or dataset and most, but not all, JSON-LD > documents can be directly transformed to RDF. It is possible to work > around this restriction, when converting JSON-LD to RDF, by converting > blank nodes used as graph names or properties to IRIs, minting new > "Skolem IRIs" as per Replacing Blank Nodes with IRIs of > [RDF11-CONCEPTS]. A complete description of the algorithms to convert > from RDF to JSON-LD and from JSON-LD to RDF is included in the JSON-LD > Processing Algorithms and API specification [JSON-LD-API]. > ]] > > to: > [[ > The algorithm for interpreting JSON-LD as RDF is specified in the > JSON-LD Processing Algorithms and API specification [JSON-LD-API], > which is hereby normatively included by reference. > ]] That makes sense, but we didn't structure it that way because we feared problems with json-ld-api would prevend json-ld from going to REC. -0.5 > > 7. In section C.1 > https://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld/index.html#transformation-from-json-ld-to-rdf > > make the following changes: > > a. Change the title from "Transformation from JSON-LD to RDF" to > "Brief Overview of Interpreting JSON-LD as RDF". > > b. After "This section is non-normative." add: "The complete, > normative algorithm for interpreting JSON-LD as RDF is defined in the > JSON-LD Processing Algorithms and API specification [JSON-LD-API] > secion 10." > Falls out of decisions above. -- Sandro > Thanks, > David > > > > > > >
Received on Tuesday, 11 June 2013 05:20:39 UTC