diff --git a/tests/expand-manifest.html b/tests/expand-manifest.html
index 299294ca..d269472d 100644
--- a/tests/expand-manifest.html
+++ b/tests/expand-manifest.html
@@ -3030,6 +3030,62 @@
+
+Test t0124 compact IRI as @vocab
+
+
+
+- id
+- #t0124
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Verifies that @vocab defined as a compact IRI expands properly
+- input
+-
+expand/0124-in.jsonld
+
+- expect
+-
+expand/0124-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test t0125 term as @vocab
+
+
+
+- id
+- #t0125
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Verifies that @vocab defined as a term expands properly
+- input
+-
+expand/0125-in.jsonld
+
+- expect
+-
+expand/0125-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
Test tc001 adding new term
@@ -4236,122 +4292,136 @@
-
-Test te001 Keywords cannot be aliased to other keywords
+
+Test tec01 Invalid keyword in term definition
- id
-- #te001
+- #tec01
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword
+- Verifies that an exception is raised on expansion when a invalid term definition is found
- input
-
-expand/e001-in.jsonld
+expand/ec01-in.jsonld
- expect
-
-keyword redefinition
+invalid term definition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te002 A context may not include itself recursively (direct)
+
+Test tec02 Term definition on @type with empty map
- id
-- #te002
+- #tec02
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when processing a context referencing itself
+- Verifies that an exception is raised if @type is defined as a term with an empty map
- input
-
-expand/e002-in.jsonld
+expand/ec02-in.jsonld
- expect
-
-recursive context inclusion
+keyword redefinition
- Options
-
- specVersion
-- json-ld-1.0
+- json-ld-1.1
-
-Test te003 A context may not include itself recursively (indirect)
+
+Test tem01 Invalid container mapping
- id
-- #te003
+- #tem01
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when processing a context referencing itself indirectly
+- Verifies that an exception is raised on expansion when a invalid container mapping is found
- input
-
-expand/e003-in.jsonld
+expand/em01-in.jsonld
- expect
-
-recursive context inclusion
+invalid container mapping
- Options
-
- specVersion
-- json-ld-1.0
+- json-ld-1.1
-
-Test te004 Error dereferencing a remote context
+
+Test ten01 @nest MUST NOT have a string value
- id
-- #te004
+- #ten01
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context dereference results in an error
+- container: @nest
- input
-
-expand/e004-in.jsonld
+expand/en01-in.jsonld
- expect
-
-loading remote context failed
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te005 Invalid remote context
+
+Test ten02 @nest MUST NOT have a boolen value
- id
-- #te005
+- #ten02
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a remote context is not an object containing @context
+- Transparent Nesting
- input
-
-expand/e005-in.jsonld
+expand/en02-in.jsonld
- expect
-
-invalid remote context
+invalid @nest value
- Options
-
@@ -4362,1155 +4432,1108 @@
-
-Test te006 Invalid local context
+
+Test ten03 @nest MUST NOT have a numeric value
- id
-- #te006
+- #ten03
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context is not a string or object
+- Transparent Nesting
- input
-
-expand/e006-in.jsonld
+expand/en03-in.jsonld
- expect
-
-invalid local context
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te007 Invalid base IRI
+
+Test ten04 @nest MUST NOT have a value object value
- id
-- #te007
+- #ten04
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context contains an invalid @base
+- Transparent Nesting
- input
-
-expand/e007-in.jsonld
+expand/en04-in.jsonld
- expect
-
-invalid base IRI
+invalid @nest value
+- Options
+-
+
+- specVersion
+- json-ld-1.1
--
-Test te008 Invalid vocab mapping
+
+
+
+Test ten05 does not allow a keyword other than @nest for the value of @nest
- id
-- #te008
+- #ten05
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping
+- Transparent Nesting
- input
-
-expand/e008-in.jsonld
+expand/en05-in.jsonld
- expect
-
-invalid vocab mapping
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te009 Invalid default language
+
+Test ten06 does not allow @nest with @reverse
- id
-- #te009
+- #ten06
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context contains an invalid @language
+- Transparent Nesting
- input
-
-expand/e009-in.jsonld
+expand/en06-in.jsonld
- expect
-
-invalid default language
+invalid reverse property
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te010 Cyclic IRI mapping
+
+Test tep02 processingMode json-ld-1.0 conflicts with @version: 1.1
- id
-- #te010
+- #tep02
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a cyclic IRI mapping is found
+- If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.
- input
-
-expand/e010-in.jsonld
+expand/ep02-in.jsonld
- expect
-
-cyclic IRI mapping
+processing mode conflict
+- Options
+-
+
+- processingMode
+- json-ld-1.0
+- specVersion
+- json-ld-1.1
--
-Test te011 Invalid term definition
+
+
+
+Test tep03 @version must be 1.1
- id
-- #te011
+- #tep03
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid term definition is found
+- If @version is specified, it must be 1.1
- input
-
-expand/e011-in.jsonld
+expand/ep03-in.jsonld
- expect
-
-invalid term definition
+invalid @version value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te012 Invalid type mapping (not a string)
+
+Test ter01 Keywords cannot be aliased to other keywords
- id
-- #te012
+- #ter01
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword
- input
-
-expand/e012-in.jsonld
+expand/er01-in.jsonld
- expect
-
-invalid type mapping
+keyword redefinition
-
-Test te013 Invalid type mapping (not absolute IRI)
+
+Test ter02 A context may not include itself recursively (direct)
- id
-- #te013
+- #ter02
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- Verifies that an exception is raised on expansion when processing a context referencing itself
- input
-
-expand/e013-in.jsonld
+expand/er02-in.jsonld
- expect
-
-invalid type mapping
+recursive context inclusion
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
-
-Test te014 Invalid reverse property (contains @id)
+
+Test ter03 A context may not include itself recursively (indirect)
- id
-- #te014
+- #ter03
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid reverse property is found
+- Verifies that an exception is raised on expansion when processing a context referencing itself indirectly
- input
-
-expand/e014-in.jsonld
+expand/er03-in.jsonld
- expect
-
-invalid reverse property
+recursive context inclusion
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
-
-Test te015 Invalid IRI mapping (@reverse not a string)
+
+Test ter04 Error dereferencing a remote context
- id
-- #te015
+- #ter04
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- Verifies that an exception is raised on expansion when a context dereference results in an error
- input
-
-expand/e015-in.jsonld
+expand/er04-in.jsonld
- expect
-
-invalid IRI mapping
+loading remote context failed
-
-Test te017 Invalid reverse property (invalid @container)
+
+Test ter05 Invalid remote context
- id
-- #te017
+- #ter05
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid reverse property is found
+- Verifies that an exception is raised on expansion when a remote context is not an object containing @context
- input
-
-expand/e017-in.jsonld
+expand/er05-in.jsonld
- expect
-
-invalid reverse property
+invalid remote context
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
-
-Test te018 Invalid IRI mapping (@id not a string)
+
+Test ter06 Invalid local context
- id
-- #te018
+- #ter06
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- Verifies that an exception is raised on expansion when a context is not a string or object
- input
-
-expand/e018-in.jsonld
+expand/er06-in.jsonld
- expect
-
-invalid IRI mapping
+invalid local context
-
-Test te019 Invalid keyword alias (@context)
+
+Test ter07 Invalid base IRI
- id
-- #te019
+- #ter07
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid keyword alias is found
+- Verifies that an exception is raised on expansion when a context contains an invalid @base
- input
-
-expand/e019-in.jsonld
+expand/er07-in.jsonld
- expect
-
-invalid keyword alias
+invalid base IRI
-
-Test te020 Invalid IRI mapping (no vocab mapping)
+
+Test ter08 Invalid vocab mapping
- id
-- #te020
+- #ter08
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping
- input
-
-expand/e020-in.jsonld
+expand/er08-in.jsonld
- expect
-
-invalid IRI mapping
+invalid vocab mapping
-
-Test te021 Invalid container mapping
+
+Test ter09 Invalid default language
- id
-- #te021
+- #ter09
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid container mapping is found
+- Verifies that an exception is raised on expansion when a context contains an invalid @language
- input
-
-expand/e021-in.jsonld
+expand/er09-in.jsonld
- expect
-
-invalid container mapping
-
-- Options
--
-
-- processingMode
-- json-ld-1.0
-- specVersion
-- json-ld-1.1
-
+invalid default language
-
-Test te022 Invalid language mapping
+
+Test ter10 Cyclic IRI mapping
- id
-- #te022
+- #ter10
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid language mapping is found
+- Verifies that an exception is raised on expansion when a cyclic IRI mapping is found
- input
-
-expand/e022-in.jsonld
+expand/er10-in.jsonld
- expect
-
-invalid language mapping
+cyclic IRI mapping
-
-Test te023 Invalid IRI mapping (relative IRI in @type)
+
+Test ter11 Invalid term definition
- id
-- #te023
+- #ter11
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- Verifies that an exception is raised on expansion when a invalid term definition is found
- input
-
-expand/e023-in.jsonld
+expand/er11-in.jsonld
- expect
-
-invalid type mapping
+invalid term definition
-
-Test te024 List of lists (from array)
+
+Test ter12 Invalid type mapping (not a string)
- id
-- #te024
+- #ter12
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when a list of lists is found
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
- input
-
-expand/e024-in.jsonld
+expand/er12-in.jsonld
- expect
-
-list of lists
-
-- Options
--
-
-- specVersion
-- json-ld-1.0
-
+invalid type mapping
-
-Test te025 Invalid reverse property map
+
+Test ter13 Invalid type mapping (not absolute IRI)
- id
-- #te025
+- #ter13
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when a invalid reverse property map is found
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
- input
-
-expand/e025-in.jsonld
+expand/er13-in.jsonld
- expect
-
-invalid reverse property map
+invalid type mapping
-
-Test te026 Colliding keywords
+
+Test ter14 Invalid reverse property (contains @id)
- id
-- #te026
+- #ter14
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when colliding keywords are found
+- Verifies that an exception is raised on expansion when a invalid reverse property is found
- input
-
-expand/e026-in.jsonld
+expand/er14-in.jsonld
- expect
-
-colliding keywords
+invalid reverse property
-
-Test te027 Invalid @id value
+
+Test ter15 Invalid IRI mapping (@reverse not a string)
- id
-- #te027
+- #ter15
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid @id value is found
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
- input
-
-expand/e027-in.jsonld
+expand/er15-in.jsonld
- expect
-
-invalid @id value
+invalid IRI mapping
-
-Test te028 Invalid type value
+
+Test ter17 Invalid reverse property (invalid @container)
- id
-- #te028
+- #ter17
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid type value is found
+- Verifies that an exception is raised on expansion when a invalid reverse property is found
- input
-
-expand/e028-in.jsonld
+expand/er17-in.jsonld
- expect
-
-invalid type value
+invalid reverse property
-
-Test te029 Invalid value object value
+
+Test ter18 Invalid IRI mapping (@id not a string)
- id
-- #te029
+- #ter18
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid value object value is found
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
- input
-
-expand/e029-in.jsonld
+expand/er18-in.jsonld
- expect
-
-invalid value object value
+invalid IRI mapping
-
-Test te030 Invalid language-tagged string
+
+Test ter19 Invalid keyword alias (@context)
- id
-- #te030
+- #ter19
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found
+- Verifies that an exception is raised on expansion when a invalid keyword alias is found
- input
-
-expand/e030-in.jsonld
+expand/er19-in.jsonld
- expect
-
-invalid language-tagged string
+invalid keyword alias
-
-Test te031 Invalid @index value
+
+Test ter20 Invalid IRI mapping (no vocab mapping)
- id
-- #te031
+- #ter20
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid @index value value is found
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
- input
-
-expand/e031-in.jsonld
+expand/er20-in.jsonld
- expect
-
-invalid @index value
+invalid IRI mapping
-
-Test te032 List of lists (from array)
+
+Test ter21 Invalid container mapping
- id
-- #te032
+- #ter21
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when a list of lists is found
+- Verifies that an exception is raised on expansion when a invalid container mapping is found
- input
-
-expand/e032-in.jsonld
+expand/er21-in.jsonld
- expect
-
-list of lists
+invalid container mapping
- Options
-
-- specVersion
+- processingMode
- json-ld-1.0
+- specVersion
+- json-ld-1.1
-
-Test te033 Invalid @reverse value
+
+Test ter22 Invalid language mapping
- id
-- #te033
+- #ter22
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid @reverse value is found
+- Verifies that an exception is raised on expansion when a invalid language mapping is found
- input
-
-expand/e033-in.jsonld
+expand/er22-in.jsonld
- expect
-
-invalid @reverse value
+invalid language mapping
-
-Test te034 Invalid reverse property value (in @reverse)
+
+Test ter23 Invalid IRI mapping (relative IRI in @type)
- id
-- #te034
+- #ter23
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
- input
-
-expand/e034-in.jsonld
+expand/er23-in.jsonld
- expect
-
-invalid reverse property value
+invalid type mapping
-
-Test te035 Invalid language map value
+
+Test ter24 List of lists (from array)
- id
-- #te035
+- #ter24
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid language map value is found
+- Verifies that an exception is raised in Expansion when a list of lists is found
- input
-
-expand/e035-in.jsonld
+expand/er24-in.jsonld
- expect
-
-invalid language map value
-
-
-
-
-Test te036 Invalid reverse property value (through coercion)
-
-
-
-- id
-- #te036
-- Type
-- jld:NegativeEvaluationTest, jld:ExpandTest
-- Purpose
-- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
-- input
--
-expand/e036-in.jsonld
+list of lists
-- expect
+- Options
-
-invalid reverse property value
-
+
+- specVersion
+- json-ld-1.0
-
-Test te037 Invalid value object (unexpected keyword)
-
-
-
-- id
-- #te037
-- Type
-- jld:NegativeEvaluationTest, jld:ExpandTest
-- Purpose
-- Verifies that an exception is raised in Expansion when an invalid value object is found
-- input
--
-expand/e037-in.jsonld
-
-- expect
--
-invalid value object
-
-
-Test te038 Invalid value object (@type and @language)
+
+Test ter25 Invalid reverse property map
- id
-- #te038
+- #ter25
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid value object is found
+- Verifies that an exception is raised in Expansion when a invalid reverse property map is found
- input
-
-expand/e038-in.jsonld
+expand/er25-in.jsonld
- expect
-
-invalid value object
+invalid reverse property map
-
-Test te039 Invalid language-tagged value
+
+Test ter26 Colliding keywords
- id
-- #te039
+- #ter26
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid language-tagged value is found
+- Verifies that an exception is raised in Expansion when colliding keywords are found
- input
-
-expand/e039-in.jsonld
+expand/er26-in.jsonld
- expect
-
-invalid language-tagged value
+colliding keywords
-
-Test te040 Invalid typed value
+
+Test ter27 Invalid @id value
- id
-- #te040
+- #ter27
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid typed value is found
+- Verifies that an exception is raised in Expansion when an invalid @id value is found
- input
-
-expand/e040-in.jsonld
+expand/er27-in.jsonld
- expect
-
-invalid typed value
+invalid @id value
-
-Test te041 Invalid set or list object
+
+Test ter28 Invalid type value
- id
-- #te041
+- #ter28
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid set or list object is found
+- Verifies that an exception is raised in Expansion when an invalid type value is found
- input
-
-expand/e041-in.jsonld
+expand/er28-in.jsonld
- expect
-
-invalid set or list object
+invalid type value
-
-Test te042 Keywords may not be redefined in 1.0
+
+Test ter29 Invalid value object value
- id
-- #te042
+- #ter29
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when processing an invalid context attempting to define @container on a keyword
+- Verifies that an exception is raised in Expansion when an invalid value object value is found
- input
-
-expand/e042-in.jsonld
+expand/er29-in.jsonld
- expect
-
-keyword redefinition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-- processingMode
-- json-ld-1.0
-
+invalid value object value
-
-Test te043 Term definition with @id: @type
+
+Test ter30 Invalid language-tagged string
- id
-- #te043
+- #ter30
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Expanding term mapping to @type uses @type syntax now illegal
+- Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found
- input
-
-expand/e043-in.jsonld
+expand/er30-in.jsonld
- expect
-
-invalid IRI mapping
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid language-tagged string
-
-Test te044 Redefine terms looking like compact IRIs
+
+Test ter31 Invalid @index value
- id
-- #te044
+- #ter31
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Term definitions may look like compact IRIs, but must be consistent.
+- Verifies that an exception is raised in Expansion when an invalid @index value value is found
- input
-
-expand/e044-in.jsonld
+expand/er31-in.jsonld
- expect
-
-invalid IRI mapping
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid @index value
-
-Test te046 compact IRI as @vocab
+
+Test ter32 List of lists (from array)
- id
-- #te046
+- #ter32
- Type
-- jld:PositiveEvaluationTest, jld:ExpandTest
+- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that @vocab defined as a compact IRI expands properly
+- Verifies that an exception is raised in Expansion when a list of lists is found
- input
-
-expand/e046-in.jsonld
+expand/er32-in.jsonld
- expect
-
-expand/e046-out.jsonld
+list of lists
- Options
-
- specVersion
-- json-ld-1.1
+- json-ld-1.0
-
-Test te047 term as @vocab
+
+Test ter33 Invalid @reverse value
- id
-- #te047
+- #ter33
- Type
-- jld:PositiveEvaluationTest, jld:ExpandTest
+- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that @vocab defined as a term expands properly
+- Verifies that an exception is raised in Expansion when an invalid @reverse value is found
- input
-
-expand/e047-in.jsonld
+expand/er33-in.jsonld
- expect
-
-expand/e047-out.jsonld
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid @reverse value
-
-Test te048 Invalid term as relative IRI
+
+Test ter34 Invalid reverse property value (in @reverse)
- id
-- #te048
+- #ter34
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that a relative IRI cannot be used as a term.
+- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
- input
-
-expand/e048-in.jsonld
+expand/er34-in.jsonld
- expect
-
-invalid IRI mapping
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid reverse property value
-
-Test te049 A relative IRI cannot be used as a prefix
+
+Test ter35 Invalid language map value
- id
-- #te049
+- #ter35
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that a relative IRI cannot be used as a term.
+- Verifies that an exception is raised in Expansion when an invalid language map value is found
- input
-
-expand/e049-in.jsonld
+expand/er35-in.jsonld
- expect
-
-invalid term definition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid language map value
-
-Test te050 Invalid reverse id
+
+Test ter36 Invalid reverse property value (through coercion)
- id
-- #te050
+- #ter36
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.
+- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
- input
-
-expand/e050-in.jsonld
+expand/er36-in.jsonld
- expect
-
-invalid IRI mapping
+invalid reverse property value
-
-Test te051 Invalid value object value using a value alias
+
+Test ter37 Invalid value object (unexpected keyword)
- id
-- #te051
+- #ter37
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias
+- Verifies that an exception is raised in Expansion when an invalid value object is found
- input
-
-expand/e051-in.jsonld
+expand/er37-in.jsonld
- expect
-
-invalid value object value
+invalid value object
-
-Test te052 Definition for the empty term
+
+Test ter38 Invalid value object (@type and @language)
- id
-- #te052
+- #ter38
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a context contains a definition for the empty term
+- Verifies that an exception is raised in Expansion when an invalid value object is found
- input
-
-expand/e052-in.jsonld
+expand/er38-in.jsonld
- expect
-
-invalid term definition
+invalid value object
-
-Test tec01 Invalid keyword in term definition
+
+Test ter39 Invalid language-tagged value
- id
-- #tec01
+- #ter39
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid term definition is found
+- Verifies that an exception is raised in Expansion when an invalid language-tagged value is found
- input
-
-expand/ec01-in.jsonld
+expand/er39-in.jsonld
- expect
-
-invalid term definition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid language-tagged value
-
-Test tec02 Term definition on @type with empty map
+
+Test ter40 Invalid typed value
- id
-- #tec02
+- #ter40
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised if @type is defined as a term with an empty map
+- Verifies that an exception is raised in Expansion when an invalid typed value is found
- input
-
-expand/ec02-in.jsonld
+expand/er40-in.jsonld
- expect
-
-keyword redefinition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid typed value
-
-Test tem01 Invalid container mapping
+
+Test ter41 Invalid set or list object
- id
-- #tem01
+- #ter41
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Verifies that an exception is raised on expansion when a invalid container mapping is found
+- Verifies that an exception is raised in Expansion when an invalid set or list object is found
- input
-
-expand/em01-in.jsonld
+expand/er41-in.jsonld
- expect
-
-invalid container mapping
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid set or list object
-
-Test ten01 @nest MUST NOT have a string value
+
+Test ter42 Keywords may not be redefined in 1.0
- id
-- #ten01
+- #ter42
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- container: @nest
+- Verifies that an exception is raised on expansion when processing an invalid context attempting to define @container on a keyword
- input
-
-expand/en01-in.jsonld
+expand/er42-in.jsonld
- expect
-
-invalid @nest value
+keyword redefinition
- Options
-
- specVersion
- json-ld-1.1
+- processingMode
+- json-ld-1.0
-
-Test ten02 @nest MUST NOT have a boolen value
+
+Test ter43 Term definition with @id: @type
- id
-- #ten02
+- #ter43
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Transparent Nesting
+- Expanding term mapping to @type uses @type syntax now illegal
- input
-
-expand/en02-in.jsonld
+expand/er43-in.jsonld
- expect
-
-invalid @nest value
+invalid IRI mapping
- Options
-
@@ -5521,24 +5544,24 @@
-
-Test ten03 @nest MUST NOT have a numeric value
+
+Test ter44 Redefine terms looking like compact IRIs
- id
-- #ten03
+- #ter44
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Transparent Nesting
+- Term definitions may look like compact IRIs, but must be consistent.
- input
-
-expand/en03-in.jsonld
+expand/er44-in.jsonld
- expect
-
-invalid @nest value
+invalid IRI mapping
- Options
-
@@ -5549,24 +5572,24 @@
-
-Test ten04 @nest MUST NOT have a value object value
+
+Test ter48 Invalid term as relative IRI
- id
-- #ten04
+- #ter48
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Transparent Nesting
+- Verifies that a relative IRI cannot be used as a term.
- input
-
-expand/en04-in.jsonld
+expand/er48-in.jsonld
- expect
-
-invalid @nest value
+invalid IRI mapping
- Options
-
@@ -5577,24 +5600,24 @@
-
-Test ten05 does not allow a keyword other than @nest for the value of @nest
+
+Test ter49 A relative IRI cannot be used as a prefix
- id
-- #ten05
+- #ter49
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Transparent Nesting
+- Verifies that a relative IRI cannot be used as a term.
- input
-
-expand/en05-in.jsonld
+expand/er49-in.jsonld
- expect
-
-invalid @nest value
+invalid term definition
- Options
-
@@ -5605,89 +5628,66 @@
-
-Test ten06 does not allow @nest with @reverse
+
+Test ter50 Invalid reverse id
- id
-- #ten06
+- #ter50
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- Transparent Nesting
+- Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.
- input
-
-expand/en06-in.jsonld
+expand/er50-in.jsonld
- expect
-
-invalid reverse property
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid IRI mapping
-
-Test tep02 processingMode json-ld-1.0 conflicts with @version: 1.1
+
+Test ter51 Invalid value object value using a value alias
- id
-- #tep02
+- #ter51
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.
+- Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias
- input
-
-expand/ep02-in.jsonld
+expand/er51-in.jsonld
- expect
-
-processing mode conflict
-
-- Options
--
-
-- processingMode
-- json-ld-1.0
-- specVersion
-- json-ld-1.1
-
+invalid value object value
-
-Test tep03 @version must be 1.1
+
+Test ter52 Definition for the empty term
- id
-- #tep03
+- #ter52
- Type
- jld:NegativeEvaluationTest, jld:ExpandTest
- Purpose
-- If @version is specified, it must be 1.1
+- Verifies that an exception is raised on expansion when a context contains a definition for the empty term
- input
-
-expand/ep03-in.jsonld
+expand/er52-in.jsonld
- expect
-
-invalid @version value
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
+invalid term definition
@@ -9225,6 +9225,34 @@
+
+Test tpr40 Protected terms and property-scoped contexts
+
+
+
+- id
+- #tpr40
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Check overriding of protected term from property-scoped context.
+- input
+-
+expand/pr40-in.jsonld
+
+- expect
+-
+expand/pr40-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
Test tso01 @import is invalid in 1.0.
diff --git a/tests/expand-manifest.jsonld b/tests/expand-manifest.jsonld
index 7878afaa..e5ad6fec 100644
--- a/tests/expand-manifest.jsonld
+++ b/tests/expand-manifest.jsonld
@@ -924,6 +924,22 @@
"input": "expand/0123-in.jsonld",
"expectErrorCode": "invalid typed value",
"option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#t0124",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "compact IRI as @vocab",
+ "purpose": "Verifies that @vocab defined as a compact IRI expands properly",
+ "input": "expand/0124-in.jsonld",
+ "expect": "expand/0124-out.jsonld",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#t0125",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "term as @vocab",
+ "purpose": "Verifies that @vocab defined as a term expands properly",
+ "input": "expand/0125-in.jsonld",
+ "expect": "expand/0125-out.jsonld",
+ "option": {"specVersion": "json-ld-1.1"}
}, {
"@id": "#tc001",
"@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
@@ -1269,457 +1285,441 @@
"input": "expand/di09-in.jsonld",
"expectErrorCode": "invalid value object"
}, {
- "@id": "#te001",
+ "@id": "#tec01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "Invalid keyword in term definition",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
+ "input": "expand/ec01-in.jsonld",
+ "expectErrorCode": "invalid term definition",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tec02",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "Term definition on @type with empty map",
+ "purpose": "Verifies that an exception is raised if @type is defined as a term with an empty map",
+ "input": "expand/ec02-in.jsonld",
+ "expectErrorCode": "keyword redefinition",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tem01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "Invalid container mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid container mapping is found",
+ "input": "expand/em01-in.jsonld",
+ "expectErrorCode": "invalid container mapping",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "@nest MUST NOT have a string value",
+ "purpose": "container: @nest",
+ "input": "expand/en01-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten02",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "@nest MUST NOT have a boolen value",
+ "purpose": "Transparent Nesting",
+ "input": "expand/en02-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten03",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "@nest MUST NOT have a numeric value",
+ "purpose": "Transparent Nesting",
+ "input": "expand/en03-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten04",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "@nest MUST NOT have a value object value",
+ "purpose": "Transparent Nesting",
+ "input": "expand/en04-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten05",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "does not allow a keyword other than @nest for the value of @nest",
+ "purpose": "Transparent Nesting",
+ "input": "expand/en05-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten06",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
+ "name": "does not allow @nest with @reverse",
+ "purpose": "Transparent Nesting",
+ "input": "expand/en06-in.jsonld",
+ "expectErrorCode": "invalid reverse property",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tep02",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
+ "name": "processingMode json-ld-1.0 conflicts with @version: 1.1",
+ "purpose": "If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.",
+ "input": "expand/ep02-in.jsonld",
+ "expectErrorCode": "processing mode conflict",
+ "option": {"processingMode": "json-ld-1.0", "specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tep03",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
+ "name": "@version must be 1.1",
+ "purpose": "If @version is specified, it must be 1.1",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/ep03-in.jsonld",
+ "expectErrorCode": "invalid @version value"
+ }, {
+ "@id": "#ter01",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Keywords cannot be aliased to other keywords",
"purpose": "Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword",
- "input": "expand/e001-in.jsonld",
+ "input": "expand/er01-in.jsonld",
"expectErrorCode": "keyword redefinition"
}, {
- "@id": "#te002",
+ "@id": "#ter02",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "A context may not include itself recursively (direct)",
"purpose": "Verifies that an exception is raised on expansion when processing a context referencing itself",
- "input": "expand/e002-in.jsonld",
+ "input": "expand/er02-in.jsonld",
"expectErrorCode": "recursive context inclusion",
"option": {"specVersion": "json-ld-1.0"}
}, {
- "@id": "#te003",
+ "@id": "#ter03",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "A context may not include itself recursively (indirect)",
"purpose": "Verifies that an exception is raised on expansion when processing a context referencing itself indirectly",
- "input": "expand/e003-in.jsonld",
+ "input": "expand/er03-in.jsonld",
"expectErrorCode": "recursive context inclusion",
"option": {"specVersion": "json-ld-1.0"}
}, {
- "@id": "#te004",
+ "@id": "#ter04",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Error dereferencing a remote context",
"purpose": "Verifies that an exception is raised on expansion when a context dereference results in an error",
- "input": "expand/e004-in.jsonld",
+ "input": "expand/er04-in.jsonld",
"expectErrorCode": "loading remote context failed"
}, {
- "@id": "#te005",
+ "@id": "#ter05",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid remote context",
"purpose": "Verifies that an exception is raised on expansion when a remote context is not an object containing @context",
- "input": "expand/e005-in.jsonld",
+ "input": "expand/er05-in.jsonld",
"expectErrorCode": "invalid remote context",
"option": {"specVersion": "json-ld-1.1"}
}, {
- "@id": "#te006",
+ "@id": "#ter06",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid local context",
"purpose": "Verifies that an exception is raised on expansion when a context is not a string or object",
- "input": "expand/e006-in.jsonld",
+ "input": "expand/er06-in.jsonld",
"expectErrorCode": "invalid local context"
}, {
- "@id": "#te007",
+ "@id": "#ter07",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid base IRI",
"purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @base",
- "input": "expand/e007-in.jsonld",
+ "input": "expand/er07-in.jsonld",
"expectErrorCode": "invalid base IRI"
}, {
- "@id": "#te008",
+ "@id": "#ter08",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid vocab mapping",
"purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping",
- "input": "expand/e008-in.jsonld",
+ "input": "expand/er08-in.jsonld",
"expectErrorCode": "invalid vocab mapping"
}, {
- "@id": "#te009",
+ "@id": "#ter09",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid default language",
"purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @language",
- "input": "expand/e009-in.jsonld",
+ "input": "expand/er09-in.jsonld",
"expectErrorCode": "invalid default language"
}, {
- "@id": "#te010",
+ "@id": "#ter10",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Cyclic IRI mapping",
"purpose": "Verifies that an exception is raised on expansion when a cyclic IRI mapping is found",
- "input": "expand/e010-in.jsonld",
+ "input": "expand/er10-in.jsonld",
"expectErrorCode": "cyclic IRI mapping"
}, {
- "@id": "#te011",
+ "@id": "#ter11",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid term definition",
"purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
- "input": "expand/e011-in.jsonld",
+ "input": "expand/er11-in.jsonld",
"expectErrorCode": "invalid term definition"
}, {
- "@id": "#te012",
+ "@id": "#ter12",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid type mapping (not a string)",
"purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
- "input": "expand/e012-in.jsonld",
+ "input": "expand/er12-in.jsonld",
"expectErrorCode": "invalid type mapping"
}, {
- "@id": "#te013",
+ "@id": "#ter13",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid type mapping (not absolute IRI)",
"purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
- "input": "expand/e013-in.jsonld",
+ "input": "expand/er13-in.jsonld",
"expectErrorCode": "invalid type mapping"
}, {
- "@id": "#te014",
+ "@id": "#ter14",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse property (contains @id)",
"purpose": "Verifies that an exception is raised on expansion when a invalid reverse property is found",
- "input": "expand/e014-in.jsonld",
+ "input": "expand/er14-in.jsonld",
"expectErrorCode": "invalid reverse property"
}, {
- "@id": "#te015",
+ "@id": "#ter15",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid IRI mapping (@reverse not a string)",
"purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
- "input": "expand/e015-in.jsonld",
+ "input": "expand/er15-in.jsonld",
"expectErrorCode": "invalid IRI mapping"
}, {
- "@id": "#te017",
+ "@id": "#ter17",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse property (invalid @container)",
"purpose": "Verifies that an exception is raised on expansion when a invalid reverse property is found",
- "input": "expand/e017-in.jsonld",
+ "input": "expand/er17-in.jsonld",
"expectErrorCode": "invalid reverse property"
}, {
- "@id": "#te018",
+ "@id": "#ter18",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid IRI mapping (@id not a string)",
"purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
- "input": "expand/e018-in.jsonld",
+ "input": "expand/er18-in.jsonld",
"expectErrorCode": "invalid IRI mapping"
}, {
- "@id": "#te019",
+ "@id": "#ter19",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid keyword alias (@context)",
"purpose": "Verifies that an exception is raised on expansion when a invalid keyword alias is found",
- "input": "expand/e019-in.jsonld",
+ "input": "expand/er19-in.jsonld",
"expectErrorCode": "invalid keyword alias"
}, {
- "@id": "#te020",
+ "@id": "#ter20",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid IRI mapping (no vocab mapping)",
"purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
- "input": "expand/e020-in.jsonld",
+ "input": "expand/er20-in.jsonld",
"expectErrorCode": "invalid IRI mapping"
}, {
- "@id": "#te021",
+ "@id": "#ter21",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid container mapping",
"purpose": "Verifies that an exception is raised on expansion when a invalid container mapping is found",
- "input": "expand/e021-in.jsonld",
+ "input": "expand/er21-in.jsonld",
"expectErrorCode": "invalid container mapping",
"option": {"processingMode": "json-ld-1.0", "specVersion": "json-ld-1.1"}
}, {
- "@id": "#te022",
+ "@id": "#ter22",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid language mapping",
"purpose": "Verifies that an exception is raised on expansion when a invalid language mapping is found",
- "input": "expand/e022-in.jsonld",
+ "input": "expand/er22-in.jsonld",
"expectErrorCode": "invalid language mapping"
}, {
- "@id": "#te023",
+ "@id": "#ter23",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid IRI mapping (relative IRI in @type)",
"purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
- "input": "expand/e023-in.jsonld",
+ "input": "expand/er23-in.jsonld",
"expectErrorCode": "invalid type mapping"
}, {
- "@id": "#te024",
+ "@id": "#ter24",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "List of lists (from array)",
"purpose": "Verifies that an exception is raised in Expansion when a list of lists is found",
- "input": "expand/e024-in.jsonld",
+ "input": "expand/er24-in.jsonld",
"expectErrorCode": "list of lists",
"option": {"specVersion": "json-ld-1.0"}
}, {
- "@id": "#te025",
+ "@id": "#ter25",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse property map",
"purpose": "Verifies that an exception is raised in Expansion when a invalid reverse property map is found",
- "input": "expand/e025-in.jsonld",
+ "input": "expand/er25-in.jsonld",
"expectErrorCode": "invalid reverse property map"
}, {
- "@id": "#te026",
+ "@id": "#ter26",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Colliding keywords",
"purpose": "Verifies that an exception is raised in Expansion when colliding keywords are found",
- "input": "expand/e026-in.jsonld",
+ "input": "expand/er26-in.jsonld",
"expectErrorCode": "colliding keywords"
}, {
- "@id": "#te027",
+ "@id": "#ter27",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid @id value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid @id value is found",
- "input": "expand/e027-in.jsonld",
+ "input": "expand/er27-in.jsonld",
"expectErrorCode": "invalid @id value"
}, {
- "@id": "#te028",
+ "@id": "#ter28",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid type value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid type value is found",
- "input": "expand/e028-in.jsonld",
+ "input": "expand/er28-in.jsonld",
"expectErrorCode": "invalid type value"
}, {
- "@id": "#te029",
+ "@id": "#ter29",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid value object value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid value object value is found",
- "input": "expand/e029-in.jsonld",
+ "input": "expand/er29-in.jsonld",
"expectErrorCode": "invalid value object value"
}, {
- "@id": "#te030",
+ "@id": "#ter30",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid language-tagged string",
"purpose": "Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found",
- "input": "expand/e030-in.jsonld",
+ "input": "expand/er30-in.jsonld",
"expectErrorCode": "invalid language-tagged string"
}, {
- "@id": "#te031",
+ "@id": "#ter31",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid @index value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid @index value value is found",
- "input": "expand/e031-in.jsonld",
+ "input": "expand/er31-in.jsonld",
"expectErrorCode": "invalid @index value"
}, {
- "@id": "#te032",
+ "@id": "#ter32",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "List of lists (from array)",
"purpose": "Verifies that an exception is raised in Expansion when a list of lists is found",
- "input": "expand/e032-in.jsonld",
+ "input": "expand/er32-in.jsonld",
"expectErrorCode": "list of lists",
"option": {"specVersion": "json-ld-1.0"}
}, {
- "@id": "#te033",
+ "@id": "#ter33",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid @reverse value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid @reverse value is found",
- "input": "expand/e033-in.jsonld",
+ "input": "expand/er33-in.jsonld",
"expectErrorCode": "invalid @reverse value"
}, {
- "@id": "#te034",
+ "@id": "#ter34",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse property value (in @reverse)",
"purpose": "Verifies that an exception is raised in Expansion when an invalid reverse property value is found",
- "input": "expand/e034-in.jsonld",
+ "input": "expand/er34-in.jsonld",
"expectErrorCode": "invalid reverse property value"
}, {
- "@id": "#te035",
+ "@id": "#ter35",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid language map value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid language map value is found",
- "input": "expand/e035-in.jsonld",
+ "input": "expand/er35-in.jsonld",
"expectErrorCode": "invalid language map value"
}, {
- "@id": "#te036",
+ "@id": "#ter36",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse property value (through coercion)",
"purpose": "Verifies that an exception is raised in Expansion when an invalid reverse property value is found",
- "input": "expand/e036-in.jsonld",
+ "input": "expand/er36-in.jsonld",
"expectErrorCode": "invalid reverse property value"
}, {
- "@id": "#te037",
+ "@id": "#ter37",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid value object (unexpected keyword)",
"purpose": "Verifies that an exception is raised in Expansion when an invalid value object is found",
- "input": "expand/e037-in.jsonld",
+ "input": "expand/er37-in.jsonld",
"expectErrorCode": "invalid value object"
}, {
- "@id": "#te038",
+ "@id": "#ter38",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid value object (@type and @language)",
"purpose": "Verifies that an exception is raised in Expansion when an invalid value object is found",
- "input": "expand/e038-in.jsonld",
+ "input": "expand/er38-in.jsonld",
"expectErrorCode": "invalid value object"
}, {
- "@id": "#te039",
+ "@id": "#ter39",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid language-tagged value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid language-tagged value is found",
- "input": "expand/e039-in.jsonld",
+ "input": "expand/er39-in.jsonld",
"expectErrorCode": "invalid language-tagged value"
}, {
- "@id": "#te040",
+ "@id": "#ter40",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid typed value",
"purpose": "Verifies that an exception is raised in Expansion when an invalid typed value is found",
- "input": "expand/e040-in.jsonld",
+ "input": "expand/er40-in.jsonld",
"expectErrorCode": "invalid typed value"
}, {
- "@id": "#te041",
+ "@id": "#ter41",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid set or list object",
"purpose": "Verifies that an exception is raised in Expansion when an invalid set or list object is found",
- "input": "expand/e041-in.jsonld",
+ "input": "expand/er41-in.jsonld",
"expectErrorCode": "invalid set or list object"
}, {
- "@id": "#te042",
+ "@id": "#ter42",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Keywords may not be redefined in 1.0",
"purpose": "Verifies that an exception is raised on expansion when processing an invalid context attempting to define @container on a keyword",
"option": {"specVersion": "json-ld-1.1", "processingMode": "json-ld-1.0"},
- "input": "expand/e042-in.jsonld",
+ "input": "expand/er42-in.jsonld",
"expectErrorCode": "keyword redefinition"
}, {
- "@id": "#te043",
+ "@id": "#ter43",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
"name": "Term definition with @id: @type",
"purpose": "Expanding term mapping to @type uses @type syntax now illegal",
- "input": "expand/e043-in.jsonld",
+ "input": "expand/er43-in.jsonld",
"expectErrorCode": "invalid IRI mapping",
"option": {"specVersion": "json-ld-1.1"}
}, {
- "@id": "#te044",
+ "@id": "#ter44",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
"name": "Redefine terms looking like compact IRIs",
"purpose": "Term definitions may look like compact IRIs, but must be consistent.",
- "input": "expand/e044-in.jsonld",
+ "input": "expand/er44-in.jsonld",
"expectErrorCode": "invalid IRI mapping",
"option": {"specVersion": "json-ld-1.1"}
}, {
- "@id": "#te046",
- "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
- "name": "compact IRI as @vocab",
- "purpose": "Verifies that @vocab defined as a compact IRI expands properly",
- "input": "expand/e046-in.jsonld",
- "expect": "expand/e046-out.jsonld",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#te047",
- "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
- "name": "term as @vocab",
- "purpose": "Verifies that @vocab defined as a term expands properly",
- "input": "expand/e047-in.jsonld",
- "expect": "expand/e047-out.jsonld",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#te048",
+ "@id": "#ter48",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
"name": "Invalid term as relative IRI",
"purpose": "Verifies that a relative IRI cannot be used as a term.",
- "input": "expand/e048-in.jsonld",
+ "input": "expand/er48-in.jsonld",
"expectErrorCode": "invalid IRI mapping",
"option": {"specVersion": "json-ld-1.1"}
}, {
- "@id": "#te049",
+ "@id": "#ter49",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
"name": "A relative IRI cannot be used as a prefix",
"purpose": "Verifies that a relative IRI cannot be used as a term.",
- "input": "expand/e049-in.jsonld",
+ "input": "expand/er49-in.jsonld",
"expectErrorCode": "invalid term definition",
"option": {"specVersion": "json-ld-1.1"}
}, {
- "@id": "#te050",
+ "@id": "#ter50",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid reverse id",
"purpose": "Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.",
- "input": "expand/e050-in.jsonld",
+ "input": "expand/er50-in.jsonld",
"expectErrorCode": "invalid IRI mapping"
}, {
- "@id": "#te051",
+ "@id": "#ter51",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Invalid value object value using a value alias",
"purpose": "Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias",
- "input": "expand/e051-in.jsonld",
+ "input": "expand/er51-in.jsonld",
"expectErrorCode": "invalid value object value"
- }, {
- "@id": "#tec01",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "Invalid keyword in term definition",
- "purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
- "input": "expand/ec01-in.jsonld",
- "expectErrorCode": "invalid term definition",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tec02",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "Term definition on @type with empty map",
- "purpose": "Verifies that an exception is raised if @type is defined as a term with an empty map",
- "input": "expand/ec02-in.jsonld",
- "expectErrorCode": "keyword redefinition",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tem01",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "Invalid container mapping",
- "purpose": "Verifies that an exception is raised on expansion when a invalid container mapping is found",
- "input": "expand/em01-in.jsonld",
- "expectErrorCode": "invalid container mapping",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten01",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "@nest MUST NOT have a string value",
- "purpose": "container: @nest",
- "input": "expand/en01-in.jsonld",
- "expectErrorCode": "invalid @nest value",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten02",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "@nest MUST NOT have a boolen value",
- "purpose": "Transparent Nesting",
- "input": "expand/en02-in.jsonld",
- "expectErrorCode": "invalid @nest value",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten03",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "@nest MUST NOT have a numeric value",
- "purpose": "Transparent Nesting",
- "input": "expand/en03-in.jsonld",
- "expectErrorCode": "invalid @nest value",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten04",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "@nest MUST NOT have a value object value",
- "purpose": "Transparent Nesting",
- "input": "expand/en04-in.jsonld",
- "expectErrorCode": "invalid @nest value",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten05",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "does not allow a keyword other than @nest for the value of @nest",
- "purpose": "Transparent Nesting",
- "input": "expand/en05-in.jsonld",
- "expectErrorCode": "invalid @nest value",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#ten06",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
- "name": "does not allow @nest with @reverse",
- "purpose": "Transparent Nesting",
- "input": "expand/en06-in.jsonld",
- "expectErrorCode": "invalid reverse property",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tep02",
- "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
- "name": "processingMode json-ld-1.0 conflicts with @version: 1.1",
- "purpose": "If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.",
- "input": "expand/ep02-in.jsonld",
- "expectErrorCode": "processing mode conflict",
- "option": {"processingMode": "json-ld-1.0", "specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tep03",
- "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
- "name": "@version must be 1.1",
- "purpose": "If @version is specified, it must be 1.1",
- "option": {"specVersion": "json-ld-1.1"},
- "input": "expand/ep03-in.jsonld",
- "expectErrorCode": "invalid @version value"
- }, {
+ }, {
"@id": "#ter52",
"@type": [ "jld:NegativeEvaluationTest", "jld:ExpandTest" ],
"name": "Definition for the empty term",
"purpose": "Verifies that an exception is raised on expansion when a context contains a definition for the empty term",
"input": "expand/er52-in.jsonld",
"expectErrorCode": "invalid term definition"
- }, {
+ }, {
"@id": "#tes01",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
"name": "Using an array value for @context is illegal in JSON-LD 1.0",
@@ -2727,6 +2727,14 @@
"option": {"specVersion": "json-ld-1.1"},
"input": "expand/pr39-in.jsonld",
"expect": "expand/pr39-out.jsonld"
+ }, {
+ "@id": "#tpr40",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "Protected terms and property-scoped contexts",
+ "purpose": "Check overriding of protected term from property-scoped context.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr40-in.jsonld",
+ "expect": "expand/pr40-out.jsonld"
}, {
"@id": "#tso01",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
diff --git a/tests/expand/e046-in.jsonld b/tests/expand/0124-in.jsonld
similarity index 100%
rename from tests/expand/e046-in.jsonld
rename to tests/expand/0124-in.jsonld
diff --git a/tests/expand/e046-out.jsonld b/tests/expand/0124-out.jsonld
similarity index 100%
rename from tests/expand/e046-out.jsonld
rename to tests/expand/0124-out.jsonld
diff --git a/tests/expand/e047-in.jsonld b/tests/expand/0125-in.jsonld
similarity index 100%
rename from tests/expand/e047-in.jsonld
rename to tests/expand/0125-in.jsonld
diff --git a/tests/expand/e047-out.jsonld b/tests/expand/0125-out.jsonld
similarity index 100%
rename from tests/expand/e047-out.jsonld
rename to tests/expand/0125-out.jsonld
diff --git a/tests/expand/e001-in.jsonld b/tests/expand/er01-in.jsonld
similarity index 100%
rename from tests/expand/e001-in.jsonld
rename to tests/expand/er01-in.jsonld
diff --git a/tests/expand/e002-in.jsonld b/tests/expand/er02-in.jsonld
similarity index 57%
rename from tests/expand/e002-in.jsonld
rename to tests/expand/er02-in.jsonld
index 0cc72d0a..64ea5895 100644
--- a/tests/expand/e002-in.jsonld
+++ b/tests/expand/er02-in.jsonld
@@ -1,4 +1,4 @@
{
- "@context": "e002-in.jsonld",
+ "@context": "er02-in.jsonld",
"@id": "http://example/test#example"
}
diff --git a/tests/expand/e003-in.jsonld b/tests/expand/er03-in.jsonld
similarity index 57%
rename from tests/expand/e003-in.jsonld
rename to tests/expand/er03-in.jsonld
index fb3fbb3a..524fd18b 100644
--- a/tests/expand/e003-in.jsonld
+++ b/tests/expand/er03-in.jsonld
@@ -1,4 +1,4 @@
{
- "@context": "e003-in.jsonld",
+ "@context": "er03-in.jsonld",
"@id": "http://example/test#example"
}
diff --git a/tests/expand/e004-in.jsonld b/tests/expand/er04-in.jsonld
similarity index 100%
rename from tests/expand/e004-in.jsonld
rename to tests/expand/er04-in.jsonld
diff --git a/tests/expand/e005-in.jsonld b/tests/expand/er05-in.jsonld
similarity index 58%
rename from tests/expand/e005-in.jsonld
rename to tests/expand/er05-in.jsonld
index 0ff70012..c1a1be6c 100644
--- a/tests/expand/e005-in.jsonld
+++ b/tests/expand/er05-in.jsonld
@@ -1,4 +1,4 @@
[{
- "@context": "e005-in.jsonld",
+ "@context": "er05-in.jsonld",
"@id": "http://example/test#example"
}]
diff --git a/tests/expand/e006-in.jsonld b/tests/expand/er06-in.jsonld
similarity index 100%
rename from tests/expand/e006-in.jsonld
rename to tests/expand/er06-in.jsonld
diff --git a/tests/expand/e007-in.jsonld b/tests/expand/er07-in.jsonld
similarity index 100%
rename from tests/expand/e007-in.jsonld
rename to tests/expand/er07-in.jsonld
diff --git a/tests/expand/e008-in.jsonld b/tests/expand/er08-in.jsonld
similarity index 100%
rename from tests/expand/e008-in.jsonld
rename to tests/expand/er08-in.jsonld
diff --git a/tests/expand/e009-in.jsonld b/tests/expand/er09-in.jsonld
similarity index 100%
rename from tests/expand/e009-in.jsonld
rename to tests/expand/er09-in.jsonld
diff --git a/tests/expand/e010-in.jsonld b/tests/expand/er10-in.jsonld
similarity index 100%
rename from tests/expand/e010-in.jsonld
rename to tests/expand/er10-in.jsonld
diff --git a/tests/expand/e011-in.jsonld b/tests/expand/er11-in.jsonld
similarity index 100%
rename from tests/expand/e011-in.jsonld
rename to tests/expand/er11-in.jsonld
diff --git a/tests/expand/e012-in.jsonld b/tests/expand/er12-in.jsonld
similarity index 100%
rename from tests/expand/e012-in.jsonld
rename to tests/expand/er12-in.jsonld
diff --git a/tests/expand/e013-in.jsonld b/tests/expand/er13-in.jsonld
similarity index 100%
rename from tests/expand/e013-in.jsonld
rename to tests/expand/er13-in.jsonld
diff --git a/tests/expand/e014-in.jsonld b/tests/expand/er14-in.jsonld
similarity index 100%
rename from tests/expand/e014-in.jsonld
rename to tests/expand/er14-in.jsonld
diff --git a/tests/expand/e015-in.jsonld b/tests/expand/er15-in.jsonld
similarity index 100%
rename from tests/expand/e015-in.jsonld
rename to tests/expand/er15-in.jsonld
diff --git a/tests/expand/e017-in.jsonld b/tests/expand/er17-in.jsonld
similarity index 100%
rename from tests/expand/e017-in.jsonld
rename to tests/expand/er17-in.jsonld
diff --git a/tests/expand/e018-in.jsonld b/tests/expand/er18-in.jsonld
similarity index 100%
rename from tests/expand/e018-in.jsonld
rename to tests/expand/er18-in.jsonld
diff --git a/tests/expand/e019-in.jsonld b/tests/expand/er19-in.jsonld
similarity index 100%
rename from tests/expand/e019-in.jsonld
rename to tests/expand/er19-in.jsonld
diff --git a/tests/expand/e020-in.jsonld b/tests/expand/er20-in.jsonld
similarity index 100%
rename from tests/expand/e020-in.jsonld
rename to tests/expand/er20-in.jsonld
diff --git a/tests/expand/e021-in.jsonld b/tests/expand/er21-in.jsonld
similarity index 100%
rename from tests/expand/e021-in.jsonld
rename to tests/expand/er21-in.jsonld
diff --git a/tests/expand/e022-in.jsonld b/tests/expand/er22-in.jsonld
similarity index 100%
rename from tests/expand/e022-in.jsonld
rename to tests/expand/er22-in.jsonld
diff --git a/tests/expand/e023-in.jsonld b/tests/expand/er23-in.jsonld
similarity index 100%
rename from tests/expand/e023-in.jsonld
rename to tests/expand/er23-in.jsonld
diff --git a/tests/expand/e024-in.jsonld b/tests/expand/er24-in.jsonld
similarity index 100%
rename from tests/expand/e024-in.jsonld
rename to tests/expand/er24-in.jsonld
diff --git a/tests/expand/e025-in.jsonld b/tests/expand/er25-in.jsonld
similarity index 100%
rename from tests/expand/e025-in.jsonld
rename to tests/expand/er25-in.jsonld
diff --git a/tests/expand/e026-in.jsonld b/tests/expand/er26-in.jsonld
similarity index 100%
rename from tests/expand/e026-in.jsonld
rename to tests/expand/er26-in.jsonld
diff --git a/tests/expand/e027-in.jsonld b/tests/expand/er27-in.jsonld
similarity index 100%
rename from tests/expand/e027-in.jsonld
rename to tests/expand/er27-in.jsonld
diff --git a/tests/expand/e028-in.jsonld b/tests/expand/er28-in.jsonld
similarity index 100%
rename from tests/expand/e028-in.jsonld
rename to tests/expand/er28-in.jsonld
diff --git a/tests/expand/e029-in.jsonld b/tests/expand/er29-in.jsonld
similarity index 100%
rename from tests/expand/e029-in.jsonld
rename to tests/expand/er29-in.jsonld
diff --git a/tests/expand/e030-in.jsonld b/tests/expand/er30-in.jsonld
similarity index 100%
rename from tests/expand/e030-in.jsonld
rename to tests/expand/er30-in.jsonld
diff --git a/tests/expand/e031-in.jsonld b/tests/expand/er31-in.jsonld
similarity index 100%
rename from tests/expand/e031-in.jsonld
rename to tests/expand/er31-in.jsonld
diff --git a/tests/expand/e032-in.jsonld b/tests/expand/er32-in.jsonld
similarity index 100%
rename from tests/expand/e032-in.jsonld
rename to tests/expand/er32-in.jsonld
diff --git a/tests/expand/e033-in.jsonld b/tests/expand/er33-in.jsonld
similarity index 100%
rename from tests/expand/e033-in.jsonld
rename to tests/expand/er33-in.jsonld
diff --git a/tests/expand/e034-in.jsonld b/tests/expand/er34-in.jsonld
similarity index 100%
rename from tests/expand/e034-in.jsonld
rename to tests/expand/er34-in.jsonld
diff --git a/tests/expand/e035-in.jsonld b/tests/expand/er35-in.jsonld
similarity index 100%
rename from tests/expand/e035-in.jsonld
rename to tests/expand/er35-in.jsonld
diff --git a/tests/expand/e036-in.jsonld b/tests/expand/er36-in.jsonld
similarity index 100%
rename from tests/expand/e036-in.jsonld
rename to tests/expand/er36-in.jsonld
diff --git a/tests/expand/e037-in.jsonld b/tests/expand/er37-in.jsonld
similarity index 100%
rename from tests/expand/e037-in.jsonld
rename to tests/expand/er37-in.jsonld
diff --git a/tests/expand/e038-in.jsonld b/tests/expand/er38-in.jsonld
similarity index 100%
rename from tests/expand/e038-in.jsonld
rename to tests/expand/er38-in.jsonld
diff --git a/tests/expand/e039-in.jsonld b/tests/expand/er39-in.jsonld
similarity index 100%
rename from tests/expand/e039-in.jsonld
rename to tests/expand/er39-in.jsonld
diff --git a/tests/expand/e040-in.jsonld b/tests/expand/er40-in.jsonld
similarity index 100%
rename from tests/expand/e040-in.jsonld
rename to tests/expand/er40-in.jsonld
diff --git a/tests/expand/e041-in.jsonld b/tests/expand/er41-in.jsonld
similarity index 100%
rename from tests/expand/e041-in.jsonld
rename to tests/expand/er41-in.jsonld
diff --git a/tests/expand/e042-in.jsonld b/tests/expand/er42-in.jsonld
similarity index 100%
rename from tests/expand/e042-in.jsonld
rename to tests/expand/er42-in.jsonld
diff --git a/tests/expand/e043-in.jsonld b/tests/expand/er43-in.jsonld
similarity index 100%
rename from tests/expand/e043-in.jsonld
rename to tests/expand/er43-in.jsonld
diff --git a/tests/expand/e044-in.jsonld b/tests/expand/er44-in.jsonld
similarity index 100%
rename from tests/expand/e044-in.jsonld
rename to tests/expand/er44-in.jsonld
diff --git a/tests/expand/e045-in.jsonld b/tests/expand/er45-in.jsonld
similarity index 100%
rename from tests/expand/e045-in.jsonld
rename to tests/expand/er45-in.jsonld
diff --git a/tests/expand/e048-in.jsonld b/tests/expand/er48-in.jsonld
similarity index 100%
rename from tests/expand/e048-in.jsonld
rename to tests/expand/er48-in.jsonld
diff --git a/tests/expand/e049-in.jsonld b/tests/expand/er49-in.jsonld
similarity index 100%
rename from tests/expand/e049-in.jsonld
rename to tests/expand/er49-in.jsonld
diff --git a/tests/expand/e050-in.jsonld b/tests/expand/er50-in.jsonld
similarity index 100%
rename from tests/expand/e050-in.jsonld
rename to tests/expand/er50-in.jsonld
diff --git a/tests/expand/e051-in.jsonld b/tests/expand/er51-in.jsonld
similarity index 100%
rename from tests/expand/e051-in.jsonld
rename to tests/expand/er51-in.jsonld
diff --git a/tests/expand/pr40-in.jsonld b/tests/expand/pr40-in.jsonld
new file mode 100644
index 00000000..52c7b642
--- /dev/null
+++ b/tests/expand/pr40-in.jsonld
@@ -0,0 +1,17 @@
+{
+ "@context": {
+ "@vocab": "http://vocab.org/",
+ "@protected": true,
+ "bar": "http://ignored.org/bar",
+ "foo": {
+ "@context": {
+ "bar": "http://example.org/other"
+ }
+ }
+ },
+ "@id": "ex:outer",
+ "foo": {
+ "@id": "ex:inner",
+ "bar": "baz"
+ }
+}
\ No newline at end of file
diff --git a/tests/expand/pr40-out.jsonld b/tests/expand/pr40-out.jsonld
new file mode 100644
index 00000000..bba43a5f
--- /dev/null
+++ b/tests/expand/pr40-out.jsonld
@@ -0,0 +1,7 @@
+[{
+ "@id": "ex:outer",
+ "http://vocab.org/foo": [{
+ "@id": "ex:inner",
+ "http://example.org/other": [{"@value": "baz"}]
+ }]
+}]
\ No newline at end of file
diff --git a/tests/toRdf-manifest.html b/tests/toRdf-manifest.html
index a99a1c3e..825c7378 100644
--- a/tests/toRdf-manifest.html
+++ b/tests/toRdf-manifest.html
@@ -3646,104 +3646,6 @@
-
-Test tec01 Invalid keyword in term definition
-
-
-
-- id
-- #tec01
-- Type
-- jld:NegativeEvaluationTest, jld:ToRDFTest
-- Purpose
-- Verifies that an exception is raised on expansion when a invalid term definition is found
-- input
--
-toRdf/ec01-in.jsonld
-
-- expect
--
-invalid term definition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
-
-
-
-
-Test tec02 Term definition on @type with empty map
-
-
-
-- id
-- #tec02
-- Type
-- jld:NegativeEvaluationTest, jld:ToRDFTest
-- Purpose
-- Verifies that an exception is raised if @type is defined as a term with an empty map
-- input
--
-toRdf/ec02-in.jsonld
-
-- expect
--
-keyword redefinition
-
-- Options
--
-
-- specVersion
-- json-ld-1.1
-
-
-
-
-
-Test tee50 Invalid reverse id
-
-
-
-- id
-- #tee50
-- Type
-- jld:NegativeEvaluationTest, jld:ToRDFTest
-- Purpose
-- Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.
-- input
--
-toRdf/ee50-in.jsonld
-
-- expect
--
-invalid IRI mapping
-
-
-
-
-Test tee51 Invalid value object value using a value alias
-
-
-
-- id
-- #tee51
-- Type
-- jld:NegativeEvaluationTest, jld:ToRDFTest
-- Purpose
-- Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias
-- input
--
-toRdf/ee51-in.jsonld
-
-- expect
--
-invalid value object value
-
-
-
Test te051 Expansion of keyword aliases in term definitions
@@ -5585,14 +5487,1553 @@
Type
jld:NegativeEvaluationTest, jld:ToRDFTest
Purpose
-Processors MUST validate datatype IRIs.
+Processors MUST validate datatype IRIs.
+input
+
+toRdf/e123-in.jsonld
+
+expect
+
+invalid typed value
+
+Options
+
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test t0124 compact IRI as @vocab
+
+
+
+- id
+- #t0124
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that @vocab defined as a compact IRI expands properly
+- input
+-
+toRdf/e124-in.jsonld
+
+- expect
+-
+toRdf/e124-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test t0125 term as @vocab
+
+
+
+- id
+- #t0125
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that @vocab defined as a term expands properly
+- input
+-
+toRdf/e125-in.jsonld
+
+- expect
+-
+toRdf/e125-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tec01 Invalid keyword in term definition
+
+
+
+- id
+- #tec01
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid term definition is found
+- input
+-
+toRdf/ec01-in.jsonld
+
+- expect
+-
+invalid term definition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tec02 Term definition on @type with empty map
+
+
+
+- id
+- #tec02
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised if @type is defined as a term with an empty map
+- input
+-
+toRdf/ec02-in.jsonld
+
+- expect
+-
+keyword redefinition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tem01 Invalid container mapping
+
+
+
+- id
+- #tem01
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid container mapping is found
+- input
+-
+toRdf/em01-in.jsonld
+
+- expect
+-
+invalid container mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten01 @nest MUST NOT have a string value
+
+
+
+- id
+- #ten01
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- container: @nest
+- input
+-
+toRdf/en01-in.jsonld
+
+- expect
+-
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten02 @nest MUST NOT have a boolen value
+
+
+
+- id
+- #ten02
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Transparent Nesting
+- input
+-
+toRdf/en02-in.jsonld
+
+- expect
+-
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten03 @nest MUST NOT have a numeric value
+
+
+
+- id
+- #ten03
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Transparent Nesting
+- input
+-
+toRdf/en03-in.jsonld
+
+- expect
+-
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten04 @nest MUST NOT have a value object value
+
+
+
+- id
+- #ten04
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Transparent Nesting
+- input
+-
+toRdf/en04-in.jsonld
+
+- expect
+-
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten05 does not allow a keyword other than @nest for the value of @nest
+
+
+
+- id
+- #ten05
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Transparent Nesting
+- input
+-
+toRdf/en05-in.jsonld
+
+- expect
+-
+invalid @nest value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ten06 does not allow @nest with @reverse
+
+
+
+- id
+- #ten06
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Transparent Nesting
+- input
+-
+toRdf/en06-in.jsonld
+
+- expect
+-
+invalid reverse property
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tep02 processingMode json-ld-1.0 conflicts with @version: 1.1
+
+
+
+- id
+- #tep02
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.
+- input
+-
+toRdf/ep02-in.jsonld
+
+- expect
+-
+processing mode conflict
+
+- Options
+-
+
+- processingMode
+- json-ld-1.0
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tep03 @version must be 1.1
+
+
+
+- id
+- #tep03
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- If @version is specified, it must be 1.1
+- input
+-
+toRdf/ep03-in.jsonld
+
+- expect
+-
+invalid @version value
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter01 Keywords cannot be aliased to other keywords
+
+
+
+- id
+- #ter01
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword
+- input
+-
+toRdf/er01-in.jsonld
+
+- expect
+-
+keyword redefinition
+
+
+
+
+Test ter02 A context may not include itself recursively (direct)
+
+
+
+- id
+- #ter02
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when processing a context referencing itself
+- input
+-
+toRdf/er02-in.jsonld
+
+- expect
+-
+recursive context inclusion
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+
+Test ter03 A context may not include itself recursively (indirect)
+
+
+
+- id
+- #ter03
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when processing a context referencing itself indirectly
+- input
+-
+toRdf/er03-in.jsonld
+
+- expect
+-
+recursive context inclusion
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+
+Test ter04 Error dereferencing a remote context
+
+
+
+- id
+- #ter04
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context dereference results in an error
+- input
+-
+toRdf/er04-in.jsonld
+
+- expect
+-
+loading remote context failed
+
+
+
+
+Test ter05 Invalid remote context
+
+
+
+- id
+- #ter05
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a remote context is not an object containing @context
+- input
+-
+toRdf/er05-in.jsonld
+
+- expect
+-
+invalid remote context
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter06 Invalid local context
+
+
+
+- id
+- #ter06
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context is not a string or object
+- input
+-
+toRdf/er06-in.jsonld
+
+- expect
+-
+invalid local context
+
+
+
+
+Test ter07 Invalid base IRI
+
+
+
+- id
+- #ter07
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context contains an invalid @base
+- input
+-
+toRdf/er07-in.jsonld
+
+- expect
+-
+invalid base IRI
+
+
+
+
+Test ter08 Invalid vocab mapping
+
+
+
+- id
+- #ter08
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping
+- input
+-
+toRdf/er08-in.jsonld
+
+- expect
+-
+invalid vocab mapping
+
+
+
+
+Test ter09 Invalid default language
+
+
+
+- id
+- #ter09
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context contains an invalid @language
+- input
+-
+toRdf/er09-in.jsonld
+
+- expect
+-
+invalid default language
+
+
+
+
+Test ter10 Cyclic IRI mapping
+
+
+
+- id
+- #ter10
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a cyclic IRI mapping is found
+- input
+-
+toRdf/er10-in.jsonld
+
+- expect
+-
+cyclic IRI mapping
+
+
+
+
+Test ter11 Invalid term definition
+
+
+
+- id
+- #ter11
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid term definition is found
+- input
+-
+toRdf/er11-in.jsonld
+
+- expect
+-
+invalid term definition
+
+
+
+
+Test ter12 Invalid type mapping (not a string)
+
+
+
+- id
+- #ter12
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- input
+-
+toRdf/er12-in.jsonld
+
+- expect
+-
+invalid type mapping
+
+
+
+
+Test ter13 Invalid type mapping (not absolute IRI)
+
+
+
+- id
+- #ter13
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- input
+-
+toRdf/er13-in.jsonld
+
+- expect
+-
+invalid type mapping
+
+
+
+
+Test ter14 Invalid reverse property (contains @id)
+
+
+
+- id
+- #ter14
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid reverse property is found
+- input
+-
+toRdf/er14-in.jsonld
+
+- expect
+-
+invalid reverse property
+
+
+
+
+Test ter15 Invalid IRI mapping (@reverse not a string)
+
+
+
+- id
+- #ter15
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- input
+-
+toRdf/er15-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+
+
+
+Test ter17 Invalid reverse property (invalid @container)
+
+
+
+- id
+- #ter17
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid reverse property is found
+- input
+-
+toRdf/er17-in.jsonld
+
+- expect
+-
+invalid reverse property
+
+
+
+
+Test ter18 Invalid IRI mapping (@id not a string)
+
+
+
+- id
+- #ter18
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- input
+-
+toRdf/er18-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+
+
+
+Test ter19 Invalid keyword alias (@context)
+
+
+
+- id
+- #ter19
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid keyword alias is found
+- input
+-
+toRdf/er19-in.jsonld
+
+- expect
+-
+invalid keyword alias
+
+
+
+
+Test ter20 Invalid IRI mapping (no vocab mapping)
+
+
+
+- id
+- #ter20
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid IRI mapping is found
+- input
+-
+toRdf/er20-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+
+
+
+Test ter21 Invalid container mapping
+
+
+
+- id
+- #ter21
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid container mapping is found
+- input
+-
+toRdf/er21-in.jsonld
+
+- expect
+-
+invalid container mapping
+
+- Options
+-
+
+- processingMode
+- json-ld-1.0
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter22 Invalid language mapping
+
+
+
+- id
+- #ter22
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid language mapping is found
+- input
+-
+toRdf/er22-in.jsonld
+
+- expect
+-
+invalid language mapping
+
+
+
+
+Test ter23 Invalid IRI mapping (relative IRI in @type)
+
+
+
+- id
+- #ter23
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a invalid type mapping is found
+- input
+-
+toRdf/er23-in.jsonld
+
+- expect
+-
+invalid type mapping
+
+
+
+
+Test ter24 List of lists (from array)
+
+
+
+- id
+- #ter24
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when a list of lists is found
+- input
+-
+toRdf/er24-in.jsonld
+
+- expect
+-
+list of lists
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+
+Test ter25 Invalid reverse property map
+
+
+
+- id
+- #ter25
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when a invalid reverse property map is found
+- input
+-
+toRdf/er25-in.jsonld
+
+- expect
+-
+invalid reverse property map
+
+
+
+
+Test ter26 Colliding keywords
+
+
+
+- id
+- #ter26
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when colliding keywords are found
+- input
+-
+toRdf/er26-in.jsonld
+
+- expect
+-
+colliding keywords
+
+
+
+
+Test ter27 Invalid @id value
+
+
+
+- id
+- #ter27
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid @id value is found
+- input
+-
+toRdf/er27-in.jsonld
+
+- expect
+-
+invalid @id value
+
+
+
+
+Test ter28 Invalid type value
+
+
+
+- id
+- #ter28
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid type value is found
+- input
+-
+toRdf/er28-in.jsonld
+
+- expect
+-
+invalid type value
+
+
+
+
+Test ter29 Invalid value object value
+
+
+
+- id
+- #ter29
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid value object value is found
+- input
+-
+toRdf/er29-in.jsonld
+
+- expect
+-
+invalid value object value
+
+
+
+
+Test ter30 Invalid language-tagged string
+
+
+
+- id
+- #ter30
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found
+- input
+-
+toRdf/er30-in.jsonld
+
+- expect
+-
+invalid language-tagged string
+
+
+
+
+Test ter31 Invalid @index value
+
+
+
+- id
+- #ter31
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid @index value value is found
+- input
+-
+toRdf/er31-in.jsonld
+
+- expect
+-
+invalid @index value
+
+
+
+
+Test ter32 List of lists (from array)
+
+
+
+- id
+- #ter32
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when a list of lists is found
+- input
+-
+toRdf/er32-in.jsonld
+
+- expect
+-
+list of lists
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+
+Test ter33 Invalid @reverse value
+
+
+
+- id
+- #ter33
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid @reverse value is found
+- input
+-
+toRdf/er33-in.jsonld
+
+- expect
+-
+invalid @reverse value
+
+
+
+
+Test ter34 Invalid reverse property value (in @reverse)
+
+
+
+- id
+- #ter34
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
+- input
+-
+toRdf/er34-in.jsonld
+
+- expect
+-
+invalid reverse property value
+
+
+
+
+Test ter35 Invalid language map value
+
+
+
+- id
+- #ter35
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid language map value is found
+- input
+-
+toRdf/er35-in.jsonld
+
+- expect
+-
+invalid language map value
+
+
+
+
+Test ter36 Invalid reverse property value (through coercion)
+
+
+
+- id
+- #ter36
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid reverse property value is found
+- input
+-
+toRdf/er36-in.jsonld
+
+- expect
+-
+invalid reverse property value
+
+
+
+
+Test ter37 Invalid value object (unexpected keyword)
+
+
+
+- id
+- #ter37
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid value object is found
+- input
+-
+toRdf/er37-in.jsonld
+
+- expect
+-
+invalid value object
+
+
+
+
+Test ter38 Invalid value object (@type and @language)
+
+
+
+- id
+- #ter38
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid value object is found
+- input
+-
+toRdf/er38-in.jsonld
+
+- expect
+-
+invalid value object
+
+
+
+
+Test ter39 Invalid language-tagged value
+
+
+
+- id
+- #ter39
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid language-tagged value is found
+- input
+-
+toRdf/er39-in.jsonld
+
+- expect
+-
+invalid language-tagged value
+
+
+
+
+Test ter40 Invalid typed value
+
+
+
+- id
+- #ter40
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid typed value is found
+- input
+-
+toRdf/er40-in.jsonld
+
+- expect
+-
+invalid typed value
+
+
+
+
+Test ter41 Invalid set or list object
+
+
+
+- id
+- #ter41
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid set or list object is found
+- input
+-
+toRdf/er41-in.jsonld
+
+- expect
+-
+invalid set or list object
+
+
+
+
+Test ter42 Keywords may not be redefined in 1.0
+
+
+
+- id
+- #ter42
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when processing an invalid context attempting to define @container on a keyword
+- input
+-
+toRdf/er42-in.jsonld
+
+- expect
+-
+keyword redefinition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+- processingMode
+- json-ld-1.0
+
+
+
+
+
+Test ter43 Term definition with @id: @type
+
+
+
+- id
+- #ter43
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Expanding term mapping to @type uses @type syntax now illegal
+- input
+-
+toRdf/er43-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter44 Redefine terms looking like compact IRIs
+
+
+
+- id
+- #ter44
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Term definitions may look like compact IRIs, but must be consistent.
+- input
+-
+toRdf/er44-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter48 Invalid term as relative IRI
+
+
+
+- id
+- #ter48
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that a relative IRI cannot be used as a term.
+- input
+-
+toRdf/er48-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter49 A relative IRI cannot be used as a prefix
+
+
+
+- id
+- #ter49
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that a relative IRI cannot be used as a term.
+- input
+-
+toRdf/er49-in.jsonld
+
+- expect
+-
+invalid term definition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test ter50 Invalid reverse id
+
+
+
+- id
+- #ter50
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.
+- input
+-
+toRdf/er50-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+
+
+
+Test ter51 Invalid value object value using a value alias
+
+
+
+- id
+- #ter51
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias
+- input
+-
+toRdf/er51-in.jsonld
+
+- expect
+-
+invalid value object value
+
+
+
+
+Test ter52 Definition for the empty term
+
+
+
+- id
+- #ter52
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Verifies that an exception is raised on expansion when a context contains a definition for the empty term
+- input
+-
+toRdf/er52-in.jsonld
+
+- expect
+-
+invalid term definition
+
+
+
+
+Test tin01 Basic Included array
+
+
+
+- id
+- #tin01
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Tests included blocks.
+- input
+-
+toRdf/in01-in.jsonld
+
+- expect
+-
+toRdf/in01-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tin02 Basic Included object
+
+
+
+- id
+- #tin02
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Tests included blocks.
+- input
+-
+toRdf/in02-in.jsonld
+
+- expect
+-
+toRdf/in02-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tin03 Multiple properties mapping to @included are folded together
+
+
+
+- id
+- #tin03
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Tests included blocks.
- input
-
-toRdf/e123-in.jsonld
+toRdf/in03-in.jsonld
- expect
-
-invalid typed value
+toRdf/in03-out.nq
- Options
-
@@ -5603,24 +7044,24 @@
-
-Test tin01 Basic Included array
+
+Test tin04 Included containing @included
- id
-- #tin01
+- #tin04
- Type
- jld:PositiveEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in01-in.jsonld
+toRdf/in04-in.jsonld
- expect
-
-toRdf/in01-out.nq
+toRdf/in04-out.nq
- Options
-
@@ -5631,24 +7072,24 @@
-
-Test tin02 Basic Included object
+
+Test tin05 Property value with @included
- id
-- #tin02
+- #tin05
- Type
- jld:PositiveEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in02-in.jsonld
+toRdf/in05-in.jsonld
- expect
-
-toRdf/in02-out.nq
+toRdf/in05-out.nq
- Options
-
@@ -5659,24 +7100,24 @@
-
-Test tin03 Multiple properties mapping to @included are folded together
+
+Test tin06 json.api example
- id
-- #tin03
+- #tin06
- Type
- jld:PositiveEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in03-in.jsonld
+toRdf/in06-in.jsonld
- expect
-
-toRdf/in03-out.nq
+toRdf/in06-out.nq
- Options
-
@@ -5687,24 +7128,24 @@
-
-Test tin04 Included containing @included
+
+Test tin07 Error if @included value is a string
- id
-- #tin04
+- #tin07
- Type
-- jld:PositiveEvaluationTest, jld:ToRDFTest
+- jld:NegativeEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in04-in.jsonld
+toRdf/in07-in.jsonld
- expect
-
-toRdf/in04-out.nq
+invalid @included value
- Options
-
@@ -5715,24 +7156,24 @@
-
-Test tin05 Property value with @included
+
+Test tin08 Error if @included value is a value object
- id
-- #tin05
+- #tin08
- Type
-- jld:PositiveEvaluationTest, jld:ToRDFTest
+- jld:NegativeEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in05-in.jsonld
+toRdf/in08-in.jsonld
- expect
-
-toRdf/in05-out.nq
+invalid @included value
- Options
-
@@ -5743,24 +7184,24 @@
-
-Test tin06 json.api example
+
+Test tin09 Error if @included value is a list object
- id
-- #tin06
+- #tin09
- Type
-- jld:PositiveEvaluationTest, jld:ToRDFTest
+- jld:NegativeEvaluationTest, jld:ToRDFTest
- Purpose
- Tests included blocks.
- input
-
-toRdf/in06-in.jsonld
+toRdf/in09-in.jsonld
- expect
-
-toRdf/in06-out.nq
+invalid @included value
- Options
-
@@ -6517,6 +7958,230 @@
+
+Test tli03 @list containing @list (with coercion)
+
+
+
+- id
+- #tli03
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li03-in.jsonld
+
+- expect
+-
+toRdf/li03-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli04 @list containing empty @list (with coercion)
+
+
+
+- id
+- #tli04
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li04-in.jsonld
+
+- expect
+-
+toRdf/li04-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli05 coerced @list containing an array
+
+
+
+- id
+- #tli05
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li05-in.jsonld
+
+- expect
+-
+toRdf/li05-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli06 coerced @list containing an empty array
+
+
+
+- id
+- #tli06
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li06-in.jsonld
+
+- expect
+-
+toRdf/li06-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli07 coerced @list containing deep arrays
+
+
+
+- id
+- #tli07
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li07-in.jsonld
+
+- expect
+-
+toRdf/li07-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli08 coerced @list containing deep empty arrays
+
+
+
+- id
+- #tli08
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li08-in.jsonld
+
+- expect
+-
+toRdf/li08-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli09 coerced @list containing multiple lists
+
+
+
+- id
+- #tli09
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li09-in.jsonld
+
+- expect
+-
+toRdf/li09-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+
+Test tli10 coerced @list containing mixed list values
+
+
+
+- id
+- #tli10
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- List of lists
+- input
+-
+toRdf/li10-in.jsonld
+
+- expect
+-
+toRdf/li10-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
Test tm001 Adds @id to object not having an @id
@@ -9125,6 +10790,34 @@
+
+Test tpr40 Protected terms and property-scoped contexts
+
+
+
+- id
+- #tpr40
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Check overriding of protected term from property-scoped context.
+- input
+-
+toRdf/pr40-in.jsonld
+
+- expect
+-
+toRdf/pr40-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
Test trt01 Representing numbers >= 1e21
diff --git a/tests/toRdf-manifest.jsonld b/tests/toRdf-manifest.jsonld
index 53202c13..30c64a33 100644
--- a/tests/toRdf-manifest.jsonld
+++ b/tests/toRdf-manifest.jsonld
@@ -1121,36 +1121,6 @@
"purpose": "RDF version of expand-0050",
"input": "toRdf/e050-in.jsonld",
"expect": "toRdf/e050-out.nq"
- }, {
- "@id": "#tec01",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
- "name": "Invalid keyword in term definition",
- "purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
- "input": "toRdf/ec01-in.jsonld",
- "expectErrorCode": "invalid term definition",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tec02",
- "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
- "name": "Term definition on @type with empty map",
- "purpose": "Verifies that an exception is raised if @type is defined as a term with an empty map",
- "input": "toRdf/ec02-in.jsonld",
- "expectErrorCode": "keyword redefinition",
- "option": {"specVersion": "json-ld-1.1"}
- }, {
- "@id": "#tee50",
- "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
- "name": "Invalid reverse id",
- "purpose": "Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.",
- "input": "toRdf/ee50-in.jsonld",
- "expectErrorCode": "invalid IRI mapping"
- }, {
- "@id": "#tee51",
- "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
- "name": "Invalid value object value using a value alias",
- "purpose": "Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias",
- "input": "toRdf/ee51-in.jsonld",
- "expectErrorCode": "invalid value object value"
}, {
"@id": "#te051",
"@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
@@ -1722,6 +1692,450 @@
"input": "toRdf/e123-in.jsonld",
"expectErrorCode": "invalid typed value",
"option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#t0124",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "compact IRI as @vocab",
+ "purpose": "Verifies that @vocab defined as a compact IRI expands properly",
+ "input": "toRdf/e124-in.jsonld",
+ "expect": "toRdf/e124-out.nq",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#t0125",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "term as @vocab",
+ "purpose": "Verifies that @vocab defined as a term expands properly",
+ "input": "toRdf/e125-in.jsonld",
+ "expect": "toRdf/e125-out.nq",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tec01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid keyword in term definition",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
+ "input": "toRdf/ec01-in.jsonld",
+ "expectErrorCode": "invalid term definition",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tec02",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Term definition on @type with empty map",
+ "purpose": "Verifies that an exception is raised if @type is defined as a term with an empty map",
+ "input": "toRdf/ec02-in.jsonld",
+ "expectErrorCode": "keyword redefinition",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tem01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid container mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid container mapping is found",
+ "input": "toRdf/em01-in.jsonld",
+ "expectErrorCode": "invalid container mapping",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "@nest MUST NOT have a string value",
+ "purpose": "container: @nest",
+ "input": "toRdf/en01-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten02",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "@nest MUST NOT have a boolen value",
+ "purpose": "Transparent Nesting",
+ "input": "toRdf/en02-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten03",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "@nest MUST NOT have a numeric value",
+ "purpose": "Transparent Nesting",
+ "input": "toRdf/en03-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten04",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "@nest MUST NOT have a value object value",
+ "purpose": "Transparent Nesting",
+ "input": "toRdf/en04-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten05",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "does not allow a keyword other than @nest for the value of @nest",
+ "purpose": "Transparent Nesting",
+ "input": "toRdf/en05-in.jsonld",
+ "expectErrorCode": "invalid @nest value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ten06",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "does not allow @nest with @reverse",
+ "purpose": "Transparent Nesting",
+ "input": "toRdf/en06-in.jsonld",
+ "expectErrorCode": "invalid reverse property",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tep02",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "processingMode json-ld-1.0 conflicts with @version: 1.1",
+ "purpose": "If processingMode is explicitly json-ld-1.0, it will conflict with 1.1 features.",
+ "input": "toRdf/ep02-in.jsonld",
+ "expectErrorCode": "processing mode conflict",
+ "option": {"processingMode": "json-ld-1.0", "specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tep03",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "@version must be 1.1",
+ "purpose": "If @version is specified, it must be 1.1",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/ep03-in.jsonld",
+ "expectErrorCode": "invalid @version value"
+ }, {
+ "@id": "#ter01",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Keywords cannot be aliased to other keywords",
+ "purpose": "Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword",
+ "input": "toRdf/er01-in.jsonld",
+ "expectErrorCode": "keyword redefinition"
+ }, {
+ "@id": "#ter02",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "A context may not include itself recursively (direct)",
+ "purpose": "Verifies that an exception is raised on expansion when processing a context referencing itself",
+ "input": "toRdf/er02-in.jsonld",
+ "expectErrorCode": "recursive context inclusion",
+ "option": {"specVersion": "json-ld-1.0"}
+ }, {
+ "@id": "#ter03",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "A context may not include itself recursively (indirect)",
+ "purpose": "Verifies that an exception is raised on expansion when processing a context referencing itself indirectly",
+ "input": "toRdf/er03-in.jsonld",
+ "expectErrorCode": "recursive context inclusion",
+ "option": {"specVersion": "json-ld-1.0"}
+ }, {
+ "@id": "#ter04",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Error dereferencing a remote context",
+ "purpose": "Verifies that an exception is raised on expansion when a context dereference results in an error",
+ "input": "toRdf/er04-in.jsonld",
+ "expectErrorCode": "loading remote context failed"
+ }, {
+ "@id": "#ter05",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid remote context",
+ "purpose": "Verifies that an exception is raised on expansion when a remote context is not an object containing @context",
+ "input": "toRdf/er05-in.jsonld",
+ "expectErrorCode": "invalid remote context",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter06",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid local context",
+ "purpose": "Verifies that an exception is raised on expansion when a context is not a string or object",
+ "input": "toRdf/er06-in.jsonld",
+ "expectErrorCode": "invalid local context"
+ }, {
+ "@id": "#ter07",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid base IRI",
+ "purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @base",
+ "input": "toRdf/er07-in.jsonld",
+ "expectErrorCode": "invalid base IRI"
+ }, {
+ "@id": "#ter08",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid vocab mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping",
+ "input": "toRdf/er08-in.jsonld",
+ "expectErrorCode": "invalid vocab mapping"
+ }, {
+ "@id": "#ter09",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid default language",
+ "purpose": "Verifies that an exception is raised on expansion when a context contains an invalid @language",
+ "input": "toRdf/er09-in.jsonld",
+ "expectErrorCode": "invalid default language"
+ }, {
+ "@id": "#ter10",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Cyclic IRI mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a cyclic IRI mapping is found",
+ "input": "toRdf/er10-in.jsonld",
+ "expectErrorCode": "cyclic IRI mapping"
+ }, {
+ "@id": "#ter11",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid term definition",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid term definition is found",
+ "input": "toRdf/er11-in.jsonld",
+ "expectErrorCode": "invalid term definition"
+ }, {
+ "@id": "#ter12",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid type mapping (not a string)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
+ "input": "toRdf/er12-in.jsonld",
+ "expectErrorCode": "invalid type mapping"
+ }, {
+ "@id": "#ter13",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid type mapping (not absolute IRI)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
+ "input": "toRdf/er13-in.jsonld",
+ "expectErrorCode": "invalid type mapping"
+ }, {
+ "@id": "#ter14",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse property (contains @id)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid reverse property is found",
+ "input": "toRdf/er14-in.jsonld",
+ "expectErrorCode": "invalid reverse property"
+ }, {
+ "@id": "#ter15",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid IRI mapping (@reverse not a string)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
+ "input": "toRdf/er15-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping"
+ }, {
+ "@id": "#ter17",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse property (invalid @container)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid reverse property is found",
+ "input": "toRdf/er17-in.jsonld",
+ "expectErrorCode": "invalid reverse property"
+ }, {
+ "@id": "#ter18",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid IRI mapping (@id not a string)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
+ "input": "toRdf/er18-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping"
+ }, {
+ "@id": "#ter19",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid keyword alias (@context)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid keyword alias is found",
+ "input": "toRdf/er19-in.jsonld",
+ "expectErrorCode": "invalid keyword alias"
+ }, {
+ "@id": "#ter20",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid IRI mapping (no vocab mapping)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid IRI mapping is found",
+ "input": "toRdf/er20-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping"
+ }, {
+ "@id": "#ter21",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid container mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid container mapping is found",
+ "input": "toRdf/er21-in.jsonld",
+ "expectErrorCode": "invalid container mapping",
+ "option": {"processingMode": "json-ld-1.0", "specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter22",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid language mapping",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid language mapping is found",
+ "input": "toRdf/er22-in.jsonld",
+ "expectErrorCode": "invalid language mapping"
+ }, {
+ "@id": "#ter23",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid IRI mapping (relative IRI in @type)",
+ "purpose": "Verifies that an exception is raised on expansion when a invalid type mapping is found",
+ "input": "toRdf/er23-in.jsonld",
+ "expectErrorCode": "invalid type mapping"
+ }, {
+ "@id": "#ter24",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "List of lists (from array)",
+ "purpose": "Verifies that an exception is raised in Expansion when a list of lists is found",
+ "input": "toRdf/er24-in.jsonld",
+ "expectErrorCode": "list of lists",
+ "option": {"specVersion": "json-ld-1.0"}
+ }, {
+ "@id": "#ter25",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse property map",
+ "purpose": "Verifies that an exception is raised in Expansion when a invalid reverse property map is found",
+ "input": "toRdf/er25-in.jsonld",
+ "expectErrorCode": "invalid reverse property map"
+ }, {
+ "@id": "#ter26",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Colliding keywords",
+ "purpose": "Verifies that an exception is raised in Expansion when colliding keywords are found",
+ "input": "toRdf/er26-in.jsonld",
+ "expectErrorCode": "colliding keywords"
+ }, {
+ "@id": "#ter27",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid @id value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid @id value is found",
+ "input": "toRdf/er27-in.jsonld",
+ "expectErrorCode": "invalid @id value"
+ }, {
+ "@id": "#ter28",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid type value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid type value is found",
+ "input": "toRdf/er28-in.jsonld",
+ "expectErrorCode": "invalid type value"
+ }, {
+ "@id": "#ter29",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid value object value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid value object value is found",
+ "input": "toRdf/er29-in.jsonld",
+ "expectErrorCode": "invalid value object value"
+ }, {
+ "@id": "#ter30",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid language-tagged string",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found",
+ "input": "toRdf/er30-in.jsonld",
+ "expectErrorCode": "invalid language-tagged string"
+ }, {
+ "@id": "#ter31",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid @index value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid @index value value is found",
+ "input": "toRdf/er31-in.jsonld",
+ "expectErrorCode": "invalid @index value"
+ }, {
+ "@id": "#ter32",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "List of lists (from array)",
+ "purpose": "Verifies that an exception is raised in Expansion when a list of lists is found",
+ "input": "toRdf/er32-in.jsonld",
+ "expectErrorCode": "list of lists",
+ "option": {"specVersion": "json-ld-1.0"}
+ }, {
+ "@id": "#ter33",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid @reverse value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid @reverse value is found",
+ "input": "toRdf/er33-in.jsonld",
+ "expectErrorCode": "invalid @reverse value"
+ }, {
+ "@id": "#ter34",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse property value (in @reverse)",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid reverse property value is found",
+ "input": "toRdf/er34-in.jsonld",
+ "expectErrorCode": "invalid reverse property value"
+ }, {
+ "@id": "#ter35",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid language map value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid language map value is found",
+ "input": "toRdf/er35-in.jsonld",
+ "expectErrorCode": "invalid language map value"
+ }, {
+ "@id": "#ter36",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse property value (through coercion)",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid reverse property value is found",
+ "input": "toRdf/er36-in.jsonld",
+ "expectErrorCode": "invalid reverse property value"
+ }, {
+ "@id": "#ter37",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid value object (unexpected keyword)",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid value object is found",
+ "input": "toRdf/er37-in.jsonld",
+ "expectErrorCode": "invalid value object"
+ }, {
+ "@id": "#ter38",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid value object (@type and @language)",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid value object is found",
+ "input": "toRdf/er38-in.jsonld",
+ "expectErrorCode": "invalid value object"
+ }, {
+ "@id": "#ter39",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid language-tagged value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid language-tagged value is found",
+ "input": "toRdf/er39-in.jsonld",
+ "expectErrorCode": "invalid language-tagged value"
+ }, {
+ "@id": "#ter40",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid typed value",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid typed value is found",
+ "input": "toRdf/er40-in.jsonld",
+ "expectErrorCode": "invalid typed value"
+ }, {
+ "@id": "#ter41",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid set or list object",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid set or list object is found",
+ "input": "toRdf/er41-in.jsonld",
+ "expectErrorCode": "invalid set or list object"
+ }, {
+ "@id": "#ter42",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Keywords may not be redefined in 1.0",
+ "purpose": "Verifies that an exception is raised on expansion when processing an invalid context attempting to define @container on a keyword",
+ "option": {"specVersion": "json-ld-1.1", "processingMode": "json-ld-1.0"},
+ "input": "toRdf/er42-in.jsonld",
+ "expectErrorCode": "keyword redefinition"
+ }, {
+ "@id": "#ter43",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Term definition with @id: @type",
+ "purpose": "Expanding term mapping to @type uses @type syntax now illegal",
+ "input": "toRdf/er43-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter44",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Redefine terms looking like compact IRIs",
+ "purpose": "Term definitions may look like compact IRIs, but must be consistent.",
+ "input": "toRdf/er44-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter48",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Invalid term as relative IRI",
+ "purpose": "Verifies that a relative IRI cannot be used as a term.",
+ "input": "toRdf/er48-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter49",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "A relative IRI cannot be used as a prefix",
+ "purpose": "Verifies that a relative IRI cannot be used as a term.",
+ "input": "toRdf/er49-in.jsonld",
+ "expectErrorCode": "invalid term definition",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#ter50",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid reverse id",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid IRI is used for @reverse.",
+ "input": "toRdf/er50-in.jsonld",
+ "expectErrorCode": "invalid IRI mapping"
+ }, {
+ "@id": "#ter51",
+ "@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
+ "name": "Invalid value object value using a value alias",
+ "purpose": "Verifies that an exception is raised in Expansion when an invalid value object value is found using a value alias",
+ "input": "toRdf/er51-in.jsonld",
+ "expectErrorCode": "invalid value object value"
}, {
"@id": "#ter52",
"@type": [ "jld:NegativeEvaluationTest", "jld:ToRDFTest" ],
@@ -1777,6 +2191,30 @@
"input": "toRdf/in06-in.jsonld",
"expect": "toRdf/in06-out.nq",
"option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tin07",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Error if @included value is a string",
+ "purpose": "Tests included blocks.",
+ "input": "toRdf/in07-in.jsonld",
+ "expectErrorCode": "invalid @included value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tin08",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Error if @included value is a value object",
+ "purpose": "Tests included blocks.",
+ "input": "toRdf/in08-in.jsonld",
+ "expectErrorCode": "invalid @included value",
+ "option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tin09",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Error if @included value is a list object",
+ "purpose": "Tests included blocks.",
+ "input": "toRdf/in09-in.jsonld",
+ "expectErrorCode": "invalid @included value",
+ "option": {"specVersion": "json-ld-1.1"}
}, {
"@id": "#tjs01",
"@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
@@ -1977,6 +2415,70 @@
"input": "toRdf/li02-in.jsonld",
"expect": "toRdf/li02-out.nq",
"option": {"specVersion": "json-ld-1.1"}
+ }, {
+ "@id": "#tli03",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "@list containing @list (with coercion)",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li03-in.jsonld",
+ "expect": "toRdf/li03-out.nq"
+ }, {
+ "@id": "#tli04",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "@list containing empty @list (with coercion)",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li04-in.jsonld",
+ "expect": "toRdf/li04-out.nq"
+ }, {
+ "@id": "#tli05",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing an array",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li05-in.jsonld",
+ "expect": "toRdf/li05-out.nq"
+ }, {
+ "@id": "#tli06",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing an empty array",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li06-in.jsonld",
+ "expect": "toRdf/li06-out.nq"
+ }, {
+ "@id": "#tli07",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing deep arrays",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li07-in.jsonld",
+ "expect": "toRdf/li07-out.nq"
+ }, {
+ "@id": "#tli08",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing deep empty arrays",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li08-in.jsonld",
+ "expect": "toRdf/li08-out.nq"
+ }, {
+ "@id": "#tli09",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing multiple lists",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li09-in.jsonld",
+ "expect": "toRdf/li09-out.nq"
+ }, {
+ "@id": "#tli10",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "coerced @list containing mixed list values",
+ "purpose": "List of lists",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/li10-in.jsonld",
+ "expect": "toRdf/li10-out.nq"
}, {
"@id": "#tm001",
"@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
@@ -2721,6 +3223,14 @@
"option": {"specVersion": "json-ld-1.1"},
"input": "toRdf/pr39-in.jsonld",
"expect": "toRdf/pr39-out.nq"
+ }, {
+ "@id": "#tpr40",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "Protected terms and property-scoped contexts",
+ "purpose": "Check overriding of protected term from property-scoped context.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr40-in.jsonld",
+ "expect": "toRdf/pr40-out.nq"
}, {
"@id": "#trt01",
"@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
diff --git a/tests/toRdf/e124-in.jsonld b/tests/toRdf/e124-in.jsonld
new file mode 100644
index 00000000..ac16aaf2
--- /dev/null
+++ b/tests/toRdf/e124-in.jsonld
@@ -0,0 +1,15 @@
+{
+ "@context": [
+ {
+ "@version": 1.1,
+ "ex": {
+ "@id": "http://example.org/",
+ "@prefix": true
+ }
+ },
+ {
+ "@vocab": "ex:ns/"
+ }
+ ],
+ "foo": "bar"
+}
diff --git a/tests/toRdf/e124-out.nq b/tests/toRdf/e124-out.nq
new file mode 100644
index 00000000..290c77cc
--- /dev/null
+++ b/tests/toRdf/e124-out.nq
@@ -0,0 +1 @@
+_:b0 "bar" .
diff --git a/tests/toRdf/e125-in.jsonld b/tests/toRdf/e125-in.jsonld
new file mode 100644
index 00000000..92b3ef61
--- /dev/null
+++ b/tests/toRdf/e125-in.jsonld
@@ -0,0 +1,15 @@
+{
+ "@context": [
+ {
+ "@version": 1.1,
+ "ex": {
+ "@id": "http://example.org/",
+ "@prefix": true
+ }
+ },
+ {
+ "@vocab": "ex"
+ }
+ ],
+ "foo": "bar"
+}
diff --git a/tests/toRdf/e125-out.nq b/tests/toRdf/e125-out.nq
new file mode 100644
index 00000000..c6e92021
--- /dev/null
+++ b/tests/toRdf/e125-out.nq
@@ -0,0 +1 @@
+_:b0 "bar" .
diff --git a/tests/toRdf/em01-in.jsonld b/tests/toRdf/em01-in.jsonld
new file mode 100644
index 00000000..ea465394
--- /dev/null
+++ b/tests/toRdf/em01-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@container": "@context"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/en01-in.jsonld b/tests/toRdf/en01-in.jsonld
new file mode 100644
index 00000000..81408e66
--- /dev/null
+++ b/tests/toRdf/en01-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@vocab": "http://example.org/"},
+ "@nest": "This should generate an error"
+}
\ No newline at end of file
diff --git a/tests/toRdf/en02-in.jsonld b/tests/toRdf/en02-in.jsonld
new file mode 100644
index 00000000..7af5e3b4
--- /dev/null
+++ b/tests/toRdf/en02-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@vocab": "http://example.org/"},
+ "@nest": true
+}
\ No newline at end of file
diff --git a/tests/toRdf/en03-in.jsonld b/tests/toRdf/en03-in.jsonld
new file mode 100644
index 00000000..91d33886
--- /dev/null
+++ b/tests/toRdf/en03-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@vocab": "http://example.org/"},
+ "@nest": 1
+}
\ No newline at end of file
diff --git a/tests/toRdf/en04-in.jsonld b/tests/toRdf/en04-in.jsonld
new file mode 100644
index 00000000..11e246a3
--- /dev/null
+++ b/tests/toRdf/en04-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@vocab": "http://example.org/"},
+ "@nest": {"@value": "This should generate an error"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/en05-in.jsonld b/tests/toRdf/en05-in.jsonld
new file mode 100644
index 00000000..a33791ca
--- /dev/null
+++ b/tests/toRdf/en05-in.jsonld
@@ -0,0 +1,5 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@nest": "@id"}
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/en06-in.jsonld b/tests/toRdf/en06-in.jsonld
new file mode 100644
index 00000000..3015c7af
--- /dev/null
+++ b/tests/toRdf/en06-in.jsonld
@@ -0,0 +1,5 @@
+{
+ "@context": {
+ "term": {"@reverse": "http://example/term", "@nest": "@nest"}
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/ep02-in.jsonld b/tests/toRdf/ep02-in.jsonld
new file mode 100644
index 00000000..4caa4695
--- /dev/null
+++ b/tests/toRdf/ep02-in.jsonld
@@ -0,0 +1,5 @@
+{
+ "@context": {
+ "@version": 1.1
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/ep03-in.jsonld b/tests/toRdf/ep03-in.jsonld
new file mode 100644
index 00000000..63c70f63
--- /dev/null
+++ b/tests/toRdf/ep03-in.jsonld
@@ -0,0 +1,5 @@
+{
+ "@context": {
+ "@version": 1.0
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/er01-in.jsonld b/tests/toRdf/er01-in.jsonld
new file mode 100644
index 00000000..4d295897
--- /dev/null
+++ b/tests/toRdf/er01-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "@type": "@id"
+ },
+ "@type": "http://example.org/type"
+}
diff --git a/tests/toRdf/er02-in.jsonld b/tests/toRdf/er02-in.jsonld
new file mode 100644
index 00000000..64ea5895
--- /dev/null
+++ b/tests/toRdf/er02-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": "er02-in.jsonld",
+ "@id": "http://example/test#example"
+}
diff --git a/tests/toRdf/er03-in.jsonld b/tests/toRdf/er03-in.jsonld
new file mode 100644
index 00000000..524fd18b
--- /dev/null
+++ b/tests/toRdf/er03-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": "er03-in.jsonld",
+ "@id": "http://example/test#example"
+}
diff --git a/tests/toRdf/er04-in.jsonld b/tests/toRdf/er04-in.jsonld
new file mode 100644
index 00000000..77391915
--- /dev/null
+++ b/tests/toRdf/er04-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": "tag:non-dereferencable-iri",
+ "@id": "http://example/test#example"
+}
diff --git a/tests/toRdf/er05-in.jsonld b/tests/toRdf/er05-in.jsonld
new file mode 100644
index 00000000..c1a1be6c
--- /dev/null
+++ b/tests/toRdf/er05-in.jsonld
@@ -0,0 +1,4 @@
+[{
+ "@context": "er05-in.jsonld",
+ "@id": "http://example/test#example"
+}]
diff --git a/tests/toRdf/er06-in.jsonld b/tests/toRdf/er06-in.jsonld
new file mode 100644
index 00000000..f30126f0
--- /dev/null
+++ b/tests/toRdf/er06-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": true,
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er07-in.jsonld b/tests/toRdf/er07-in.jsonld
new file mode 100644
index 00000000..17033fc0
--- /dev/null
+++ b/tests/toRdf/er07-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@base": true},
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er08-in.jsonld b/tests/toRdf/er08-in.jsonld
new file mode 100644
index 00000000..af74aecb
--- /dev/null
+++ b/tests/toRdf/er08-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@vocab": true},
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er09-in.jsonld b/tests/toRdf/er09-in.jsonld
new file mode 100644
index 00000000..d35c6348
--- /dev/null
+++ b/tests/toRdf/er09-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"@language": true},
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er10-in.jsonld b/tests/toRdf/er10-in.jsonld
new file mode 100644
index 00000000..f686eac9
--- /dev/null
+++ b/tests/toRdf/er10-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "term:term"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er11-in.jsonld b/tests/toRdf/er11-in.jsonld
new file mode 100644
index 00000000..f42f32d7
--- /dev/null
+++ b/tests/toRdf/er11-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": true
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er12-in.jsonld b/tests/toRdf/er12-in.jsonld
new file mode 100644
index 00000000..5d4295ad
--- /dev/null
+++ b/tests/toRdf/er12-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@type": true}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er13-in.jsonld b/tests/toRdf/er13-in.jsonld
new file mode 100644
index 00000000..9a968432
--- /dev/null
+++ b/tests/toRdf/er13-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@type": "_:not-an-iri"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er14-in.jsonld b/tests/toRdf/er14-in.jsonld
new file mode 100644
index 00000000..c6b1007e
--- /dev/null
+++ b/tests/toRdf/er14-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@reverse": "http://example/reverse"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er15-in.jsonld b/tests/toRdf/er15-in.jsonld
new file mode 100644
index 00000000..2a805bc8
--- /dev/null
+++ b/tests/toRdf/er15-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@reverse": true}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er17-in.jsonld b/tests/toRdf/er17-in.jsonld
new file mode 100644
index 00000000..403acef9
--- /dev/null
+++ b/tests/toRdf/er17-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@reverse": "http://example/reverse", "@container": "@list"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er18-in.jsonld b/tests/toRdf/er18-in.jsonld
new file mode 100644
index 00000000..9a9e2afa
--- /dev/null
+++ b/tests/toRdf/er18-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": true}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er19-in.jsonld b/tests/toRdf/er19-in.jsonld
new file mode 100644
index 00000000..04f67abe
--- /dev/null
+++ b/tests/toRdf/er19-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "@context"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er20-in.jsonld b/tests/toRdf/er20-in.jsonld
new file mode 100644
index 00000000..dff3ba52
--- /dev/null
+++ b/tests/toRdf/er20-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@container": "@set"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er21-in.jsonld b/tests/toRdf/er21-in.jsonld
new file mode 100644
index 00000000..8fdc3753
--- /dev/null
+++ b/tests/toRdf/er21-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@container": "@id"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er22-in.jsonld b/tests/toRdf/er22-in.jsonld
new file mode 100644
index 00000000..37f0e71c
--- /dev/null
+++ b/tests/toRdf/er22-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@language": true}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er23-in.jsonld b/tests/toRdf/er23-in.jsonld
new file mode 100644
index 00000000..3162bb46
--- /dev/null
+++ b/tests/toRdf/er23-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "term": {"@id": "http://example/term", "@type": "relative/iri"}
+ },
+ "@id": "http://example/test#example"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er24-in.jsonld b/tests/toRdf/er24-in.jsonld
new file mode 100644
index 00000000..f5e78e4d
--- /dev/null
+++ b/tests/toRdf/er24-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [{"@list": ["baz"]}]
+}
\ No newline at end of file
diff --git a/tests/toRdf/er25-in.jsonld b/tests/toRdf/er25-in.jsonld
new file mode 100644
index 00000000..0b66e9af
--- /dev/null
+++ b/tests/toRdf/er25-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@id": "http://example/foo",
+ "@reverse": {
+ "@id": "http://example/bar"
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/er26-in.jsonld b/tests/toRdf/er26-in.jsonld
new file mode 100644
index 00000000..36a12b8b
--- /dev/null
+++ b/tests/toRdf/er26-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "id": "@id",
+ "ID": "@id"
+ },
+ "id": "http://example/foo",
+ "ID": "http://example/bar"
+}
\ No newline at end of file
diff --git a/tests/toRdf/er27-in.jsonld b/tests/toRdf/er27-in.jsonld
new file mode 100644
index 00000000..76d36d5a
--- /dev/null
+++ b/tests/toRdf/er27-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "@id": true
+}
\ No newline at end of file
diff --git a/tests/toRdf/er28-in.jsonld b/tests/toRdf/er28-in.jsonld
new file mode 100644
index 00000000..6c8f7762
--- /dev/null
+++ b/tests/toRdf/er28-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "@type": true
+}
\ No newline at end of file
diff --git a/tests/toRdf/er29-in.jsonld b/tests/toRdf/er29-in.jsonld
new file mode 100644
index 00000000..c669c9e5
--- /dev/null
+++ b/tests/toRdf/er29-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/prop": {"@value": ["foo"]}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er30-in.jsonld b/tests/toRdf/er30-in.jsonld
new file mode 100644
index 00000000..abba6cee
--- /dev/null
+++ b/tests/toRdf/er30-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/prop": {"@value": "foo", "@language": true}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er31-in.jsonld b/tests/toRdf/er31-in.jsonld
new file mode 100644
index 00000000..f0c5c462
--- /dev/null
+++ b/tests/toRdf/er31-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "http://example.com/vocab/indexMap": {
+ "@value": "simple string",
+ "@language": "en",
+ "@index": true
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/er32-in.jsonld b/tests/toRdf/er32-in.jsonld
new file mode 100644
index 00000000..75ec1a87
--- /dev/null
+++ b/tests/toRdf/er32-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example.com/foo": {"@list": [{"@list": ["baz"]}]}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er33-in.jsonld b/tests/toRdf/er33-in.jsonld
new file mode 100644
index 00000000..a57607fa
--- /dev/null
+++ b/tests/toRdf/er33-in.jsonld
@@ -0,0 +1,5 @@
+{
+ "http://example/prop": {
+ "@reverse": true
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/er34-in.jsonld b/tests/toRdf/er34-in.jsonld
new file mode 100644
index 00000000..d48c68b8
--- /dev/null
+++ b/tests/toRdf/er34-in.jsonld
@@ -0,0 +1,10 @@
+{
+ "@context": {
+ "name": "http://xmlns.com/foaf/0.1/name"
+ },
+ "@id": "http://example.com/people/markus",
+ "name": "Markus Lanthaler",
+ "@reverse": {
+ "http://xmlns.com/foaf/0.1/knows": "Dave Longley"
+ }
+}
diff --git a/tests/toRdf/er35-in.jsonld b/tests/toRdf/er35-in.jsonld
new file mode 100644
index 00000000..c523c942
--- /dev/null
+++ b/tests/toRdf/er35-in.jsonld
@@ -0,0 +1,13 @@
+{
+ "@context": {
+ "vocab": "http://example.com/vocab/",
+ "label": {
+ "@id": "vocab:label",
+ "@container": "@language"
+ }
+ },
+ "@id": "http://example.com/queen",
+ "label": {
+ "en": true
+ }
+}
diff --git a/tests/toRdf/er36-in.jsonld b/tests/toRdf/er36-in.jsonld
new file mode 100644
index 00000000..8e9ff8b5
--- /dev/null
+++ b/tests/toRdf/er36-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "term": {"@reverse": "http://example/reverse"}
+ },
+ "@id": "http://example/foo",
+ "term": {"@list": ["http://example/bar"]}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er37-in.jsonld b/tests/toRdf/er37-in.jsonld
new file mode 100644
index 00000000..0a2d1750
--- /dev/null
+++ b/tests/toRdf/er37-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/foo": {"@value": "bar", "@id": "http://example/baz"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er38-in.jsonld b/tests/toRdf/er38-in.jsonld
new file mode 100644
index 00000000..20d4a7b7
--- /dev/null
+++ b/tests/toRdf/er38-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/foo": {"@value": "bar", "@language": "en", "@type": "http://example/type"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er39-in.jsonld b/tests/toRdf/er39-in.jsonld
new file mode 100644
index 00000000..0d03781b
--- /dev/null
+++ b/tests/toRdf/er39-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/foo": {"@value": true, "@language": "en"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er40-in.jsonld b/tests/toRdf/er40-in.jsonld
new file mode 100644
index 00000000..ea9b6303
--- /dev/null
+++ b/tests/toRdf/er40-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/foo": {"@value": "bar", "@type": "_:dt"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er41-in.jsonld b/tests/toRdf/er41-in.jsonld
new file mode 100644
index 00000000..c7ad513c
--- /dev/null
+++ b/tests/toRdf/er41-in.jsonld
@@ -0,0 +1,3 @@
+{
+ "http://example/prop": {"@list": ["foo"], "@id": "http://example/bar"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/er42-in.jsonld b/tests/toRdf/er42-in.jsonld
new file mode 100644
index 00000000..41360255
--- /dev/null
+++ b/tests/toRdf/er42-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "@type": {"@container": "@set"}
+ },
+ "@type": "http://example.org/type"
+}
diff --git a/tests/toRdf/er43-in.jsonld b/tests/toRdf/er43-in.jsonld
new file mode 100644
index 00000000..36d8cac7
--- /dev/null
+++ b/tests/toRdf/er43-in.jsonld
@@ -0,0 +1,20 @@
+{
+ "@context": {
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {"@id": "@type", "@type": "@id"}
+ },
+ "@graph": [
+ {
+ "@id": "http://example.com/a",
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/b"
+ }, {
+ "@id": "http://example.com/c",
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [
+ "http://example.com/d",
+ "http://example.com/e"
+ ]
+ }, {
+ "@id": "http://example.com/f",
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/g"
+ }
+ ]
+}
diff --git a/tests/toRdf/er44-in.jsonld b/tests/toRdf/er44-in.jsonld
new file mode 100644
index 00000000..257bd312
--- /dev/null
+++ b/tests/toRdf/er44-in.jsonld
@@ -0,0 +1,11 @@
+{
+ "@context": [
+ {
+ "v": "http://example.com/vocab#",
+ "v:term": "v:somethingElse",
+ "v:termId": { "@id": "v:somethingElseId" }
+ }
+ ],
+ "v:term": "value of v:term",
+ "v:termId": "value of v:termId"
+}
diff --git a/tests/toRdf/er45-in.jsonld b/tests/toRdf/er45-in.jsonld
new file mode 100644
index 00000000..598c43fe
--- /dev/null
+++ b/tests/toRdf/er45-in.jsonld
@@ -0,0 +1,15 @@
+{
+ "@context": [
+ {
+ "v": "http://example.com/vocab#",
+ "v:term": "v:somethingElse",
+ "v:termId": { "@id": "v:somethingElseId" }
+ },
+ {
+ "v:term": "v:term",
+ "v:termId": { "@id": "v:termId" }
+ }
+ ],
+ "v:term": "value of v:term",
+ "v:termId": "value of v:termId"
+}
diff --git a/tests/toRdf/er48-in.jsonld b/tests/toRdf/er48-in.jsonld
new file mode 100644
index 00000000..c3ad292a
--- /dev/null
+++ b/tests/toRdf/er48-in.jsonld
@@ -0,0 +1,6 @@
+{
+ "@context": {
+ "./something": "http://example.com/vocab#somethingElse"
+ },
+ "./something": "something"
+}
diff --git a/tests/toRdf/er49-in.jsonld b/tests/toRdf/er49-in.jsonld
new file mode 100644
index 00000000..72c0a72d
--- /dev/null
+++ b/tests/toRdf/er49-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@vocab": "http:/example.org",
+ "./something": {"@type": "@id", "@prefix": true}
+ },
+ "./something": "something"
+}
diff --git a/tests/toRdf/ee50-in.jsonld b/tests/toRdf/er50-in.jsonld
similarity index 100%
rename from tests/toRdf/ee50-in.jsonld
rename to tests/toRdf/er50-in.jsonld
diff --git a/tests/toRdf/ee51-in.jsonld b/tests/toRdf/er51-in.jsonld
similarity index 100%
rename from tests/toRdf/ee51-in.jsonld
rename to tests/toRdf/er51-in.jsonld
diff --git a/tests/toRdf/in07-in.jsonld b/tests/toRdf/in07-in.jsonld
new file mode 100644
index 00000000..b7958e50
--- /dev/null
+++ b/tests/toRdf/in07-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@vocab": "http://example.org/"
+ },
+ "@included": "string"
+}
\ No newline at end of file
diff --git a/tests/toRdf/in08-in.jsonld b/tests/toRdf/in08-in.jsonld
new file mode 100644
index 00000000..01a245c3
--- /dev/null
+++ b/tests/toRdf/in08-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@vocab": "http://example.org/"
+ },
+ "@included": {"@value": "value"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/in09-in.jsonld b/tests/toRdf/in09-in.jsonld
new file mode 100644
index 00000000..7ef08559
--- /dev/null
+++ b/tests/toRdf/in09-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@vocab": "http://example.org/"
+ },
+ "@included": {"@list": ["value"]}
+}
\ No newline at end of file
diff --git a/tests/toRdf/li03-in.jsonld b/tests/toRdf/li03-in.jsonld
new file mode 100644
index 00000000..f5e78e4d
--- /dev/null
+++ b/tests/toRdf/li03-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [{"@list": ["baz"]}]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li03-out.nq b/tests/toRdf/li03-out.nq
new file mode 100644
index 00000000..cc8e9567
--- /dev/null
+++ b/tests/toRdf/li03-out.nq
@@ -0,0 +1,5 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 .
+_:b2 "baz" .
+_:b2 .
diff --git a/tests/toRdf/li04-in.jsonld b/tests/toRdf/li04-in.jsonld
new file mode 100644
index 00000000..437398a9
--- /dev/null
+++ b/tests/toRdf/li04-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [{"@list": []}]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li04-out.nq b/tests/toRdf/li04-out.nq
new file mode 100644
index 00000000..05526458
--- /dev/null
+++ b/tests/toRdf/li04-out.nq
@@ -0,0 +1,3 @@
+_:b0 _:b1 .
+_:b1 .
+_:b1 .
diff --git a/tests/toRdf/li05-in.jsonld b/tests/toRdf/li05-in.jsonld
new file mode 100644
index 00000000..e38ec8ce
--- /dev/null
+++ b/tests/toRdf/li05-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [["baz"]]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li05-out.nq b/tests/toRdf/li05-out.nq
new file mode 100644
index 00000000..cc8e9567
--- /dev/null
+++ b/tests/toRdf/li05-out.nq
@@ -0,0 +1,5 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 .
+_:b2 "baz" .
+_:b2 .
diff --git a/tests/toRdf/li06-in.jsonld b/tests/toRdf/li06-in.jsonld
new file mode 100644
index 00000000..81c8b23e
--- /dev/null
+++ b/tests/toRdf/li06-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [[]]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li06-out.nq b/tests/toRdf/li06-out.nq
new file mode 100644
index 00000000..05526458
--- /dev/null
+++ b/tests/toRdf/li06-out.nq
@@ -0,0 +1,3 @@
+_:b0 _:b1 .
+_:b1 .
+_:b1 .
diff --git a/tests/toRdf/li07-in.jsonld b/tests/toRdf/li07-in.jsonld
new file mode 100644
index 00000000..e01353af
--- /dev/null
+++ b/tests/toRdf/li07-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [[["baz"]]]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li07-out.nq b/tests/toRdf/li07-out.nq
new file mode 100644
index 00000000..37afaabb
--- /dev/null
+++ b/tests/toRdf/li07-out.nq
@@ -0,0 +1,7 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 .
+_:b2 _:b3 .
+_:b2 .
+_:b3 "baz" .
+_:b3 .
diff --git a/tests/toRdf/li08-in.jsonld b/tests/toRdf/li08-in.jsonld
new file mode 100644
index 00000000..b14f5623
--- /dev/null
+++ b/tests/toRdf/li08-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [[[]]]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li08-out.nq b/tests/toRdf/li08-out.nq
new file mode 100644
index 00000000..cdf4162d
--- /dev/null
+++ b/tests/toRdf/li08-out.nq
@@ -0,0 +1,5 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 .
+_:b2 .
+_:b2 .
diff --git a/tests/toRdf/li09-in.jsonld b/tests/toRdf/li09-in.jsonld
new file mode 100644
index 00000000..58aea4aa
--- /dev/null
+++ b/tests/toRdf/li09-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [["a"], ["b"]]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li09-out.nq b/tests/toRdf/li09-out.nq
new file mode 100644
index 00000000..cee9190a
--- /dev/null
+++ b/tests/toRdf/li09-out.nq
@@ -0,0 +1,9 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 _:b3 .
+_:b2 "a" .
+_:b2 .
+_:b3 _:b4 .
+_:b3 .
+_:b4 "b" .
+_:b4 .
diff --git a/tests/toRdf/li10-in.jsonld b/tests/toRdf/li10-in.jsonld
new file mode 100644
index 00000000..b1db13b1
--- /dev/null
+++ b/tests/toRdf/li10-in.jsonld
@@ -0,0 +1,4 @@
+{
+ "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},
+ "foo": [["a"], "b"]
+}
\ No newline at end of file
diff --git a/tests/toRdf/li10-out.nq b/tests/toRdf/li10-out.nq
new file mode 100644
index 00000000..bcfd2df2
--- /dev/null
+++ b/tests/toRdf/li10-out.nq
@@ -0,0 +1,7 @@
+_:b0 _:b1 .
+_:b1 _:b2 .
+_:b1 _:b3 .
+_:b2 "a" .
+_:b2 .
+_:b3 "b" .
+_:b3 .
diff --git a/tests/toRdf/pr40-in.jsonld b/tests/toRdf/pr40-in.jsonld
new file mode 100644
index 00000000..52c7b642
--- /dev/null
+++ b/tests/toRdf/pr40-in.jsonld
@@ -0,0 +1,17 @@
+{
+ "@context": {
+ "@vocab": "http://vocab.org/",
+ "@protected": true,
+ "bar": "http://ignored.org/bar",
+ "foo": {
+ "@context": {
+ "bar": "http://example.org/other"
+ }
+ }
+ },
+ "@id": "ex:outer",
+ "foo": {
+ "@id": "ex:inner",
+ "bar": "baz"
+ }
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr40-out.nq b/tests/toRdf/pr40-out.nq
new file mode 100644
index 00000000..272be077
--- /dev/null
+++ b/tests/toRdf/pr40-out.nq
@@ -0,0 +1,2 @@
+ "baz" .
+ .