From 25124079164bfffb2bf56b6538e7cb03ca74a921 Mon Sep 17 00:00:00 2001
From: Gregg Kellogg
Date: Wed, 9 Aug 2023 13:30:24 -0700
Subject: [PATCH 1/2] Update references to RFC3987 with RDF12-CONCEPTS. Updates
other RDF references to RDF 1.2 versions. Depends on an update to
RDF12-CONCEPTS to export the "IRI reference" term. Temporarily skips the
check for consistence of common files.
Fixes #355.
---
.github/workflows/ci.yml | 11 +++---
common/terms.html | 84 +++++++++++++++++++---------------------
index.html | 73 +++++++++++++++++-----------------
3 files changed, 82 insertions(+), 86 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e8ed14d..ffef056 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -20,11 +20,12 @@ jobs:
- name: Install dependencies
run: bundle install
- - name: "Verify common files are consistent"
- run: |
- git remote add -f b https://github.com/w3c/json-ld-wg.git
- git remote update
- git diff --exit-code remotes/b/main -- common
+ # Remove temorarily
+ #- name: "Verify common files are consistent"
+ # run: |
+ # git remote add -f b https://github.com/w3c/json-ld-wg.git
+ # git remote update
+ # git diff --exit-code remotes/b/main -- common
- name: Verify examples are consistent
run: bundle exec rake test
diff --git a/common/terms.html b/common/terms.html
index 9660e67..934ddea 100644
--- a/common/terms.html
+++ b/common/terms.html
@@ -66,34 +66,13 @@
-Terms imported from [[[RFC3987]]] [[RFC3987]]
+Terms imported from [[[RDF12-CONCEPTS]]] [[RDF12-CONCEPTS]], [[[RDF12-SCHEMA]]] [[RDF12-SCHEMA]], and [[[LINKED-DATA]]] [[LINKED-DATA]]
- - IRI
-
- The absolute form of an IRI containing a scheme along with a path
- and optional query and fragment segments.
- - IRI reference
-
- Denotes the common usage of an Internationalized Resource Identifier.
- An IRI reference may be absolute or
- relative.
- However, the "IRI" that results from such a reference only includes absolute IRIs;
- any relative IRI references are resolved to their absolute form.
- - relative IRI reference
-
- A relative IRI reference is an IRI reference that is relative to some other IRI,
- typically the base IRI of the document.
- Note that properties,
- values of
@type
,
- and values of terms defined to be vocabulary relative
- are resolved relative to the vocabulary mapping,
- not the base IRI.
-
-
-Terms imported from [[[RDF11-CONCEPTS]]] [[RDF11-CONCEPTS]], [[[RDF-SCHEMA]]] [[RDF-SCHEMA]], and [[[LINKED-DATA]]] [[LINKED-DATA]]
-
- - base IRI
-
+
- base IRI
-
The base IRI is an IRI established in the context,
or is based on the JSON-LD document location.
The base IRI is used to turn relative IRI references into IRIs.
- - blank node
-
+
- blank node
-
A node in a graph that is neither an IRI,
nor a literal.
A blank node does not contain
@@ -101,67 +80,84 @@
or does not contain information that needs to be linked to from outside of the linked data graph.
In JSON-LD,
a blank node is assigned an identifier starting with the prefix
_:
.
- - blank node identifier
-
+
- 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
_:
.
- - dataset
-
+
- dataset
-
A dataset
- representing a collection of RDF graphs
+ representing a collection of RDF graphs
including exactly one default graph and zero or more named graphs.
- - datatype IRI
-
+
- datatype IRI
-
A datatype IRI is an IRI identifying a datatype that determines how the lexical form maps to a
- literal value.
- - default graph
-
+ literal value.
+ - default graph
-
The default graph of a dataset is an RDF graph having no name, which may be empty.
- - graph name
-
+
- graph name
-
The IRI or blank node identifying a named graph.
- - language-tagged string
-
+
- language-tagged string
-
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
+ The language tag must be well-formed
according to section 2.2.9 Classes of Conformance of [[BCP47]].
Processors may normalize language tags to lowercase.
- Linked Data
-
A set of documents, each containing a representation of a linked data graph or dataset.
- - RDF graph
-
+
- RDF graph
-
A labeled directed graph,
i.e., a set of nodes connected by directed-arcs.
Also called linked data graph.
- - list
-
+
- list
-
A list is an ordered sequence of IRIs, blank nodes, and literals.
- - literal
-
+
- literal
-
An object expressed as a value such as a string or number.
Implicitly or explicitly includes a datatype IRI and, if the datatype is `rdf:langString`, an optional language tag.
- - named graph
-
+
- named graph
-
A named graph
is a linked data graph that is identified by an IRI or blank node.
- - node
-
+
- node
-
A node in an RDF graph, either the subject and object of at least one triple.
Note that a node can play both roles (subject and object) in a graph, even in the same triple.
- - object
-
+
- object
-
An object is a node in a linked data graph
with at least one incoming edge.
- - property
-
+
- property
-
The name of a directed-arc in a linked data graph.
Every property is directional
and is labeled with an IRI or a blank node identifier.
Whenever possible, a property 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.
- Also, see predicate in [[RDF11-CONCEPTS]].
- - resource
-
+ Also, see predicate in [[RDF12-CONCEPTS]].
+ - resource
-
A resource denoted by an IRI, a blank node or literal representing something in the world (the "universe of discourse").
- - triple
-
+
- triple
-
A component of an RDF graph including a subject, predicate, and object, which represents
a node-arc-node segment of an RDF graph.
- - subject
-
+
- subject
-
A subject is a node in a linked data graph
with at least one outgoing edge,
related to an object node through a property.
+ - IRI
-
+ The absolute form of an IRI containing a scheme along with a path
+ and optional query and fragment segments.
+ - IRI reference
-
+ Denotes the common usage of an Internationalized Resource Identifier.
+ An IRI reference may be absolute or
+ relative.
+ However, the "IRI" that results from such a reference only includes absolute IRIs;
+ any relative IRI references are resolved to their absolute form.
+ - relative IRI reference
-
+ A relative IRI reference is an IRI reference that is relative to some other IRI,
+ typically the base IRI of the document.
+ Note that properties,
+ values of
@type
,
+ and values of terms defined to be vocabulary relative
+ are resolved relative to the vocabulary mapping,
+ not the base IRI.
diff --git a/index.html b/index.html
index f744785..cdfd5bd 100644
--- a/index.html
+++ b/index.html
@@ -353,8 +353,8 @@ Introduction
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
- in conjunction with other Linked Data technologies like SPARQL [[SPARQL11-OVERVIEW]].
+ [[RDF12-CONCEPTS]]. It is also designed to be usable as RDF
+ in conjunction with other Linked Data technologies like SPARQL [[SPARQL12-CONCEPTS]].
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
@@ -480,7 +480,7 @@
Design Goals and Rationale
possible.
Usable as RDF
JSON-LD is usable by developers as
- idiomatic JSON, with no need to understand RDF [[RDF11-CONCEPTS]].
+ idiomatic JSON, with no need to understand RDF [[RDF12-CONCEPTS]].
JSON-LD is also usable as RDF, so people intending to use JSON-LD
with RDF tools will find it can be used like any other RDF syntax.
Complete details of how JSON-LD relates to RDF are in section
@@ -766,7 +766,7 @@ Basic Concepts
tokens such as "name", "homepage", etc.
Linked Data, and the Web in general, uses IRIs
- (Internationalized Resource Identifiers as described in [[RFC3987]]) for unambiguous
+ (Internationalized Resource Identifiers as described in [[RDF12-CONCEPTS]]) for unambiguous
identification. The idea is to use IRIs
to assign unambiguous identifiers to data that may be of use to other developers.
It is useful for terms,
@@ -1105,12 +1105,12 @@
The Context
IRIs
- IRIs (Internationalized Resource Identifiers
- [[RFC3987]]) are fundamental to Linked Data as that is how most
+
IRIs (Internationalized Resource Identifiers
+ [[RDF12-CONCEPTS]]) are fundamental to Linked Data as that is how most
nodes and properties
are identified.
In JSON-LD, IRIs may be represented as an IRI reference.
- An IRI is defined in [[RFC3987]] as containing a
+ An IRI is defined in [[RDF12-CONCEPTS]] as containing a
scheme along with path and optional query and
fragment segments. A relative IRI reference is an IRI
that is relative to some other IRI.
@@ -1122,7 +1122,7 @@
IRIs
the primary distinction is that a URL locates a resource on the web,
an IRI identifies a resource. While it is a good practice for resource identifiers
to be dereferenceable, sometimes this is not practical. In particular, note the
- [[URN]] scheme for Uniform Resource Names, such as UUID.
+ [[URN]] scheme for Uniform Resource Names, such as UUID.
An example UUID is urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
.
Properties, values of @type
,
@@ -3532,7 +3532,7 @@
Using the Document Base for the Default Vocabulary
The values of @type
are unordered, so if multiple
types are listed, the order that type-scoped contexts are applied is based on
- code point ordering.
+ code point order.
For example, consider the following semantically equivalent examples.
The first example, shows how properties and types can define their own
@@ -11211,7 +11211,7 @@
Graph Containers
The embedded JSON-LD document might be extracted as is or, e.g., be
interpreted as RDF.
- If JSON-LD content is extracted as RDF [[RDF11-CONCEPTS]], it MUST be expanded into an
+
If JSON-LD content is extracted as RDF [[RDF12-CONCEPTS]], it MUST be expanded into an
RDF Dataset using the
Deserialize JSON-LD to RDF Algorithm
[[JSON-LD11-API]]. Unless a specific script is targeted
@@ -11517,7 +11517,7 @@
Data Model
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 [[RFC8259]], and the data model which is
- an extension of the RDF data model [[RDF11-CONCEPTS]].
+ an extension of the RDF data model [[RDF12-CONCEPTS]].
The precise details of how JSON-LD relates to the RDF data model are given in
.
@@ -11527,7 +11527,7 @@ Data Model
- A JSON-LD document serializes a
RDF Dataset
- [[RDF11-CONCEPTS]], which is a collection of graphs
+ [[RDF12-CONCEPTS]], which is a collection of graphs
that comprises exactly one default graph
and zero or more named graphs.
@@ -11548,7 +11548,7 @@ Data Model
Consider using a document-relative IRI, instead, such as `#`.
- Every node
- is an IRI, a blank node, or a literal,
+ is an IRI, a blank node, or a literal,
although syntactically lists and native JSON values may be represented directly.
- A node having an outgoing edge MUST be an IRI or a
blank node.
@@ -11572,7 +11572,7 @@ Data Model
- An IRI (Internationalized Resource Identifier) is a string that conforms to the syntax
- defined in [[RFC3987]]. IRIs used within a
+ defined in [[RDF12-CONCEPTS]]. 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,
@@ -11603,11 +11603,11 @@
Data Model
- Either strings, or language-tagged strings may include
a base direction, which represents an extension to the underlying
- RDF data model.
+ RDF data model.
- A list is a sequence of zero or more IRIs,
blank nodes, and JSON-LD values.
Lists are interpreted as
- RDF list structures [[RDF11-MT]].
+ RDF list structures [[RDF12-SEMANTICS]].
JSON-LD documents MAY contain data
@@ -11817,8 +11817,8 @@
Terms
[[IANA-URI-SCHEMES]]. Similarly, to avoid confusion between a
Compact IRI and a term, terms SHOULD NOT include a colon (:
)
and SHOULD be restricted to the form of
- isegment-nz-nc
- as defined in [[RFC3987]].
+ isegment-nz-nc
+ as defined in [[RDF12-CONCEPTS]].
To avoid forward-compatibility issues, a term SHOULD NOT start
with an @
character
@@ -12684,12 +12684,12 @@
Keywords
Relationship to RDF
JSON-LD is a
- concrete RDF syntax
- as described in [[RDF11-CONCEPTS]]. Hence, a JSON-LD document is both an
+ concrete RDF syntax
+ as described in [[RDF12-CONCEPTS]]. Hence, a JSON-LD document is both an
RDF document and a JSON document and correspondingly represents an
- instance of an RDF data model. However, JSON-LD also extends the RDF data
+ instance of an RDF data model. However, JSON-LD also extends the RDF data
model to optionally allow JSON-LD to serialize
- generalized RDF Datasets.
+ generalized RDF Datasets.
The JSON-LD extensions to the RDF data model are:
@@ -12701,7 +12701,7 @@ Relationship to RDF
- In JSON-LD lists use native JSON syntax, either contained in a
list object, or described as such within a context. Consequently, developers
using the JSON representation can access list elements directly rather than
- using the vocabulary for collections described in [[RDF-SCHEMA]].
+ using the vocabulary for collections described in [[RDF12-SCHEMA]].
- RDF values are either typed literals
(typed values) or
language-tagged strings whereas
@@ -12710,7 +12710,7 @@
Relationship to RDF
and false
. The JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]]
defines the conversion rules
between JSON's native data types and RDF's counterparts to allow round-tripping.
- - As an extension to the RDF data model,
+
- As an extension to the RDF data model,
literals without an explicit datatype
MAY include a base direction.
As there is currently no standardized mechanism for representing the base direction
@@ -12725,7 +12725,7 @@
Relationship to RDF
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
- interpreted as RDF as described in RDF 1.1 Concepts [[RDF11-CONCEPTS]].
+ interpreted as RDF as described in RDF 1.1 Concepts [[RDF12-CONCEPTS]].
Authors are strongly encouraged to avoid labeling properties using blank node identifiers,
instead, consider one of the following mechanisms:
@@ -12734,8 +12734,8 @@ Relationship to RDF
(see for a discussion on using the document base as part of the vocabulary mapping),
- a URN such as
urn:example:1
, see [[?URN]], or
- a "Skolem IRI" as per
- Replacing Blank Nodes with IRIs
- of [[RDF11-CONCEPTS]].
+ Replacing Blank Nodes with IRIs
+ of [[RDF12-CONCEPTS]].
The normative algorithms for interpreting JSON-LD as RDF and serializing
@@ -12744,7 +12744,7 @@
Relationship to RDF
Even though JSON-LD serializes
RDF Datasets, it can
- also be used as a graph source.
+ also be used as a graph source.
In that case, a consumer MUST only use the default graph and ignore all named graphs.
This allows servers to expose data in languages such as Turtle and JSON-LD
using HTTP content negotiation.
@@ -13508,8 +13508,8 @@ Media Type Registration: `application/ld+json`
When processing the "profile" media type parameter, it is important to
note that its value contains one or more URIs and not IRIs. In some cases
it might therefore be necessary to convert between IRIs and URIs as specified in
- section 3 Relationship between IRIs and URIs
- of [[RFC3987]].
+ URIs and IRIs
+ of [[RDF12-CONCEPTS]].
@@ -13553,8 +13553,8 @@ Media Type Registration: `application/ld+json`
Fragment identifiers used with application/ld+json
are treated as in RDF syntaxes, as per
- RDF 1.1 Concepts and Abstract Syntax
- [[RDF11-CONCEPTS]].
+ RDF 1.1 Concepts and Abstract Syntax
+ [[RDF12-CONCEPTS]].
This registration is an update to the original definition
for application/ld+json
@@ -13617,7 +13617,7 @@
Structured Suffix Registration: `+ld+json`
Group (IESG) for review, approval, and registration with IANA.
The following section is based on the requirements defined in
- .
+ .
@@ -13670,8 +13670,7 @@ Structured Suffix Registration: `+ld+json`
Fragment identifiers used with +ld+json
are treated as in RDF syntaxes, as per
- RDF 1.1 Concepts and Abstract Syntax
- [[RDF11-CONCEPTS]].
+ [[[RDF12-CONCEPTS]]] [[RDF12-CONCEPTS]].
@@ -13773,11 +13772,11 @@ Changes since 1.0 Recommendation of 16 January 2014
be expressed in array form.
In JSON-LD 1.1, terms will be chosen as compact IRI prefixes
when compacting only if
- a simple term definition is used where the value ends with a URI gen-delim character,
+ a simple term definition is used where the value ends with a URI gen-delim character,
or if their expanded term definition contains
a @prefix
entry with the value true
. The 1.0 algorithm has
been updated to only consider terms that map to a value that ends with a URI
- gen-delim character.
+ gen-delim character.
Values of properties where the associated term definition
has @container
set to @graph
are interpreted as
implicitly named graphs, where the associated graph name is
From c6f43d6e939430ba05dec1c70d199992dec324d9 Mon Sep 17 00:00:00 2001
From: Gregg Kellogg
Date: Wed, 9 Aug 2023 13:34:00 -0700
Subject: [PATCH 2/2] Add entry to changes since rec.
---
index.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/index.html b/index.html
index cdfd5bd..5c52b6f 100644
--- a/index.html
+++ b/index.html
@@ -13877,6 +13877,7 @@ Changes since Recommendation of 16 July 2020
Allow further structured extensions of `application/ld+json` by using
`+ld+json` as a structured media extension. See .
Use code point order as a better definition for the more vague "lexicographical order".
+ Change the definition of IRI and related terms to [[RDF12-CONCEPTS]].