Skip to content

Commit 3a63d91

Browse files
committed
Handle @version context entries
1 parent 53470d6 commit 3a63d91

File tree

5 files changed

+19
-26
lines changed

5 files changed

+19
-26
lines changed

core/reports/json-ld-api-tests-skip

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,9 @@ https://w3c.github.io/json-ld-api/tests/compact-manifest#tc023
5656
https://w3c.github.io/json-ld-api/tests/compact-manifest#tc024
5757
https://w3c.github.io/json-ld-api/tests/compact-manifest#tc025
5858
https://w3c.github.io/json-ld-api/tests/compact-manifest#tc026
59-
https://w3c.github.io/json-ld-api/tests/compact-manifest#tc027
6059
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi01
6160
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi02
6261
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi03
63-
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi04
6462
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi05
6563
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi06
6664
https://w3c.github.io/json-ld-api/tests/compact-manifest#tdi07
@@ -193,8 +191,6 @@ https://w3c.github.io/json-ld-api/tests/expand-manifest#t0122
193191
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0123
194192
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0124
195193
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0125
196-
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0126
197-
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0127
198194
https://w3c.github.io/json-ld-api/tests/expand-manifest#t0128
199195
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc001
200196
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc002
@@ -221,7 +217,6 @@ https://w3c.github.io/json-ld-api/tests/expand-manifest#tc023
221217
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc024
222218
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc025
223219
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc026
224-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc027
225220
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc028
226221
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc029
227222
https://w3c.github.io/json-ld-api/tests/expand-manifest#tc030
@@ -371,10 +366,6 @@ https://w3c.github.io/json-ld-api/tests/expand-manifest#tn005
371366
https://w3c.github.io/json-ld-api/tests/expand-manifest#tn006
372367
https://w3c.github.io/json-ld-api/tests/expand-manifest#tn007
373368
https://w3c.github.io/json-ld-api/tests/expand-manifest#tn008
374-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tp001
375-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tp002
376-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tp003
377-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tp004
378369
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi01
379370
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi02
380371
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi03
@@ -387,14 +378,12 @@ https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi09
387378
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi10
388379
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpi11
389380
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr01
390-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr02
391381
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr03
392382
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr04
393383
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr05
394384
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr06
395385
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr08
396386
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr09
397-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr10
398387
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr11
399388
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr12
400389
https://w3c.github.io/json-ld-api/tests/expand-manifest#tpr13
@@ -432,7 +421,6 @@ https://w3c.github.io/json-ld-api/tests/expand-manifest#tso05
432421
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso06
433422
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso07
434423
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso08
435-
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso09
436424
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso10
437425
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso11
438426
https://w3c.github.io/json-ld-api/tests/expand-manifest#tso12
@@ -512,7 +500,6 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc023
512500
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc024
513501
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc025
514502
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc026
515-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc027
516503
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc028
517504
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc029
518505
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc030
@@ -522,9 +509,7 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc033
522509
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc034
523510
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi01
524511
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi02
525-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi03
526512
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi04
527-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi05
528513
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi06
529514
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi07
530515
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tdi08
@@ -575,8 +560,6 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te122
575560
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te123
576561
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#t0124
577562
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#t0125
578-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te126
579-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te127
580563
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te128
581564
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tec01
582565
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tec02
@@ -708,10 +691,6 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tn005
708691
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tn006
709692
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tn007
710693
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tn008
711-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tp001
712-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tp002
713-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tp003
714-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tp004
715694
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi01
716695
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi02
717696
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi03
@@ -724,14 +703,12 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi09
724703
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi10
725704
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpi11
726705
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr01
727-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr02
728706
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr03
729707
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr04
730708
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr05
731709
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr06
732710
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr08
733711
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr09
734-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr10
735712
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr11
736713
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr12
737714
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tpr13
@@ -770,7 +747,6 @@ https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso05
770747
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso06
771748
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso07
772749
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso08
773-
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso09
774750
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso10
775751
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso11
776752
https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso12

core/src/main/java/com/github/jsonldjava/core/Context.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,18 @@ else if (context instanceof String) {
215215
// 3.3
216216
throw new JsonLdError(Error.INVALID_LOCAL_CONTEXT, context);
217217
}
218+
// 5.5 in 1.1 (https://w3c.github.io/json-ld-api/#context-processing-algorithm)
219+
if (((Map<String, Object>) context).containsKey(JsonLdConsts.VERSION)) {
220+
final Object version = ((Map<String, Object>) context).get(JsonLdConsts.VERSION);
221+
// 5.5.1
222+
if(!version.equals(Double.valueOf(1.1))) {
223+
throw new JsonLdError(Error.INVALID_VERSION_VALUE, context);
224+
}
225+
// 5.5.2
226+
if(options.getProcessingMode().equals(JsonLdOptions.JSON_LD_1_0)) {
227+
throw new JsonLdError(Error.PROCESSING_MODE_CONFLICT, context);
228+
}
229+
}
218230
checkEmptyKey((Map<String, Object>) context);
219231
// 3.4
220232
if (!parsingARemoteContext
@@ -277,7 +289,7 @@ else if (context instanceof String) {
277289
final Map<String, Boolean> defined = new LinkedHashMap<String, Boolean>();
278290
for (final String key : ((Map<String, Object>) context).keySet()) {
279291
if (JsonLdConsts.BASE.equals(key) || JsonLdConsts.VOCAB.equals(key)
280-
|| JsonLdConsts.LANGUAGE.equals(key)) {
292+
|| JsonLdConsts.LANGUAGE.equals(key) || JsonLdConsts.VERSION.equals(key)) {
281293
continue;
282294
}
283295
result.createTermDefinition((Map<String, Object>) context, key, defined);

core/src/main/java/com/github/jsonldjava/core/JsonLdConsts.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public final class JsonLdConsts {
5858
public static final String VOCAB = "@vocab";
5959
public static final String BASE = "@base";
6060
public static final String REQUIRE_ALL = "@requireAll";
61+
public static final String VERSION = "@version";
6162

6263
public enum Embed {
6364
ALWAYS, NEVER, LAST, LINK;

core/src/main/java/com/github/jsonldjava/core/JsonLdError.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ public enum Error {
102102

103103
INVALID_EMBED_VALUE("invalid @embed value"),
104104

105+
INVALID_VERSION_VALUE("invalid @version value"),
106+
107+
PROCESSING_MODE_CONFLICT("processing mode conflict"),
108+
105109
// non spec related errors
106110
SYNTAX_ERROR("syntax error"),
107111

core/src/main/java/com/github/jsonldjava/core/JsonLdOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public JsonLdOptions copy() {
8787
* http://www.w3.org/TR/json-ld-api/#widl-JsonLdOptions-processingMode
8888
* jsonld 1.1: https://www.w3.org/TR/json-ld11/#dfn-processing-mode
8989
*/
90-
private String processingMode = JSON_LD_1_0;
90+
private String processingMode = JSON_LD_1_1;
9191
/**
9292
* http://www.w3.org/TR/json-ld-api/#widl-JsonLdOptions-documentLoader
9393
*/

0 commit comments

Comments
 (0)