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-CONCEPTS],
   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 Sunday, 7 July 2013 13:41:18 UTC