@@ -3052,13 +3052,20 @@ <h3>Using the Document Base for the Default Vocabulary</h3>
3052
3052
<p><span class="changed">Other than for <code>@type</code>,</span> properties of
3053
3053
<a>expanded term definitions</a> where the term is a <a>keyword</a>
3054
3054
result in an error.
3055
- <span class="changed">When processing mode is set to <code>json-ld-1.1</code>,
3056
- a keyword may be used with an <a>expanded term definition</a> having
3057
- only the <a>entry</a> `@protected`;
3058
- see <a href="#protected-term-definitions" class="sectionRef"></a> for further details.
3059
- There is also an exception for <code>@type</code>;
3055
+ <span class="changed">When processing mode is set to <code>json-ld-1.1</code>,t
3056
+ there is also an exception for <code>@type</code>;
3060
3057
see <a href="#using-set-with-type" class="sectionRef"></a> for further details.</span></p>
3061
3058
3059
+ <p class="changed">When processing mode is set to <code>json-ld-1.1</code>,
3060
+ aliases of <a>keywords</a> are either <a>simple term definitions</a>,
3061
+ where the value is a <a>keyword</a>,
3062
+ or a <a>expanded term definitions</a> with an `@id` <a>entry</a> and optionally an `@protected` <a>entry</a>;
3063
+ no other entries are allowed.
3064
+ there is also an exception for aliases of <code>@type</code>,
3065
+ as indicated above.
3066
+ See <a href="#protected-term-definitions" class="sectionRef"></a> for further details
3067
+ of using `@protected`.</p>
3068
+
3062
3069
<p>Since keywords cannot be redefined, they can also not be aliased to
3063
3070
other keywords.</p>
3064
3071
@@ -11678,9 +11685,10 @@ <h1>JSON-LD Grammar</h1>
11678
11685
<h2>Terms</h2>
11679
11686
11680
11687
<p>A <a>term</a> is a short-hand <a>string</a> that expands
11681
- to an <a>IRI</a> or a <a>blank node identifier</a>.</p>
11688
+ to an <a>IRI</a>, <a>blank node identifier</a>, or <a>keyword </a>.</p>
11682
11689
11683
- <p>A <a>term</a> MUST NOT equal any of the JSON-LD <a>keywords</a>.</p>
11690
+ <p>A <a>term</a> MUST NOT equal any of the JSON-LD <a>keywords</a>,
11691
+ <span class="changed">other than `@type` in</span>.</p>
11684
11692
11685
11693
<p class="changed">When used as the <a>prefix</a> in a <a>Compact IRI</a>, to avoid
11686
11694
the potential ambiguity of a <a>prefix</a> being confused with an IRI
@@ -12167,7 +12175,8 @@ <h2>Context Definitions</h2>
12167
12175
or <a>null</a>.</p>
12168
12176
12169
12177
<p class="changed">If the <a>context definition</a> has an <code>@type</code> key,
12170
- its value MUST be a <a>map</a> with the single <a>entry</a> <code>@container</code> set to <code>@set</code>.</p>
12178
+ its value MUST be a <a>map</a> with the single <a>entry</a> <code>@container</code> set to <code>@set</code>,
12179
+ and optional entry `@protected`.</p>
12171
12180
12172
12181
<p>If the <a>context definition</a> has an <code>@vocab</code> key,
12173
12182
its value MUST be a <a>absolute IRI</a>, a <a>compact IRI</a>,
@@ -12197,10 +12206,15 @@ <h2>Context Definitions</h2>
12197
12206
<code>@language</code>,
12198
12207
<code>@container</code>,
12199
12208
<code class="changed">@context</code>,
12200
- <code class="changed">@prefix</code>, or
12209
+ <code class="changed">@prefix</code>,
12210
+ <code class="changed">@protected</code>, or
12201
12211
<code class="changed">@propagate</code>.
12202
12212
An <a>expanded term definition</a> SHOULD NOT contain any other keys.</p>
12203
12213
12214
+ <p class="changed">When the associated term is `@type`, the <a>expanded term definition</a>
12215
+ MUST NOT contain keys other than `@container` and `@protected`.
12216
+ The value of `@container` is limited to the single value `@set`.</p>
12217
+
12204
12218
<p>If the term being defined is not a <a>compact IRI</a> or
12205
12219
<a>absolute IRI</a> and the <a>active context</a> does not have an
12206
12220
<code>@vocab</code> mapping, the <a>expanded term definition</a> MUST
@@ -12268,6 +12282,9 @@ <h2>Context Definitions</h2>
12268
12282
<p class="changed">If the <a>expanded term definition</a> contains the <code>@propagate</code>
12269
12283
<a>keyword</a>, its value MUST be <code>true</code> or <code>false</code>.</p>
12270
12284
12285
+ <p class="changed">If the <a>expanded term definition</a> contains the <code>@protected</code>
12286
+ <a>keyword</a>, its value MUST be <code>true</code> or <code>false</code>.</p>
12287
+
12271
12288
<p class="changed">If a <a>context</a> contains the <code>@import</code>
12272
12289
<a>keyword</a>, its value MUST be an <a>absolute IRI</a> or <a>relative IRI</a>.
12273
12290
When used as a reference from an `@import`, the referenced <a>context definition</a> MUST NOT
0 commit comments