diff --git a/index.html b/index.html
index de47ab6d..554d7a72 100644
--- a/index.html
+++ b/index.html
@@ -1372,7 +1372,9 @@
Algorithm
Otherwise, since keywords cannot be overridden,
term MUST NOT be a keyword and a
keyword redefinition
- error has been detected and processing is aborted.
+ error has been detected and processing is aborted.
+ If term has the form of a keyword (i.e., it begins with `"@"`),
+ processing is aborted and a processor SHOULD generate a warning.
Set previous definition to any existing
term definition for term in active context.
Otherwise, remove any previous definition from
@@ -1421,6 +1423,9 @@ Algorithm
is not a string, an
invalid IRI mapping
error has been detected and processing is aborted.
+ If the value associated with the `@reverse` entry is a string
+ having the form of a keyword (i.e., it begins with `"@"`),
+ processing is aborted and processors SHOULD generate a warning.
Otherwise, set the IRI mapping of definition to the
result of using the IRI Expansion algorithm,
passing active context, the value associated with
@@ -1457,6 +1462,10 @@ Algorithm
Otherwise, if the value associated with the @id
entry is not a string, an
invalid IRI mapping
error has been detected and processing is aborted.
+ If the value associated with the `@id` entry is a string
+ is not a keyword, but
+ havs the form of a keyword (i.e., it begins with `"@"`),
+ processing is aborted and processors SHOULD generate a warning.
Otherwise, set the IRI mapping of definition to the
result of using the IRI Expansion algorithm, passing
active context, the value associated with the @id
entry for
@@ -1618,6 +1627,10 @@ Algorithm
@prefix
entry, which MUST be a boolean. Otherwise, an
invalid @prefix value
error has been detected and processing is aborted.
+ If the prefix flag of definitionis set to true
,
+ and its IRI mapping is a keyword,
+ an invalid term definition
+ has been detected and processing is aborted.
If the value contains any entry other than @id
,
@@ -1687,6 +1700,11 @@ Overview
in the process of being defined. We create a
term definition by using the
Create Term Definition algorithm.
+
+ Values that have the form of a keyword,
+ but are not keywords (i.e., they begin with `"@"`) do not
+ map to any value, as they are reserved for future use.
+ The algorithm returns `null`, so that they will be ignored when encountered.
@@ -1708,6 +1726,9 @@ Algorithm
- If value is a keyword or
null
,
return value as is.
+ -
+ If value has the form of a keyword (i.e., it begins with `"@"`),
+ a processor SHOULD generate a warning and return `null`.
- If local context is not
null
, it contains
an entry with a key that equals value, and the value of the entry
for value in defined is not true
,
diff --git a/tests/expand-manifest.html b/tests/expand-manifest.html
index f99ddeb6..36057695 100644
--- a/tests/expand-manifest.html
+++ b/tests/expand-manifest.html
@@ -2167,6 +2167,15 @@
-
expand/0092-out.jsonld
+- Options
+-
+
+- processingMode
+- json-ld-1.1
+- specVersion
+- json-ld-1.1
+
+
-
@@ -2689,6 +2698,15 @@
-
expand/0110-out.jsonld
+- Options
+-
+
+- processingMode
+- json-ld-1.1
+- specVersion
+- json-ld-1.1
+
+
-
@@ -2710,6 +2728,13 @@
-
expand/0111-out.jsonld
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
-
@@ -2731,6 +2756,13 @@
-
expand/0112-out.jsonld
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
-
@@ -2782,6 +2814,62 @@
+-
+Test t0115 Verifies that relative IRIs as properties with @vocab: '' in 1.0 generate an error
+
+-
+
+- id
+- #t0115
+- Type
+- jld:NegativeEvaluationTest, jld:ExpandTest
+- Purpose
+- Relative property IRIs with relative @vocab in 1.0
+- input
+-
+expand/0115-in.jsonld
+
+- expect
+-
+invalid vocab mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+-
+Test t0116 Verifies that relative IRIs as properties with relative @vocab in 1.0 generate an error
+
+-
+
+- id
+- #t0116
+- Type
+- jld:NegativeEvaluationTest, jld:ExpandTest
+- Purpose
+- Relative property IRIs with relative @vocab in 1.0
+- input
+-
+expand/0116-in.jsonld
+
+- expect
+-
+invalid vocab mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
-
Test tc001 adding new term
@@ -8040,6 +8128,202 @@
+-
+Test tpr33 Fails if trying to declare a keyword alias as prefix.
+
+-
+
+- id
+- #tpr33
+- Type
+- jld:NegativeEvaluationTest, jld:ExpandTest
+- Purpose
+- Keyword aliases can not be used as prefixes.
+- input
+-
+expand/pr33-in.jsonld
+
+- expect
+-
+invalid term definition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr34 Ignores a non-keyword term starting with '@'
+
+-
+
+- id
+- #tpr34
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr34-in.jsonld
+
+- expect
+-
+expand/pr34-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr35 Ignores a non-keyword term starting with '@' (with @vocab)
+
+-
+
+- id
+- #tpr35
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr35-in.jsonld
+
+- expect
+-
+expand/pr35-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr36 Ignores a term mapping to a value in the form of a keyword.
+
+-
+
+- id
+- #tpr36
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr36-in.jsonld
+
+- expect
+-
+expand/pr36-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr37 Ignores a term mapping to a value in the form of a keyword (with @vocab).
+
+-
+
+- id
+- #tpr37
+- Type
+- jld:PositiveEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr37-in.jsonld
+
+- expect
+-
+expand/pr37-out.jsonld
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr38 Ignores a term mapping to a value in the form of a keyword (@reverse).
+
+-
+
+- id
+- #tpr38
+- Type
+- jld:NegativeEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr38-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr39 Ignores a term mapping to a value in the form of a keyword (@reverse with @vocab).
+
+-
+
+- id
+- #tpr39
+- Type
+- jld:NegativeEvaluationTest, jld:ExpandTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+expand/pr39-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- 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 18456509..8b16a8d1 100644
--- a/tests/expand-manifest.jsonld
+++ b/tests/expand-manifest.jsonld
@@ -2368,6 +2368,62 @@
"option": {"specVersion": "json-ld-1.1"},
"input": "expand/pr29-in.jsonld",
"expect": "expand/pr29-out.jsonld"
+ }, {
+ "@id": "#tpr33",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
+ "name": "Fails if trying to declare a keyword alias as prefix.",
+ "purpose": "Keyword aliases can not be used as prefixes.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr33-in.jsonld",
+ "expect": "invalid term definition"
+ }, {
+ "@id": "#tpr34",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a non-keyword term starting with '@'",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr34-in.jsonld",
+ "expect": "expand/pr34-out.jsonld"
+ }, {
+ "@id": "#tpr35",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a non-keyword term starting with '@' (with @vocab)",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr35-in.jsonld",
+ "expect": "expand/pr35-out.jsonld"
+ }, {
+ "@id": "#tpr36",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword.",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr36-in.jsonld",
+ "expect": "expand/pr36-out.jsonld"
+ }, {
+ "@id": "#tpr37",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (with @vocab).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr37-in.jsonld",
+ "expect": "expand/pr37-out.jsonld"
+ }, {
+ "@id": "#tpr38",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (@reverse).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr38-in.jsonld",
+ "expect": "invalid IRI mapping"
+ }, {
+ "@id": "#tpr39",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (@reverse with @vocab).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "expand/pr39-in.jsonld",
+ "expect": "invalid IRI mapping"
}, {
"@id": "#tso01",
"@type": ["jld:NegativeEvaluationTest", "jld:ExpandTest"],
diff --git a/tests/expand/pr33-in.jsonld b/tests/expand/pr33-in.jsonld
new file mode 100644
index 00000000..ac9b9e5a
--- /dev/null
+++ b/tests/expand/pr33-in.jsonld
@@ -0,0 +1,10 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "foo": {
+ "@id": "@type",
+ "@prefix": true
+ }
+ },
+ "foo:bar": "http://example.org/baz"
+}
diff --git a/tests/expand/pr34-in.jsonld b/tests/expand/pr34-in.jsonld
new file mode 100644
index 00000000..18bbf1c7
--- /dev/null
+++ b/tests/expand/pr34-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@ignoreMe": "http://example.org/should-ignore"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "@ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/expand/pr34-out.jsonld b/tests/expand/pr34-out.jsonld
new file mode 100644
index 00000000..38735bb6
--- /dev/null
+++ b/tests/expand/pr34-out.jsonld
@@ -0,0 +1,3 @@
+[{
+ "@type": ["http://example.com/IgnoreTest"]
+}]
\ No newline at end of file
diff --git a/tests/expand/pr35-in.jsonld b/tests/expand/pr35-in.jsonld
new file mode 100644
index 00000000..0145697e
--- /dev/null
+++ b/tests/expand/pr35-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "@ignoreMe": "http://example.org/should-ignore"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "@ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/expand/pr35-out.jsonld b/tests/expand/pr35-out.jsonld
new file mode 100644
index 00000000..38735bb6
--- /dev/null
+++ b/tests/expand/pr35-out.jsonld
@@ -0,0 +1,3 @@
+[{
+ "@type": ["http://example.com/IgnoreTest"]
+}]
\ No newline at end of file
diff --git a/tests/expand/pr36-in.jsonld b/tests/expand/pr36-in.jsonld
new file mode 100644
index 00000000..bf8fe6cc
--- /dev/null
+++ b/tests/expand/pr36-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "ignoreMe": "@ignoreMe"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/expand/pr36-out.jsonld b/tests/expand/pr36-out.jsonld
new file mode 100644
index 00000000..38735bb6
--- /dev/null
+++ b/tests/expand/pr36-out.jsonld
@@ -0,0 +1,3 @@
+[{
+ "@type": ["http://example.com/IgnoreTest"]
+}]
\ No newline at end of file
diff --git a/tests/expand/pr37-in.jsonld b/tests/expand/pr37-in.jsonld
new file mode 100644
index 00000000..b1820a1a
--- /dev/null
+++ b/tests/expand/pr37-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "ignoreMe": "@ignoreMe"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": "vocabulary relative"
+}
\ No newline at end of file
diff --git a/tests/expand/pr37-out.jsonld b/tests/expand/pr37-out.jsonld
new file mode 100644
index 00000000..f6dfa550
--- /dev/null
+++ b/tests/expand/pr37-out.jsonld
@@ -0,0 +1,4 @@
+[{
+ "@type": ["http://example.com/IgnoreTest"],
+ "http://example.org/ignoreMe": [{"@value": "vocabulary relative"}]
+}]
\ No newline at end of file
diff --git a/tests/expand/pr38-in.jsonld b/tests/expand/pr38-in.jsonld
new file mode 100644
index 00000000..9f4ac1af
--- /dev/null
+++ b/tests/expand/pr38-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "ignoreMe": {"@reverse": "@ignoreMe"}
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": {"http://example.org/text": "should not be here"}
+}
\ No newline at end of file
diff --git a/tests/expand/pr39-in.jsonld b/tests/expand/pr39-in.jsonld
new file mode 100644
index 00000000..41e8ae00
--- /dev/null
+++ b/tests/expand/pr39-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "ignoreMe": {"@reverse": "@ignoreMe"}
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": {"text": "should not be here"}
+}
\ No newline at end of file
diff --git a/tests/toRdf-manifest.html b/tests/toRdf-manifest.html
index fd4603cd..7d724f52 100644
--- a/tests/toRdf-manifest.html
+++ b/tests/toRdf-manifest.html
@@ -3335,6 +3335,15 @@
-
toRdf/e092-out.nq
+- Options
+-
+
+- processingMode
+- json-ld-1.1
+- specVersion
+- json-ld-1.1
+
+
-
@@ -3857,6 +3866,15 @@
-
toRdf/e110-out.nq
+- Options
+-
+
+- processingMode
+- json-ld-1.1
+- specVersion
+- json-ld-1.1
+
+
-
@@ -3878,6 +3896,13 @@
-
toRdf/e111-out.nq
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
-
@@ -3899,6 +3924,13 @@
-
toRdf/e112-out.nq
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
-
@@ -3950,6 +3982,62 @@
+-
+Test te115 Verifies that relative IRIs as properties with @vocab: '' in 1.0 generate an error
+
+-
+
+- id
+- #te115
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Pathological relative property IRIs in 1.0
+- input
+-
+toRdf/e115-in.jsonld
+
+- expect
+-
+invalid vocab mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
+-
+Test te116 Verifies that relative IRIs as properties with relative @vocab in 1.0 generate an error
+
+-
+
+- id
+- #te116
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Pathological relative property IRIs in 1.0
+- input
+-
+toRdf/e116-in.jsonld
+
+- expect
+-
+invalid vocab mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.0
+
+
+
+
-
Test tin01 Basic Included array
@@ -6978,6 +7066,202 @@
+-
+Test tpr33 Fails if trying to declare a keyword alias as prefix.
+
+-
+
+- id
+- #tpr33
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Keyword aliases can not be used as prefixes.
+- input
+-
+toRdf/pr33-in.jsonld
+
+- expect
+-
+invalid term definition
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr34 Ignores a non-keyword term starting with '@'
+
+-
+
+- id
+- #tpr34
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr34-in.jsonld
+
+- expect
+-
+toRdf/pr34-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr35 Ignores a non-keyword term starting with '@' (with @vocab)
+
+-
+
+- id
+- #tpr35
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr35-in.jsonld
+
+- expect
+-
+toRdf/pr35-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr36 Ignores a term mapping to a value in the form of a keyword.
+
+-
+
+- id
+- #tpr36
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr36-in.jsonld
+
+- expect
+-
+toRdf/pr36-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr37 Ignores a term mapping to a value in the form of a keyword (with @vocab).
+
+-
+
+- id
+- #tpr37
+- Type
+- jld:PositiveEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr37-in.jsonld
+
+- expect
+-
+toRdf/pr37-out.nq
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr38 Ignores a term mapping to a value in the form of a keyword (@reverse).
+
+-
+
+- id
+- #tpr38
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr38-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
+-
+Test tpr39 Ignores a term mapping to a value in the form of a keyword (@reverse with @vocab).
+
+-
+
+- id
+- #tpr39
+- Type
+- jld:NegativeEvaluationTest, jld:ToRDFTest
+- Purpose
+- Terms in the form of a keyword, which are not keywords, are ignored.
+- input
+-
+toRdf/pr39-in.jsonld
+
+- expect
+-
+invalid IRI mapping
+
+- Options
+-
+
+- specVersion
+- json-ld-1.1
+
+
+
+
-
Test trt01 Representing numbers >= 1e21
diff --git a/tests/toRdf-manifest.jsonld b/tests/toRdf-manifest.jsonld
index 58a98e31..0cd3e3e3 100644
--- a/tests/toRdf-manifest.jsonld
+++ b/tests/toRdf-manifest.jsonld
@@ -2110,6 +2110,62 @@
"option": {"specVersion": "json-ld-1.1"},
"input": "toRdf/pr29-in.jsonld",
"expect": "toRdf/pr29-out.nq"
+ }, {
+ "@id": "#tpr33",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Fails if trying to declare a keyword alias as prefix.",
+ "purpose": "Keyword aliases can not be used as prefixes.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr33-in.jsonld",
+ "expect": "invalid term definition"
+ }, {
+ "@id": "#tpr34",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a non-keyword term starting with '@'",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr34-in.jsonld",
+ "expect": "toRdf/pr34-out.nq"
+ }, {
+ "@id": "#tpr35",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a non-keyword term starting with '@' (with @vocab)",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr35-in.jsonld",
+ "expect": "toRdf/pr35-out.nq"
+ }, {
+ "@id": "#tpr36",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword.",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr36-in.jsonld",
+ "expect": "toRdf/pr36-out.nq"
+ }, {
+ "@id": "#tpr37",
+ "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (with @vocab).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr37-in.jsonld",
+ "expect": "toRdf/pr37-out.nq"
+ }, {
+ "@id": "#tpr38",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (@reverse).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr38-in.jsonld",
+ "expect": "invalid IRI mapping"
+ }, {
+ "@id": "#tpr39",
+ "@type": ["jld:NegativeEvaluationTest", "jld:ToRDFTest"],
+ "name": "Ignores a term mapping to a value in the form of a keyword (@reverse with @vocab).",
+ "purpose": "Terms in the form of a keyword, which are not keywords, are ignored.",
+ "option": {"specVersion": "json-ld-1.1"},
+ "input": "toRdf/pr39-in.jsonld",
+ "expect": "invalid IRI mapping"
}, {
"@id": "#trt01",
"@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
diff --git a/tests/toRdf/pr33-in.jsonld b/tests/toRdf/pr33-in.jsonld
new file mode 100644
index 00000000..ac9b9e5a
--- /dev/null
+++ b/tests/toRdf/pr33-in.jsonld
@@ -0,0 +1,10 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "foo": {
+ "@id": "@type",
+ "@prefix": true
+ }
+ },
+ "foo:bar": "http://example.org/baz"
+}
diff --git a/tests/toRdf/pr34-in.jsonld b/tests/toRdf/pr34-in.jsonld
new file mode 100644
index 00000000..18bbf1c7
--- /dev/null
+++ b/tests/toRdf/pr34-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "@ignoreMe": "http://example.org/should-ignore"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "@ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr34-out.nq b/tests/toRdf/pr34-out.nq
new file mode 100644
index 00000000..13166737
--- /dev/null
+++ b/tests/toRdf/pr34-out.nq
@@ -0,0 +1 @@
+_:b0 .
diff --git a/tests/toRdf/pr35-in.jsonld b/tests/toRdf/pr35-in.jsonld
new file mode 100644
index 00000000..0145697e
--- /dev/null
+++ b/tests/toRdf/pr35-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "@ignoreMe": "http://example.org/should-ignore"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "@ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr35-out.nq b/tests/toRdf/pr35-out.nq
new file mode 100644
index 00000000..13166737
--- /dev/null
+++ b/tests/toRdf/pr35-out.nq
@@ -0,0 +1 @@
+_:b0 .
diff --git a/tests/toRdf/pr36-in.jsonld b/tests/toRdf/pr36-in.jsonld
new file mode 100644
index 00000000..bf8fe6cc
--- /dev/null
+++ b/tests/toRdf/pr36-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "ignoreMe": "@ignoreMe"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": "should not be here"
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr36-out.nq b/tests/toRdf/pr36-out.nq
new file mode 100644
index 00000000..13166737
--- /dev/null
+++ b/tests/toRdf/pr36-out.nq
@@ -0,0 +1 @@
+_:b0 .
diff --git a/tests/toRdf/pr37-in.jsonld b/tests/toRdf/pr37-in.jsonld
new file mode 100644
index 00000000..b1820a1a
--- /dev/null
+++ b/tests/toRdf/pr37-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "ignoreMe": "@ignoreMe"
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": "vocabulary relative"
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr37-out.nq b/tests/toRdf/pr37-out.nq
new file mode 100644
index 00000000..6d4162c0
--- /dev/null
+++ b/tests/toRdf/pr37-out.nq
@@ -0,0 +1,2 @@
+_:b0 "vocabulary relative" .
+_:b0 .
diff --git a/tests/toRdf/pr38-in.jsonld b/tests/toRdf/pr38-in.jsonld
new file mode 100644
index 00000000..9f4ac1af
--- /dev/null
+++ b/tests/toRdf/pr38-in.jsonld
@@ -0,0 +1,7 @@
+{
+ "@context": {
+ "ignoreMe": {"@reverse": "@ignoreMe"}
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": {"http://example.org/text": "should not be here"}
+}
\ No newline at end of file
diff --git a/tests/toRdf/pr39-in.jsonld b/tests/toRdf/pr39-in.jsonld
new file mode 100644
index 00000000..41e8ae00
--- /dev/null
+++ b/tests/toRdf/pr39-in.jsonld
@@ -0,0 +1,8 @@
+{
+ "@context": {
+ "@vocab": "http://example.org/",
+ "ignoreMe": {"@reverse": "@ignoreMe"}
+ },
+ "@type": "http://example.com/IgnoreTest",
+ "ignoreMe": {"text": "should not be here"}
+}
\ No newline at end of file