@@ -1332,10 +1332,6 @@ <h3>Algorithm</h3>
1332
1332
error has been detected and processing is aborted.</ li >
1333
1333
< li class ="changed "> Set < var > previous definition</ var > to any existing
1334
1334
< a > term definition</ a > for < var > term</ var > in < var > active context</ var > .</ li >
1335
- < li class ="changed "> If < var > from property</ var > is < code > false</ code >
1336
- and < var > previous definition</ var > exists and is protected,
1337
- a < a data-link-for ="JsonLdErrorCode "> protected term redefinition</ a > error has been detected,
1338
- and processing is aborted.</ li >
1339
1335
< li > Otherwise, remove any < var > previous definition</ var > from
1340
1336
< var > active context</ var > .</ li >
1341
1337
< li > If < var > value</ var > is < code > null</ code > or < var > value</ var >
@@ -1344,7 +1340,9 @@ <h3>Algorithm</h3>
1344
1340
< a > term definition</ a > in < var > active context</ var > to
1345
1341
< code > null</ code > ,
1346
1342
and set the value associated with < var > defined</ var > 's
1347
- < a > member</ a > < var > term</ var > to < code > true</ code > , and return.</ li >
1343
+ < a > member</ a > < var > term</ var > to < code > true</ code > , and return.
1344
+ < div class ="ednote "> Should probably store as a dictionary with < code > @id</ code > -< code > null</ code >
1345
+ and retain < code > @protected</ code > so we can protect against redefinitions.</ div > </ li >
1348
1346
< li > Otherwise, if < var > value</ var > is a < a > string</ a > , convert it
1349
1347
to a < a class ="changed "> dictionary</ a > consisting of a single < a > member</ a > whose
1350
1348
key is < code > @id</ code > and whose value is < var > value</ var > .
@@ -1580,6 +1578,17 @@ <h3>Algorithm</h3>
1580
1578
< code class ="changed "> @prefix</ code > , or < code > @type</ code > , an
1581
1579
< a data-link-for ="JsonLdErrorCode "> invalid term definition</ a > error has
1582
1580
been detected and processing is aborted.</ li >
1581
+ < li class ="changed "> If < var > from property</ var > is < code > false</ code >
1582
+ and < var > previous definition</ var > exists and is protected;
1583
+ < ol >
1584
+ < li > If < var > definition</ var > is not the same as < var > previous definition</ var >
1585
+ (other than the value of < a > protected</ a > ),
1586
+ a < a data-link-for ="JsonLdErrorCode "> protected term redefinition</ a > error has been detected,
1587
+ and processing is aborted.</ li >
1588
+ < li > Set < var > definition</ var > to < var > previous definition</ var > to retain the value
1589
+ of < a > protected</ a > .</ li >
1590
+ </ ol >
1591
+ </ li >
1583
1592
< li > Set the < a > term definition</ a > of < var > term</ var > in
1584
1593
< var > active context</ var > to < var > definition</ var > and set the value
1585
1594
associated with < var > defined</ var > 's < a > member</ a > < var > term</ var > to
0 commit comments