W3C home > Mailing lists > Public > public-rdf-wg@w3.org > July 2013

Re: Updated JSON-LD spec to more closely align w/ RDF data model

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Tue, 09 Jul 2013 17:34:15 -0700
Message-ID: <51DCAC07.50005@gmail.com>
To: Markus Lanthaler <markus.lanthaler@gmx.net>
CC: 'RDF WG' <public-rdf-wg@w3.org>
Appendix A looks good, modulo an answer to my query about mixed types for JSON 

Appendix C should mention the new generalized RDF datasets, I think, but the 
other changes look OK.

Given the issues with respect to numbers in JSON, I would change
http://json-ld.org/spec/latest/json-ld/#dfn-number, but what to change it to 
depends on just what JSON numbers are supposed to be. Certainly mixed integers 
and double floats is not a numeric type in any programming language that I am 
familiar with.

Similarly, JSON strings don't really represent (just) Unicode characters, but 
the distinctions here might be too obtruse for even this document.


On 07/09/2013 01:31 PM, Markus Lanthaler wrote:
> Peter,
> I've updated the JSON-LD spec according the discussions on today's telecon. The changes are live on
>    http://json-ld.org/spec/latest/json-ld/#data-model
>    http://json-ld.org/spec/latest/json-ld/#relationship-to-rdf
> Manu will sync them later today to the w3.org repo as well.
> Could you please have a look at the changes to see if your concerns have been addressed.
> The diff is at https://github.com/json-ld/json-ld.org/commit/d2a724493c3f0a3de3e1e9acb4b4f8ffd17b7a11 if you prefer to read that.
> Thanks,
> Markus
> --
> Markus Lanthaler
> @markuslanthaler
>> -----Original Message-----
>> From: Peter F. Patel-Schneider [mailto:pfpschneider@gmail.com]
>> Sent: Sunday, July 07, 2013 3:41 PM
>> To: Markus Lanthaler
>> Cc: 'RDF WG'
>> Subject: Re: Updated JSON-LD spec to more closely align w/ RDF data
>> model
>> The current version is looking much better.  The important changes are
>> that
>> the summary is no longer labelled as normative and there are links back
>> to
>> RDF Concepts.  Here are some *changes* to the Appendix that make the
>> missing
>> connections to RDF and further clarify some points.
>> JSON-LD is a serialization format for Linked Data based on JSON. It is
>> therefore important to distinguish between the syntax, which is defined
>> by
>> JSON in [RFC4627], and the data model which is an extension of the RDF
>> data
>> model [RDF11-CONCEPTS].    *The precise details of how JSON-LD
>> documents
>> represent the RDF data model are given in Appendix C.*
>> To ease understanding for developers unfamiliar with
>> the RDF model, the following *informative* summary is provided:
>> - A JSON-LD document serializes a generalized RDF Dataset [RDF11-
>>     which is a collection of graphs that comprises exactly one default
>> graph
>>     and zero or more named graphs.
>> - The default graph does not have a name and MAY be empty.
>> - Each named graph is a pair consisting of an IRI or blank node
>> identifier
>>     (the graph name) and a graph. Whenever practical, the graph name
>> SHOULD be
>>     an IRI.
>> - A graph is a labeled directed graph, i.e., a set of nodes connected
>> by
>>     edges.
>> - Every edge has a direction associated with it and is labeled with an
>> IRI
>>     or a blank node identifier. Within the JSON-LD syntax these edge
>> labels
>>     are called properties. Whenever practical, an edge SHOULD be labeled
>> with
>>     an IRI.
>> - Every node is an IRI, a blank node, a JSON-LD value, or a list.
>> - A node having an outgoing edge MUST be an IRI or a blank node.
>> - A graph MUST NOT contain unconnected nodes, i.e., nodes which are not
>>     connected by an edge to any other node.
>> - An IRI (Internationalized Resource Identifier) is a string that
>> conforms
>>     to the syntax defined in [RFC3987]. IRIs used within a graph SHOULD
>> return
>>     a Linked Data document describing the resource denoted by that IRI
>> when
>>     being dereferenced.
>> - A blank node is a node which is neither an IRI, nor a JSON-LD value,
>> nor a
>>     list. A blank node MAY be identified using a blank node identifier.
>> - A blank node identifier is a string that can be used as an identifier
>> for
>>     a blank node within the scope of a JSON-LD document. Blank node
>>     identifiers begin with _:.
>> - A JSON-LD value is a string *(which is a shorthand for a typed value
>> with
>>     type xsd:string)*, a number *(with integral numbers being shorthand
>> for
>>     typed values with type xsd:long and other numbers being shorthand
>> for
>>     typed values with type xsd:double)*, true or false *(which are
>> shorthands
>>     for typed values with type xsd:boolean)*, a typed value, or a
>>     language-tagged string.
>> - A typed value consists of a value, which is a string, and a type,
>> which is
>>     an IRI.  *Most types in typed values are XML Schema 1.1 Datatypes
>> [pointer
>>     to document].*
>> - A language-tagged string consists of a string and a non-empty
>> language tag
>>     as defined by [BCP47]. The language tag MUST be well-formed
>> according to
>>     section 2.2.9 Classes of Conformance of [BCP47].
>> - A list is an sequence of zero or more IRIs, blank nodes, and JSON-LD
>>     values.  *JSON-LD lists are shorthands for RDF list structures
>>     [informative pointer to RDF Semantics D.3?].*
>> peter
>> On 07/04/2013 08:07 AM, Markus Lanthaler wrote:
>>> [...]
>>> OK, please have a look at
>>>      http://json-ld.org /spec/latest/json-ld/#data-model
>>> I've now linked all definitions in the data model to the
>> corresponding definitions in RDF Concepts. Does this make the
>> relationship clear enough?
>>> [...]
>>> --
>>> Markus Lanthaler
>>> @markuslanthaler
Received on Wednesday, 10 July 2013 00:34:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:04:30 UTC