@@ -2549,6 +2549,27 @@ <h3>Using the Document Base as the Default Vocabulary</h3>
2549
2549
< a > keywords</ a > have been given the aliases
2550
2550
< strong > url</ strong > and < strong > a</ strong > , respectively.</ p >
2551
2551
2552
+ < p > < span class ="changed "> Other than for < code > @type</ code > ,</ span > properties of
2553
+ < a > expanded term definitions</ a > where the term is a < a > keyword</ a > are be ignored.</ p >
2554
+
2555
+ < p class ="changed "> When < a > processing mode</ a > is set to < code > json-ld-1.1</ code > ,
2556
+ < code > @type</ code > may be used with an < a > expanded term definition</ a > with < code > @container</ code > set
2557
+ to < code > @set</ code > ; no other members may be set within such an < a > expanded term definition</ a > .
2558
+ This is used by the < a data-cite ="JSON-LD11-API#compaction-algorithm "> Compaction algorithm</ a > to ensure that the values of @type (or an alias)
2559
+ are always represented in an < a > array</ a > .</ p >
2560
+
2561
+ < pre class ="example " data-transform ="updateExample " title ="Setting @container: @set on @type ">
2562
+ <!--
2563
+ {
2564
+ "@context": {
2565
+ "@version": 1.1,
2566
+ "@type": {"@container": "@set"}
2567
+ },
2568
+ "@type": ["http:/example.org/type"]
2569
+ }
2570
+ -->
2571
+ </ pre >
2572
+
2552
2573
< p > Since keywords cannot be redefined, they can also not be aliased to
2553
2574
other keywords.</ p >
2554
2575
@@ -9013,7 +9034,7 @@ <h2>Context Definitions</h2>
9013
9034
< p > A < a > context definition</ a > MUST be a < a > dictionary</ a > whose
9014
9035
keys MUST be either < a > terms</ a > , < a > compact IRIs</ a > , < a > absolute IRIs</ a > ,
9015
9036
or one of the < a > keywords</ a > < code > @language</ code > , < code > @base</ code > ,
9016
- < code > @vocab</ code > , or < code class ="changed "> @version</ code > .</ p >
9037
+ < code class =" changed " > @type </ code > , < code > @vocab</ code > , or < code class ="changed "> @version</ code > .</ p >
9017
9038
9018
9039
< p > If the < a > context definition</ a > has an < code > @language</ code > key,
9019
9040
its value MUST have the < a data-cite ="BCP47#section-2.1.1 "> lexical form</ a > described in [[!BCP47]] or be < a > null</ a > .</ p >
@@ -9022,6 +9043,9 @@ <h2>Context Definitions</h2>
9022
9043
its value MUST be an < a > absolute IRI</ a > , a < a > relative IRI</ a > ,
9023
9044
or < a > null</ a > .</ p >
9024
9045
9046
+ < p class ="changed "> If the < a > context definition</ a > has an < code > @type</ code > key,
9047
+ its value MUST be a < a > dictionary</ a > with the single member < code > @context</ code > with value < code > @set</ code > .</ p >
9048
+
9025
9049
< p > If the < a > context definition</ a > has an < code > @vocab</ code > key,
9026
9050
its value MUST be a < a > absolute IRI</ a > , a < a > compact IRI</ a > ,
9027
9051
a < a > blank node identifier</ a > ,
@@ -9854,14 +9878,18 @@ <h2>Changes since 1.0 Recommendation of 16 January 2014</h2>
9854
9878
a context. When this is set, vocabulary-relative IRIs, such as the
9855
9879
keys of < a > node objects</ a > , are expanded or compacted relative
9856
9880
to the < a > base IRI</ a > using string concatenation.</ li >
9857
- < li > < a > Lists</ a > may now have items which are themselves < a > lists</ a > .</ li >
9858
9881
</ ul >
9882
+ < p > Additionally, see < a href ="#changes-from-cg " class ="sectionRef "> </ a > .</ p >
9859
9883
</ section >
9860
9884
9861
9885
< section class ="appendix informative " id ="changes-from-cg ">
9862
9886
< h2 > Changes since JSON-LD Community Group Final Report</ h2 >
9863
9887
< ul >
9864
9888
< li > < a > Lists</ a > may now have items which are themselves < a > lists</ a > .</ li >
9889
+ < li > Values of < code > @type</ code > , or an alais of < code > @type</ code > , may now have their < code > @container</ code > set to @set
9890
+ to ensure that < code > @type</ code > members are always represented as an array. This
9891
+ also allows a term to be defined for < code > @type</ code > , where the value MUST be a < a > dictionary</ a >
9892
+ with < code > @container</ code > set to < code > @set</ code > .</ li >
9865
9893
</ ul >
9866
9894
</ section >
9867
9895
0 commit comments