From e8014cde71f546b9139d8f87ffc73da438c487da Mon Sep 17 00:00:00 2001
From: Ivan Herman
+ When defining new terms in an application-dependent vocabulary, developers MUST use unique [=URLs=] to identify the terms.
+ It is RECOMMENDED to re-use, whenever possible, terms—and their corresponding URLs—defined by well-known, public vocabularies,
+ such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]].
+ If that is not possible, developers MUST define a new URL for each term.
+ When doing so, general [[LINKED-DATA]] principles must be followed, in particular:
+
+ Developers SHOULD follow the detailed checklist in
+ [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary.
+
+ Furthermore, a machine-readable description (that is, a
+ JSON-LD Context document) MUST be published at the URL specified
+ in the `@context` [=property=] for the vocabulary.
+ This context MUST map each term to its corresponding URL, possibly accompanied by further
+ constraints like the type of the property value. A human-readable document describing the expected order of values for
+ the `@context` [=property=] is also expected to be published by any implementer seeking interoperability.
+
+ When processing the active context defined by the base JSON-LD Context
+ document defined in this specification, compliant JSON-LD-based processors produce an error when a JSON-LD context
+ redefines any term.
+ The only way to change the definition of existing terms is to introduce a new term that clears the active context within
+ the scope of that new term.
+ Authors that are interested in this feature should read about the `@protected`
+ keyword in the JSON-LD 1.1 specification.
+
-A human-readable document describing the expected order of values for the
-`@context` [=property=] is expected to be published by any
-implementer seeking interoperability. A machine-readable description
-(that is, a normal JSON-LD Context document) is expected to be published
-at the URL specified in the `@context` [=property=] by
-JSON-LD implementers seeking interoperability.
+ The base JSON-LD Context file for this specification also includes an extra feature, using the
+ `@vocab` keyword, which ensures
+ that any undefined term in a [=verifiable credential=] or a [=verifiable presentation=] is automatically mapped to a
+ URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`.
+ The purpose is to allow early experimentation with terms during the development phase, without
+ the necessity to provide a formal definition in every cycle of that experimentation.
+ However, developers SHOULD NOT use this feature in production; this
+ could lead to name clashes, yielding semantic ambiguities with other applications.
+ Instead, they SHOULD define all the
+ terms, as described earlier in this section, to achieve proper interoperability.
- When defining new terms in an application-dependent vocabulary, developers MUST use unique [=URLs=] to identify the terms.
- It is RECOMMENDED to re-use, whenever possible, terms—and their corresponding URLs—defined by well-known, public vocabularies,
+ When defining new terms in an application-specific vocabulary, developers MUST use unique [=URLs=] to identify the terms.
+ Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies,
such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]].
If that is not possible, developers MUST define a new URL for each term.
When doing so, general [[LINKED-DATA]] principles must be followed, in particular:
@@ -3088,7 +3088,7 @@
- When defining new terms in an application-specific vocabulary, developers MUST use unique [=URLs=] to identify the terms.
- Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies,
+ When defining new terms in an application-specific vocabulary, developers MUST use globally unambiguous [=URLs=] to identify the terms.
+ Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies,
such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]].
If that is not possible, developers MUST define a new URL for each term.
When doing so, general [[LINKED-DATA]] principles must be followed, in particular:
From def339e869ccfd2417609fc7ead153cc9a96b293 Mon Sep 17 00:00:00 2001
From: Ivan Herman Extensibility
Semantic Interoperability
+
-
+ Extensibility
Semantic Interoperability
Semantic Interoperability
Semantic Interoperability
`@vocab` keyword, which ensures
that any undefined term in a [=verifiable credential=] or a [=verifiable presentation=] is automatically mapped to a
URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`.
- The purpose is to allow early experimentation with terms during the development phase, without
- the necessity to provide a formal definition in every cycle of that experimentation.
- However, developers SHOULD NOT use this feature in production; this
+ This is to allow early experimentation with terms during the development phase, without
+ requiring a formal definition in every cycle of that experimentation.
+ Note that developers SHOULD NOT use this feature in production; this
could lead to name clashes, yielding semantic ambiguities with other applications.
Instead, they SHOULD define all the
terms, as described earlier in this section, to achieve proper interoperability.
From 791c9ee3db48df8b1f45645595eb863955163bcb Mon Sep 17 00:00:00 2001
From: Ivan Herman Extensibility
Semantic Interoperability
Semantic Interoperability
Semantic Interoperability
When defining new terms in an application-specific vocabulary, developers MUST use globally unambiguous [=URLs=] to identify the terms.
Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies,
such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]].
- If that is not possible, developers MUST define a new URL for each term.
- When doing so, general [[LINKED-DATA]] principles must be followed, in particular:
+ If that is not possible, developers must define a new URL for each term.
+ When doing so, the general [[LINKED-DATA]] are expected to be followed, in particular:
When defining new terms in an application-specific vocabulary, developers MUST use globally unambiguous [=URLs=] to identify the terms. Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies, - such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]]. - If that is not possible, developers must define a new URL for each term. - When doing so, the general [[LINKED-DATA]] are expected to be followed, in particular: + such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]]. + If that is not possible, authors MUST define a new URL for each term. + When doing so, the general guidelines for [[LINKED-DATA]] are expected to be followed, in particular:
Developers SHOULD follow the detailed checklist in [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary.
- Furthermore, a machine-readable description (that is, a + Furthermore, a machine-readable description (that is, a JSON-LD Context document) MUST be published at the URL specified - in the `@context` [=property=] for the vocabulary. + in the `@context` [=property=] for the vocabulary. This context MUST map each term to its corresponding URL, possibly accompanied by further constraints like the type of the property value. A human-readable document describing the expected order of values for - the `@context` [=property=] is also expected to be published by any implementer seeking interoperability. + the `@context` [=property=] is also expected to be published by any implementer seeking interoperability.
When processing the active context defined by the base JSON-LD Context - document defined in this specification, compliant JSON-LD-based processors produce an error when a JSON-LD context + document defined in this specification, compliant JSON-LD-based processors produce an error when a JSON-LD context redefines any term. The only way to change the definition of existing terms is to introduce a new term that clears the active context within - the scope of that new term. - Authors that are interested in this feature should read about the `@protected` + the scope of that new term. + Authors that are interested in this feature should read about the `@protected` keyword in the JSON-LD 1.1 specification.
- The base JSON-LD Context file for this specification also includes an extra feature, using the + The base JSON-LD Context file for this specification also includes an extra feature, using the `@vocab` keyword, which ensures that any undefined term in a [=verifiable credential=] or a [=verifiable presentation=] is automatically mapped to a - URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`. + URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`. This is to allow early experimentation with terms during the development phase, without - requiring a formal definition in every cycle of that experimentation. + requiring a formal definition in every cycle of that experimentation. Note that developers SHOULD NOT use this feature in production; this - could lead to name clashes, yielding semantic ambiguities with other applications. + could lead to name clashes, yielding semantic ambiguities with other applications. Instead, they SHOULD define all the - terms, as described earlier in this section, to achieve proper interoperability. + terms, as described earlier in this section, to achieve proper interoperability.
From 83dfad7ba2b4ae217be0a65781853f01745c1162 Mon Sep 17 00:00:00 2001 From: Manu Sporny- When defining new terms in an application-specific vocabulary, developers MUST use globally unambiguous [=URLs=] to identify the terms. - Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies, - such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]]. - If that is not possible, authors MUST define a new URL for each term. - When doing so, the general guidelines for [[LINKED-DATA]] are expected to be followed, in particular: +When defining new terms in an application-specific vocabulary, developers MUST +use globally unambiguous [=URLs=] to identify the terms. Whenever possible, it +is RECOMMENDED to re-use terms — and their corresponding URLs — defined by +well-known, public vocabularies, such as [[[?DCTERMS]]] [[?DCTERMS]] or +[[[?schema-org]]] [[?schema-org]]. If that is not possible, authors MUST +define a new URL for each term. When doing so, the general guidelines +for [[LINKED-DATA]] are expected to be followed, in particular:
- Developers SHOULD follow the detailed checklist in - [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary. +Developers SHOULD follow the detailed +checklist in [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary.
- Furthermore, a machine-readable description (that is, a - JSON-LD Context document) MUST be published at the URL specified - in the `@context` [=property=] for the vocabulary. - This context MUST map each term to its corresponding URL, possibly accompanied by further - constraints like the type of the property value. A human-readable document describing the expected order of values for - the `@context` [=property=] is also expected to be published by any implementer seeking interoperability. +Furthermore, a machine-readable description (that is, a +JSON-LD Context document) MUST be +published at the URL specified in the `@context` [=property=] for the +vocabulary. This context MUST map each term to its corresponding URL, possibly +accompanied by further constraints like the type of the property value. A +human-readable document describing the expected order of values for the +`@context` [=property=] is also expected to be published by any implementer +seeking interoperability.
- When processing the active context defined by the base JSON-LD Context - document defined in this specification, compliant JSON-LD-based processors produce an error when a JSON-LD context - redefines any term. - The only way to change the definition of existing terms is to introduce a new term that clears the active context within - the scope of that new term. - Authors that are interested in this feature should read about the `@protected` - keyword in the JSON-LD 1.1 specification. +When processing the active +context defined by the base JSON-LD Context document defined in this specification, compliant JSON-LD-based +processors produce an error when a JSON-LD context +redefines any term. The only way to change the definition of existing +terms is to introduce a new term that clears the active context within the scope +of that new term. Authors that are interested in this feature should read about +the `@protected` +keyword in the JSON-LD 1.1 specification.
- The base JSON-LD Context file for this specification also includes an extra feature, using the - `@vocab` keyword, which ensures - that any undefined term in a [=verifiable credential=] or a [=verifiable presentation=] is automatically mapped to a - URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`. - This is to allow early experimentation with terms during the development phase, without - requiring a formal definition in every cycle of that experimentation. - Note that developers SHOULD NOT use this feature in production; this - could lead to name clashes, yielding semantic ambiguities with other applications. - Instead, they SHOULD define all the - terms, as described earlier in this section, to achieve proper interoperability. +The base JSON-LD Context file for this specification also includes an extra +feature, using the `@vocab` +keyword, which ensures that any undefined term in a [=verifiable credential=] or +a [=verifiable presentation=] is automatically mapped to a URL prefixed with +`https://www.w3.org/ns/credentials/issuer-dependent#`. This is to allow early +experimentation with terms during the development phase, without requiring a +formal definition in every cycle of that experimentation. Note that developers +SHOULD NOT use this feature in production; this could lead to name clashes, +yielding semantic ambiguities with other applications. Instead, they SHOULD +define all the terms, as described earlier in this section, to achieve proper +interoperability.