@@ -3079,61 +3079,69 @@ <h3>Extensibility</h3>
3079
3079
< h4 > Semantic Interoperability</ h4 >
3080
3080
3081
3081
< p >
3082
- When defining new terms in an application-specific vocabulary, developers MUST use globally unambiguous [=URLs=] to identify the terms.
3083
- Whenever possible, it is RECOMMENDED to re-use terms — and their corresponding URLs — defined by well-known, public vocabularies,
3084
- such as [[[?DCTERMS]]] [[?DCTERMS]] or [[[?schema-org]]] [[?schema-org]].
3085
- If that is not possible, authors MUST < em > define</ em > a new URL for each term.
3086
- When doing so, the general guidelines for [[LINKED-DATA]] are expected to be followed, in particular:
3082
+ When defining new terms in an application-specific vocabulary, developers MUST
3083
+ use globally unambiguous [=URLs=] to identify the terms. Whenever possible, it
3084
+ is RECOMMENDED to re-use terms — and their corresponding URLs — defined by
3085
+ well-known, public vocabularies, such as [[[?DCTERMS]]] [[?DCTERMS]] or
3086
+ [[[?schema-org]]] [[?schema-org]]. If that is not possible, authors MUST
3087
+ < em > define</ em > a new URL for each term. When doing so, the general guidelines
3088
+ for [[LINKED-DATA]] are expected to be followed, in particular:
3087
3089
</ p >
3088
3090
3089
3091
< ul >
3090
3092
< li >
3091
- Human-readable documentation MUST be published, describing the semantics of and
3092
- the constraints on the use of each term.
3093
+ Human-readable documentation MUST be published, describing the semantics of and
3094
+ the constraints on the use of each term.
3093
3095
</ li >
3094
3096
< li >
3095
- It is RECOMMENDED to also publish the collection of all new terms as a machine-readable vocabulary
3096
- using [[[?RDF-SCHEMA]]] [[?RDF-SCHEMA]].
3097
+ It is RECOMMENDED to also publish the collection of all new terms as a
3098
+ machine-readable vocabulary using [[[?RDF-SCHEMA]]] [[?RDF-SCHEMA]].
3097
3099
</ li >
3098
3100
< li >
3099
- It SHOULD be possible to dereference the URL of a term, resulting in its description and/or formal definition.
3101
+ It SHOULD be possible to dereference the URL of a term, resulting in its
3102
+ description and/or formal definition.
3100
3103
</ li >
3101
3104
</ ul >
3102
3105
3103
3106
< p >
3104
- Developers SHOULD follow the < a data-cite ="?LD-BP#vocabulary-checklist "> detailed checklist </ a > in
3105
- [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary.
3107
+ Developers SHOULD follow the < a data-cite ="?LD-BP#vocabulary-checklist "> detailed
3108
+ checklist </ a > in [[[?LD-BP]]] [[?LD-BP]] when defining a new vocabulary.
3106
3109
</ p >
3107
3110
< p >
3108
- Furthermore, a machine-readable description (that is, a
3109
- < a data-cite ="JSON-LD11#dfn-context "> JSON-LD Context document</ a > ) MUST be published at the URL specified
3110
- in the `@context` [=property=] for the vocabulary.
3111
- This context MUST map each term to its corresponding URL, possibly accompanied by further
3112
- constraints like the type of the property value. A human-readable document describing the expected order of values for
3113
- the `@context` [=property=] is also expected to be published by any implementer seeking interoperability.
3111
+ Furthermore, a machine-readable description (that is, a
3112
+ < a data-cite ="JSON-LD11#dfn-context "> JSON-LD Context document</ a > ) MUST be
3113
+ published at the URL specified in the `@context` [=property=] for the
3114
+ vocabulary. This context MUST map each term to its corresponding URL, possibly
3115
+ accompanied by further constraints like the type of the property value. A
3116
+ human-readable document describing the expected order of values for the
3117
+ `@context` [=property=] is also expected to be published by any implementer
3118
+ seeking interoperability.
3114
3119
</ p >
3115
3120
3116
3121
< p class ="note ">
3117
- When processing the < a data-cite ="JSON-LD11#dfn-active-context "> active context</ a > defined by the base JSON-LD Context
3118
- document < a href ="#dfn-context "> defined in this specification</ a > , compliant JSON-LD-based processors produce an error when a JSON-LD context
3119
- < em > redefines</ em > any term.
3120
- The only way to change the definition of existing terms is to introduce a new term that clears the active context within
3121
- the scope of that new term.
3122
- Authors that are interested in this feature should read about the < a data-cite ="JSON-LD11#protected-term-definitions "> `@protected`</ a >
3123
- keyword in the JSON-LD 1.1 specification.
3122
+ When processing the < a data-cite ="JSON-LD11#dfn-active-context "> active
3123
+ context</ a > defined by the base JSON-LD Context document < a
3124
+ href ="#dfn-context "> defined in this specification</ a > , compliant JSON-LD-based
3125
+ processors produce an error when a JSON-LD context
3126
+ < em > redefines</ em > any term. The only way to change the definition of existing
3127
+ terms is to introduce a new term that clears the active context within the scope
3128
+ of that new term. Authors that are interested in this feature should read about
3129
+ the < a data-cite ="JSON-LD11#protected-term-definitions "> `@protected`</ a >
3130
+ keyword in the JSON-LD 1.1 specification.
3124
3131
</ p >
3125
3132
3126
3133
< p >
3127
- The base JSON-LD Context file for this specification also includes an extra feature, using the
3128
- < a data-cite ="JSON-LD11/#default-vocabulary "> `@vocab`</ a > keyword, which ensures
3129
- that any undefined term in a [=verifiable credential=] or a [=verifiable presentation=] is automatically mapped to a
3130
- URL prefixed with `https://www.w3.org/ns/credentials/issuer-dependent#`.
3131
- This is to allow early experimentation with terms during the development phase, without
3132
- requiring a formal definition in every cycle of that experimentation.
3133
- Note that developers SHOULD NOT use this feature in production; this
3134
- could lead to name clashes, yielding semantic ambiguities with other applications.
3135
- Instead, they SHOULD define all the
3136
- terms, as described earlier in this section, to achieve proper interoperability.
3134
+ The base JSON-LD Context file for this specification also includes an extra
3135
+ feature, using the < a data-cite ="JSON-LD11/#default-vocabulary "> `@vocab`</ a >
3136
+ keyword, which ensures that any undefined term in a [=verifiable credential=] or
3137
+ a [=verifiable presentation=] is automatically mapped to a URL prefixed with
3138
+ `https://www.w3.org/ns/credentials/issuer-dependent#`. This is to allow early
3139
+ experimentation with terms during the development phase, without requiring a
3140
+ formal definition in every cycle of that experimentation. Note that developers
3141
+ SHOULD NOT use this feature in production; this could lead to name clashes,
3142
+ yielding semantic ambiguities with other applications. Instead, they SHOULD
3143
+ define all the terms, as described earlier in this section, to achieve proper
3144
+ interoperability.
3137
3145
</ p >
3138
3146
</ section >
3139
3147
</ section >
0 commit comments