diff --git a/common/terms.html b/common/terms.html index d3aa9851..fc58f1c5 100644 --- a/common/terms.html +++ b/common/terms.html @@ -112,6 +112,16 @@ Whenever possible, an edge should be labeled with an IRI.
The use of blank node identifiers to label properties is obsolete, and may be removed in a future version of JSON-LD.
+
embedded context
+ An embedded context is a dictionary composed of a combintation of + term definitions, a vocabulary mapping, a base IRI and default language. + An embedded context may appear as part of a node object or value object using the + @context member. +
+
scoped context
+ A scoped context is part of an expanded term definition using the + @context member. It has the same form as an embedded context. +
expanded term definition
An expanded term definition is a term definition where the value is a dictionary @@ -150,7 +160,8 @@ is a graph object which does not have an @id member. Note that node objects may have a @graph member, but are not considered graph objects if they include any other members. - A top-level object consisting of @graph is also not a graph object.
+ A top-level object consisting of @graph is also not a graph object. + Note that a node object may also represent a named graph it it includes other properties.
index map
An index map is a dictionary value of a term defined with @container set to @index, @@ -212,7 +223,8 @@ A list is an ordered sequence of IRIs, blank nodes, and JSON-LD values. See RDF collection in [[RDF-SCHEMA]].
list object
- A list object is a dictionary that has a @list key.
+ A list object is a dictionary that has a @list key. + It may also have an @index key, but no other members.
literal
An object expressed as a value such as a string, number or in expanded form.
local context
@@ -294,7 +306,8 @@ are resolved relative to the vocabulary mapping, not the base IRI.
set object
- A set object is a dictionary that has an @set member.
+ A set object is a dictionary that has an @set member. + It may also have an @index key, but no other members.
subject
A subject is a node in a linked data graph diff --git a/index.html b/index.html index 696600d4..2b4f1473 100644 --- a/index.html +++ b/index.html @@ -569,11 +569,6 @@

Syntax Tokens and Keywords

-

Conformance criteria are relevant to authors and authoring tool implementers. As well - as sections marked as non-normative, all authoring guidelines, diagrams, examples, - and notes in this specification are non-normative. Everything else in this - specification is normative.

-

A JSON-LD document complies with this specification if it follows the normative statements in appendix . JSON documents can be interpreted as JSON-LD by following the normative statements in @@ -687,8 +682,13 @@

Basic Concepts

@@ -758,14 +758,21 @@

The Context

+ +
+    
+    
+ + + + + + + + + + + + +
SubjectPropertyValueValue Type
_:b0foaf:nameManu Sporny
_:b0foaf:homepagehttp://manu.sporny.org/
_:b0foaf:depictionhttp://twitter.com/account/profile_image/manusporny
_:b1dc:titleThe Empire State Building
_:b1dc:descriptionThe Empire State Building is a 102-story landmark in New York City.
_:b2geo:lat40.75xsd:decimal
_:b2geo:long73.98xsd:decimal
_:b1schema:geo_:b2
+
+    
+    
+ +

Duplicate context terms are overridden using a most-recently-defined-wins mechanism.

+ +

Using @set with @type

+

When processing mode is set to json-ld-1.1, + @type may be used with an expanded term definition with @container set + to @set; no other members may be set within such an expanded term definition. + This is used by the Compaction algorithm to ensure that the values of @type (or an alias) + are always represented in an array.

+ +
+  
+  
+ +
@@ -5242,9 +5466,12 @@

Using the Document Base for the Default Vocabulary

-

Similarly, node objects may contain a @nest property to - reference a term aliased to @nest which causes such - values to be nested under that aliased term.

+

Similarly, term definitions may contain a @nest property + referencing a term aliased to @nest which will cause such + properties to be nested under that aliased term when compacting. + In the example below, both main_label and other_label are defined + with "@nest": "labels", which will cause them to be serialized under + labels when compacting.

In the example above, the label term has - been marked as an language map. The en and + been marked as a language map. The en and de keys are implicitly associated with their respective values by the JSON-LD Processor. This allows a developer to access the German version of the label using the @@ -6912,7 +7139,7 @@

Using the Document Base for the Default Vocabulary

In the example above, the affiliation term has - been marked as an type map. The schema:Corporation and + been marked as a type map. The schema:Corporation and schema:ProfessionalService keys will be interpreted as the @type property of the node object value.

@@ -8875,7 +9102,7 @@

Graph Containers

In order to use an external context with an ordinary JSON document, when retrieving an ordinary JSON document via HTTP, processors MUST - retrieve any JSON-LD document referenced by a + attempt to retrieve any JSON-LD document referenced by a Link Header with:

@@ -9764,7 +9985,7 @@

Node Objects

Graph Objects

A graph object represents a named graph, which MAY include - include an explicit graph name. + an explicit graph name. A dictionary is a graph object if it exists outside of a JSON-LD context, it is not a node object, @@ -9853,11 +10074,11 @@

Lists and Sets

A list object MUST be a dictionary that contains no keys that expand to an absolute IRI or keyword other - than @list, @context, and @index.

+ than @list and @index.

A set object MUST be a dictionary that contains no keys that expand to an absolute IRI or keyword other - than @set, @context, and @index. + than @set and @index. Please note that the @index key will be ignored when being processed.

In both cases, the value associated with the keys @list and @set @@ -9935,8 +10156,9 @@

Index Maps

set to an array containing both @graph and @index, and optionally including @set. The value consists of the node objects contained within the named - graph which is named using the referencing key, which can be - represented as a simple graph object.

+ graph which is indexed using the referencing key, which can be + represented as a simple graph object if the value does + not include @id, or a named graph if it includes @id.

@@ -10984,31 +11206,13 @@

Security Considerations

Open Issues

The following is a list of issues open at the time of publication.

Consider using "@type": "@json" to describe native values in the compact form.

-

When requesting JSON-LD from an HTTP endpoint, it would be useful to provide a reference to a context or frame which should be used by the server to put the results into the proper format.

Provide a means for refering to a remote context without without requiring it to be downloaded.

Consider a mechanism such as Microdata's @itemref for including objects within another referencing node.

Mechinism to allow freezing terms so that additional contexts don't override them.

-

Should consider html>head>base@href and xml:base, as appropriate.

-

Update terminology in the spec from IRI to URL.

-

Proposal is to start from scratch, ie, deprecating @graph and replacing the functionality with something cleaner.

-
-
    -
  • Give each JSON-LD feature a name. For example: aliasing, reverseProperties, typeCoercion, etc.
  • -
  • Each JSON-LD version will officially support a set of these features. For example, JSON-LD 1.0 supports roughly ~20, JSON-LD 1.1 supports roughly ~30, and so on.
  • -
  • Move some of these less-used features (based on real world data/usage) into a "Advanced JSON-LD Features" specification to keep the base specification simpler and more easily readable.
  • -
  • Extend the @version keyword to take an array, where you can specify experimental extensions. For example: "@version": [1.1, "amazingExtensionFoo", "nicheExtensionBar"] - processors throw if they don't understand every extension listed.
  • -
-

Consider documentation best practices.

-

Consider issues surrounding confusion of differing expansion rules for @id, @type, and dictionary members.

Define a recommended context to import.

-

-

Node Types in @context.

-

-

-

@@ -11067,7 +11271,7 @@

Changes since JSON-LD Community Group Final Report

with @container set to @set.
  • The use of blank node identifiers to label properties is obsolete, and may be removed in a future version of JSON-LD, as is the support for generalized RDF Datasets.
  • -
  • The default vocabulary can be a relative IRI, which is evaluated +
  • The vocabulary mapping can be a relative IRI, which is evaluated either against an existing default vocabulary, or against the document base. This allows vocabulary-relative IRIs, such as the keys of node objects, are expanded or compacted relative