diff --git a/Gemfile.lock b/Gemfile.lock index ab905ab6..fcfed99e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/ruby-rdf/json-ld.git - revision: 172e0c960c9771fa9f963eca55d28fb63bce56b0 + revision: adbd407fa4b5783c8a7f7b79653b6e38815ff854 branch: develop specs: json-ld (3.0.2) @@ -14,8 +14,8 @@ GIT GEM remote: https://rubygems.org/ specs: - addressable (2.6.0) - public_suffix (>= 2.0.2, < 4.0) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) bcp47 (0.3.3) i18n builder (3.2.3) @@ -28,7 +28,7 @@ GEM sxp (~> 1.0) equivalent-xml (0.6.0) nokogiri (>= 1.4.3) - haml (5.1.1) + haml (5.1.2) temple (>= 0.8.0) tilt hamster (3.0.0) @@ -37,7 +37,7 @@ GEM i18n (1.6.0) concurrent-ruby (~> 1.0) json-canonicalization (0.1.0) - json-ld-preloaded (3.0.3) + json-ld-preloaded (3.0.4) json-ld (~> 3.0) multi_json (~> 1.12) rdf (~> 3.0) @@ -77,11 +77,11 @@ GEM multi_json (1.13.1) net-http-persistent (3.1.0) connection_pool (~> 2.2) - nokogiri (1.10.3) + nokogiri (1.10.4) mini_portile2 (~> 2.4.0) nokogumbo (1.5.0) nokogiri - public_suffix (3.1.1) + public_suffix (4.0.1) rack (2.0.7) rake (12.3.3) rdf (3.0.12) @@ -135,7 +135,7 @@ GEM rdf-turtle (3.0.6) ebnf (~> 1.1) rdf (~> 3.0) - rdf-vocab (3.0.8) + rdf-vocab (3.0.10) rdf (~> 3.0, >= 3.0.11) rdf-xsd (3.0.1) rdf (~> 3.0) @@ -160,8 +160,8 @@ GEM rdf (~> 3.0) sxp (1.0.2) rdf (~> 3.0) - temple (0.8.1) - tilt (2.0.9) + temple (0.8.2) + tilt (2.0.10) PLATFORMS ruby diff --git a/common/common.js b/common/common.js index 8377a96c..dd3c14d6 100644 --- a/common/common.js +++ b/common/common.js @@ -33,14 +33,23 @@ function restrictReferences(utils, content) { return (base.innerHTML); } -// add a handler to come in after all the definitions are resolved -// -// New logic: If the reference is within a 'dl' element of -// class 'termlist', and if the target of that reference is -// also within a 'dl' element of class 'termlist', then -// consider it an internal reference and ignore it. require(["core/pubsubhub"], (respecEvents) => { "use strict"; + +// remote data-cite on where the citation is to ourselves. + respecEvents.sub('end', (message) => { + const selfDfns = document.querySelectorAll("dfn[data-cite^='" + respecConfig.shortName.toUpperCase() + "']"); + for (const dfn of selfDfns) { + delete dfn.dataset.cite; + } + }); + + // add a handler to come in after all the definitions are resolved + // + // New logic: If the reference is within a 'dl' element of + // class 'termlist', and if the target of that reference is + // also within a 'dl' element of class 'termlist', then + // consider it an internal reference and ignore it. respecEvents.sub('end', (message) => { if (message === 'core/link-to-dfn') { // all definitions are linked; find any internal references diff --git a/common/terms.html b/common/terms.html index b2d15ea6..33c0768e 100644 --- a/common/terms.html +++ b/common/terms.html @@ -169,7 +169,8 @@ A set of rules for interpreting a JSON-LD document as specified in the The Context section of JSON-LD 1.1.
@language
key
+ The default language is the language used when a string does not have a language associated with it directly.
+ It can be set in the context using the @language
key
whose value MUST be a string representing a [[BCP47]] language code or null
.@default
key.@id
of the associated node object.
If a value in the id map contains a key expanding to @id
,
- it's value MUST be equivalent to the referencing key in the id map.
+ its value MUST be equivalent to the referencing key in the id map.
@container
is set to @graph
.@container
set to @index
,
@@ -344,7 +345,7 @@
representing the @type
of the associated node object;
the value MUST be a node object, or array of node objects.
If the value contains a term expanding to @type
,
- it's values are merged with the map value when expanding.JSON is a useful data serialization and messaging format. - This specification defines JSON-LD, a JSON-based format to serialize + This specification defines JSON-LD 1.1, a JSON-based format to serialize Linked Data. The syntax is designed to easily integrate into deployed systems that already use JSON, and provides a smooth upgrade path from JSON to JSON-LD. @@ -329,8 +329,9 @@
JSON-LD is designed to be usable directly as JSON, with no knowledge of RDF - [[RDF11-CONCEPTS]]. It is also designed to be usable as RDF, if desired, for - use with other Linked Data technologies like SPARQL [[SPARQL11-OVERVIEW]]. Developers who + [[RDF11-CONCEPTS]]. It is also designed to be usable as RDF + in conjunction with other Linked Data technologies like SPARQL [[SPARQL11-OVERVIEW]]. + Developers who require any of the facilities listed above or need to serialize an RDF graph or Dataset in a JSON-based syntax will find JSON-LD of interest. People intending to use JSON-LD with RDF tools will find it can be used as another @@ -426,9 +427,9 @@
@context
- and @id
) to use the basic functionality in JSON-LD.@context
property,
+ to use the basic functionality in JSON-LD.Generally speaking, the data model described by a - JSON-LD document is a labeled, - directed graph. The graph contains - nodes, which are connected by - directed-arcs. A node is typically data - such as a string, number, - typed values (like dates and times) - or an IRI.
-Within a directed graph, nodes may - be unnamed, i.e., not identified by an IRI or representing - data such as strings or numbers. Such nodes are called blank nodes, +
Generally speaking, the data model described by a JSON-LD document is a labeled, directed graph. + The graph contains nodes, which are connected by directed-arcs. + A node is either a resource with properties, or the data values of those properties including + strings, numbers, typed values (like dates and times) and IRIs.
+Within a directed graph, nodes are resources, and may + be unnamed, i.e., not identified by an IRI; + which are called blank nodes, and may be identified using a blank node identifier. These identifiers may be required to represent a fully connected graph using a tree structure, such as JSON, but otherwise have no - intrinsic meaning.
+ intrinsic meaning. + Literal values, such as strings and numbers, are also considered resources, + and JSON-LD distinguishes between node objects and value objects to distinguish between the different + kinds of resource.This simple data model is incredibly flexible and powerful, capable of modeling almost any kind of data. For a deeper explanation of the data model, see @@ -584,11 +584,10 @@
@graph
@nest
@nest
@none
@prefix
true
, allows this term to be used to construct a compact IRI
when compacting.json-ld-1.1
.
+ @json
@type
value of a JSON literal.
@@ -605,7 +607,7 @@ :
Simply speaking, a context is used to map terms to - IRIs. Terms are case sensitive - and any valid string that is not a reserved JSON-LD keyword - can be used as a term.
+Simply speaking, a context is used to map terms to IRIs. + Terms are case sensitive and most any valid string that is not a reserved JSON-LD keyword + can be used as a term. + The empty string `""` and strings that have the form + of a keyword (e.g., staring with `"@"`) must not be used as terms. + Strings that have the form of + an absolute IRI (e.g., containing a `":"`) should not be used as terms.
For the sample document in the previous section, a context would look something like this:
@@ -948,7 +953,9 @@Another JSON idiom often found in APIs is to use an - intermediate object to represent the properties of an object; in JSON-LD + intermediate object to to group together related properties of an object; in JSON-LD these are referred to as nested properties and are described in .
In JSON-LD 1.1, there are other mechanisms for introducing contexts, including + scoped contexts and imported contexts, and there are new ways of protecting term definitions, + so there are cases where the last defined inline context is not necessarily one + which defines the scope of terms. + See , + , + , and + + for further information.
+