@@ -927,9 +927,7 @@ <h2>RDF Serialization/Deserialization</h2>
927
927
Once set, it is an error to attempt to change to a different processing mode,
928
928
and processors MUST generate,
929
929
a < a data-link-for ="JsonLdErrorCode "> processing mode conflict</ a >
930
- error and abort further processing.
931
- If unspecified, processors MUST set < a > processing mode</ a > to `json-ld-1.1`
932
- on the first attempt to use a JSON-LD 1.1 feature.</ p >
930
+ error and abort further processing.</ p >
933
931
934
932
< p > The algorithms in this specification are generally written with more concern for clarity
935
933
than efficiency. Thus, < a > JSON-LD Processors</ a > may
@@ -1177,16 +1175,13 @@ <h3>Algorithm</h3>
1177
1175
is set to `json-ld-1.0`,
1178
1176
a < a data-link-for ="JsonLdErrorCode "> processing mode conflict</ a >
1179
1177
error has been detected and processing is aborted.</ li >
1180
- < li > Set < a > processing mode</ a > ,
1181
- to `json-ld-1.1`, if not already set.</ li >
1182
1178
</ ol >
1183
1179
</ li >
1184
1180
< li class ="changed "> If < var > context</ var > has an < code > @import</ code > < a > entry</ a > :
1185
1181
< ol >
1186
1182
< li > If < a > processing mode</ a > is `json-ld-1.0`,
1187
1183
an < a data-link-for ="JsonLdErrorCode "> invalid context entry</ a >
1188
- error has been detected and processing is aborted.
1189
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1184
+ error has been detected and processing is aborted.</ li >
1190
1185
< li > Otherwise, if its value is not a < a > string</ a > ,
1191
1186
an < a data-link-for ="JsonLdErrorCode "> invalid @import value</ a >
1192
1187
error has been detected and processing is aborted.</ li >
@@ -1293,8 +1288,7 @@ <h3>Algorithm</h3>
1293
1288
< ol >
1294
1289
< li > If < a > processing mode</ a > is `json-ld-1.0`,
1295
1290
an < a data-link-for ="JsonLdErrorCode "> invalid context entry</ a >
1296
- error has been detected and processing is aborted.
1297
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1291
+ error has been detected and processing is aborted.</ li >
1298
1292
< li > Initialize < var > value</ var > to the value associated with the
1299
1293
< code > @direction</ code > < a > entry</ a > .</ li >
1300
1294
< li > If < var > value</ var > is < code > null</ code > , remove
@@ -1310,8 +1304,7 @@ <h3>Algorithm</h3>
1310
1304
< ol >
1311
1305
< li > If < a > processing mode</ a > is `json-ld-1.0`,
1312
1306
an < a data-link-for ="JsonLdErrorCode "> invalid context entry</ a >
1313
- error has been detected and processing is aborted.
1314
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1307
+ error has been detected and processing is aborted.</ li >
1315
1308
< li > Otherwise, if its value is not < a > boolean</ a > < code > true</ code > or < code > false</ code > ,
1316
1309
an < a data-link-for ="JsonLdErrorCode "> invalid @propagate value</ a >
1317
1310
error has been detected and processing is aborted.</ li >
@@ -1414,7 +1407,6 @@ <h3>Algorithm</h3>
1414
1407
and < a > processing mode</ a > is `json-ld-1.0`,
1415
1408
a < a data-link-for ="JsonLdErrorCode "> keyword redefinition</ a > error has
1416
1409
been detected and processing is aborted.
1417
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.
1418
1410
At this point, < var > value</ var >
1419
1411
MUST be a < a > map</ a > with only the entry < code > @container</ code >
1420
1412
and value < code > @set</ code >
@@ -1448,8 +1440,7 @@ <h3>Algorithm</h3>
1448
1440
is < code > true</ code > set the < a > protected</ a > in < var > definition</ var > to true.
1449
1441
If < a > processing mode</ a > is `json-ld-1.0`,
1450
1442
an < a data-link-for ="JsonLdErrorCode "> invalid term definition</ a >
1451
- has been detected and processing is aborted.
1452
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set. </ li >
1443
+ has been detected and processing is aborted. </ li >
1453
1444
< li class ="changed "> Otherwise, if there is no < code > @protected</ code > entry in < var > value</ var >
1454
1445
and the < var > protected</ var > parameter is < code > true</ code > ,
1455
1446
set the < a > protected</ a > in < var > definition</ var > to true.</ li >
@@ -1467,8 +1458,7 @@ <h3>Algorithm</h3>
1467
1458
< li class ="changed "> If the expanded < var > type</ var > is
1468
1459
`@json` or `@none`, and < a > processing mode</ a > is `json-ld-1.0`,
1469
1460
an < a data-link-for ="JsonLdErrorCode "> invalid type mapping</ a >
1470
- error has been detected and processing is aborted.
1471
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1461
+ error has been detected and processing is aborted.</ li >
1472
1462
< li > Otherwise, if the expanded < var > type</ var > is
1473
1463
neither < code > @id</ code > , nor < code > @vocab</ code > ,
1474
1464
nor an < a > absolute IRI</ a > ,
@@ -1607,8 +1597,7 @@ <h3>Algorithm</h3>
1607
1597
< li class ="changed "> If the container value
1608
1598
is < code > @graph</ code > , < code > @id</ code > , or < code > @type</ code > , or is otherwise not a < a > string</ a > ,
1609
1599
generate an < a data-link-for ="JsonLdErrorCode "> invalid container mapping</ a >
1610
- error and abort processing if < a > processing mode</ a > is `json-ld-1.0`.
1611
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1600
+ error and abort processing if < a > processing mode</ a > is `json-ld-1.0`.</ li >
1612
1601
< li > Set the < a > container mapping</ a > of < var > definition</ var > to
1613
1602
< var > container</ var > .</ li >
1614
1603
< li class ="changed "> If < a > container mapping</ a > is `@type`:
@@ -1626,8 +1615,7 @@ <h3>Algorithm</h3>
1626
1615
< li > If < a > processing mode</ a > is `json-ld-1.0` or
1627
1616
< a > container mapping</ a > does not include < code > @index</ code > ,
1628
1617
an < a data-link-for ="JsonLdErrorCode "> invalid term definition</ a >
1629
- has been detected and processing is aborted.
1630
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1618
+ has been detected and processing is aborted.</ li >
1631
1619
< li > Initialize < var > index</ var > to the value associated with the
1632
1620
< code > @index</ code > < a > entry</ a > , which MUST a < a > string</ a > expanding to an < a > absolute IRI</ a > .
1633
1621
Otherwise, an
@@ -1640,8 +1628,7 @@ <h3>Algorithm</h3>
1640
1628
< ol >
1641
1629
< li > If < a > processing mode</ a > is `json-ld-1.0`, an
1642
1630
< a data-link-for ="JsonLdErrorCode "> invalid term definition</ a >
1643
- has been detected and processing is aborted.
1644
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1631
+ has been detected and processing is aborted.</ li >
1645
1632
< li > Initialize < var > context</ var > to the value associated with the
1646
1633
< code > @context</ code > < a > entry</ a > , which is treated as a < var > local context</ var > .</ li >
1647
1634
< li > Invoke the < a href ="#context-processing-algorithm "> Context Processing algorithm</ a >
@@ -1689,8 +1676,7 @@ <h3>Algorithm</h3>
1689
1676
< ol >
1690
1677
< li > If < a > processing mode</ a > is `json-ld-1.0`, an
1691
1678
< a data-link-for ="JsonLdErrorCode "> invalid term definition</ a >
1692
- has been detected and processing is aborted.
1693
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1679
+ has been detected and processing is aborted.</ li >
1694
1680
< li > Initialize < a > nest value</ a > in < var > definition</ var > to the value associated with the
1695
1681
< code > @nest</ code > < a > entry</ a > , which MUST be a < a > string</ a > and
1696
1682
MUST NOT be a keyword other than < code > @nest</ code > . Otherwise, an
@@ -1703,8 +1689,7 @@ <h3>Algorithm</h3>
1703
1689
< li > If < a > processing mode</ a > is `json-ld-1.0`, or if
1704
1690
< var > term</ var > contains a colon (< code > :</ code > ), an
1705
1691
< a data-link-for ="JsonLdErrorCode "> invalid term definition</ a >
1706
- has been detected and processing is aborted.
1707
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
1692
+ has been detected and processing is aborted.</ li >
1708
1693
< li > Initialize the < a > prefix flag</ a > to the value associated with the
1709
1694
< code > @prefix</ code > < a > entry</ a > , which MUST be a < a > boolean</ a > . Otherwise, an
1710
1695
< a data-link-for ="JsonLdErrorCode "> invalid @prefix value</ a >
@@ -2383,8 +2368,7 @@ <h3>Algorithm</h3>
2383
2368
a < a data-link-for ="JsonLdErrorCode "> colliding keywords</ a >
2384
2369
error has been detected and processing is aborted.</ li >
2385
2370
< li class ="changed "> If < var > result</ var > already has an < var > expanded property</ var > < a > entry</ a > ,
2386
- for `@included` or `@type`.
2387
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
2371
+ for `@included` or `@type`.</ li >
2388
2372
< li > If < var > expanded property</ var > is < code > @id</ code > and
2389
2373
< var > value</ var > is not a < a > string</ a > , an
2390
2374
< a data-link-for ="JsonLdErrorCode "> invalid @id value</ a >
@@ -2435,8 +2419,7 @@ <h3>Algorithm</h3>
2435
2419
< li class ="changed "> If < var > expanded property</ var > is `@included`:
2436
2420
< ol >
2437
2421
< li > If < a > processing mode</ a > is `json-ld-1.0`,
2438
- continue with the next < var > key</ var > from < var > element</ var > .
2439
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
2422
+ continue with the next < var > key</ var > from < var > element</ var > .</ li >
2440
2423
< li > Set < var > expanded value</ var > to the result of using
2441
2424
this algorithm recursively passing < var > active context</ var > ,
2442
2425
< var > active property</ var > , < var > value</ var > for < var > element</ var > ,
@@ -2456,8 +2439,7 @@ <h3>Algorithm</h3>
2456
2439
set < var > expanded value</ var > to < var > value</ var > .
2457
2440
If < a > processing mode</ a > is `json-ld-1.0`,
2458
2441
an < a data-link-for ="JsonLdErrorCode "> invalid value object value</ a >
2459
- error has been detected and processing is aborted.
2460
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
2442
+ error has been detected and processing is aborted.</ li >
2461
2443
< li > Otherwise, if < var > value</ var > is not a < a > scalar</ a > or < code > null</ code > ,
2462
2444
an < a data-link-for ="JsonLdErrorCode "> invalid value object value</ a >
2463
2445
error has been detected and processing is aborted.</ li >
@@ -2493,8 +2475,7 @@ <h3>Algorithm</h3>
2493
2475
< li class ="changed "> If < var > expanded property</ var > is < code > @direction</ code > :
2494
2476
< ol >
2495
2477
< li > If < a > processing mode</ a > is `json-ld-1.0`,
2496
- continue with the next < var > key</ var > from < var > element</ var > .
2497
- Otherwise, set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.</ li >
2478
+ continue with the next < var > key</ var > from < var > element</ var > .</ li >
2498
2479
< li > If < var > value</ var > is neither `"ltr"` nor `"rtl"`, an
2499
2480
< a data-link-for ="JsonLdErrorCode "> invalid base direction</ a >
2500
2481
error has been detected and processing is aborted.</ li >
@@ -2579,7 +2560,6 @@ <h3>Algorithm</h3>
2579
2560
< li class ="changed "> If < var > expanded property</ var > is < code > @nest</ code > ,
2580
2561
add < var > key</ var > to < var > nests</ var > , initializing it to an empty < a > array</ a > ,
2581
2562
if necessary.
2582
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.
2583
2563
Continue with the next < var > key</ var > from < var > element</ var > .</ li >
2584
2564
< li class ="changed "> When the {{JsonLdOptions/frameExpansion}} flag is set,
2585
2565
if < var > expanded property</ var > is any other
@@ -2993,8 +2973,8 @@ <h3>Algorithm</h3>
2993
2973
return the result of concatenating the < a > IRI mapping</ a >
2994
2974
associated with < var > prefix</ var > and < var > suffix</ var > .
2995
2975
< p class ="ednote "> A more conservative change, although more involved,
2996
- would to restrict looking at the < a > prefix flag</ a > unless
2997
- the < a > processing mode</ a > is `json-ld-1.1 `.</ p > </ li >
2976
+ would to restrict looking at the < a > prefix flag</ a > if
2977
+ the < a > processing mode</ a > is `json-ld-1.0 `.</ p > </ li >
2998
2978
< li > < span class ="changed "> If < var > value</ var > has the form of an < a > absolute IRI</ a > </ span > ,
2999
2979
return < var > value</ var > .</ li >
3000
2980
</ ol >
@@ -4005,11 +3985,11 @@ <h3>Algorithm</h3>
4005
3985
be the last < a > container mapping</ a > value to be checked as it
4006
3986
is the most generic.</ li >
4007
3987
< li class ="changed ">
4008
- If < a > processing mode</ a > is `json-ld-1.1 ` and value does not contain an < code > @index</ code > < a > entry</ a > ,
3988
+ If < a > processing mode</ a > not `json-ld-1.0 ` and value does not contain an < code > @index</ code > < a > entry</ a > ,
4009
3989
append < code > @index</ code > and < code > @index@set</ code > to < var > containers</ var > .
4010
3990
</ li >
4011
3991
< li class ="changed ">
4012
- If < a > processing mode</ a > is `json-ld-1.1 ` and value contains only an < code > @value</ code > < a > entry</ a > ,
3992
+ If < a > processing mode</ a > is not `json-ld-1.0 ` and value contains only an < code > @value</ code > < a > entry</ a > ,
4013
3993
append < code > @language</ code > and < code > @language@set</ code > to < var > containers</ var > .
4014
3994
</ li >
4015
3995
< li > If < var > type/language value</ var > is < code > null</ code > , set it to
@@ -5323,7 +5303,6 @@ <h3>Algorithm</h3>
5323
5303
set < var > converted value</ var > to the result of
5324
5304
turning the lexical value of < var > value</ var >
5325
5305
into the < a > JSON-LD internal representation</ a > , and set < var > type</ var > to < code > @json</ code > .
5326
- Set < a > processing mode</ a > , to `json-ld-1.1`, if not already set.
5327
5306
If the lexical value of < var > value</ var > is not valid JSON according to
5328
5307
the < a data-cite ="RFC8259#section-2 "> JSON Grammar</ a > [[RFC8259]],
5329
5308
an < a data-link-for ="JsonLdErrorCode "> invalid JSON literal</ a >
@@ -6725,9 +6704,7 @@ <h4>JsonLdErrorCode</h4>
6725
6704
other than for testing considerations.
6726
6705
Language tags that are not valid according to [[BCP47]] are rejected.</ li >
6727
6706
< li > The < a > processing mode</ a > is now implicitly `json-ld-1.1`, unless set
6728
- explicitly to `json-ld-1.0`. Processing mode is wired to `json-ld-1.1`
6729
- when the first JSON-LD 1.1 specific feature is encountered, and it is
6730
- not set explicilty.</ li >
6707
+ explicitly to `json-ld-1.0`.</ li >
6731
6708
</ ul >
6732
6709
</ section >
6733
6710
0 commit comments