Convert expansion tests to toRDF tests
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Wed, 05 Jun 2013 20:13:40 +0200
changeset 1686 823c5d21ae58
parent 1685 d4c78933a0d0
child 1687 ee333d3fa153
Convert expansion tests to toRDF tests

This should improve toRDF coverage considerably as most corner cases are covered by the expansion tests. This probably test some things multiple times but I think that doesn't really matter.

@dlongley @gkellogg could you please run your implementations against these tests to make sure that we agree on the results

I'm fine with reverting this change (once Dave and Gregg cross-checked the results) if someone thinks that this blows the test suite up too much
test-suite/tests/toRdf-0041-in.jsonld
test-suite/tests/toRdf-0041-out.nq
test-suite/tests/toRdf-0042-in.jsonld
test-suite/tests/toRdf-0042-out.nq
test-suite/tests/toRdf-0043-in.jsonld
test-suite/tests/toRdf-0043-out.nq
test-suite/tests/toRdf-0044-in.jsonld
test-suite/tests/toRdf-0044-out.nq
test-suite/tests/toRdf-0045-in.jsonld
test-suite/tests/toRdf-0045-out.nq
test-suite/tests/toRdf-0046-in.jsonld
test-suite/tests/toRdf-0046-out.nq
test-suite/tests/toRdf-0047-in.jsonld
test-suite/tests/toRdf-0047-out.nq
test-suite/tests/toRdf-0048-in.jsonld
test-suite/tests/toRdf-0048-out.nq
test-suite/tests/toRdf-0049-in.jsonld
test-suite/tests/toRdf-0049-out.nq
test-suite/tests/toRdf-0050-in.jsonld
test-suite/tests/toRdf-0050-out.nq
test-suite/tests/toRdf-0051-in.jsonld
test-suite/tests/toRdf-0051-out.nq
test-suite/tests/toRdf-0052-in.jsonld
test-suite/tests/toRdf-0052-out.nq
test-suite/tests/toRdf-0053-in.jsonld
test-suite/tests/toRdf-0053-out.nq
test-suite/tests/toRdf-0054-in.jsonld
test-suite/tests/toRdf-0054-out.nq
test-suite/tests/toRdf-0055-in.jsonld
test-suite/tests/toRdf-0055-out.nq
test-suite/tests/toRdf-0056-in.jsonld
test-suite/tests/toRdf-0056-out.nq
test-suite/tests/toRdf-0057-in.jsonld
test-suite/tests/toRdf-0057-out.nq
test-suite/tests/toRdf-0058-in.jsonld
test-suite/tests/toRdf-0058-out.nq
test-suite/tests/toRdf-0059-in.jsonld
test-suite/tests/toRdf-0059-out.nq
test-suite/tests/toRdf-0060-in.jsonld
test-suite/tests/toRdf-0060-out.nq
test-suite/tests/toRdf-0061-in.jsonld
test-suite/tests/toRdf-0061-out.nq
test-suite/tests/toRdf-0062-in.jsonld
test-suite/tests/toRdf-0062-out.nq
test-suite/tests/toRdf-0063-in.jsonld
test-suite/tests/toRdf-0063-out.nq
test-suite/tests/toRdf-0064-in.jsonld
test-suite/tests/toRdf-0064-out.nq
test-suite/tests/toRdf-0065-in.jsonld
test-suite/tests/toRdf-0065-out.nq
test-suite/tests/toRdf-0066-in.jsonld
test-suite/tests/toRdf-0066-out.nq
test-suite/tests/toRdf-0067-in.jsonld
test-suite/tests/toRdf-0067-out.nq
test-suite/tests/toRdf-0068-in.jsonld
test-suite/tests/toRdf-0068-out.nq
test-suite/tests/toRdf-0069-in.jsonld
test-suite/tests/toRdf-0069-out.nq
test-suite/tests/toRdf-0070-in.jsonld
test-suite/tests/toRdf-0070-out.nq
test-suite/tests/toRdf-0071-in.jsonld
test-suite/tests/toRdf-0071-out.nq
test-suite/tests/toRdf-0072-in.jsonld
test-suite/tests/toRdf-0072-out.nq
test-suite/tests/toRdf-0073-in.jsonld
test-suite/tests/toRdf-0073-out.nq
test-suite/tests/toRdf-0074-in.jsonld
test-suite/tests/toRdf-0074-out.nq
test-suite/tests/toRdf-0075-in.jsonld
test-suite/tests/toRdf-0075-out.nq
test-suite/tests/toRdf-0076-in.jsonld
test-suite/tests/toRdf-0076-out.nq
test-suite/tests/toRdf-0077-in.jsonld
test-suite/tests/toRdf-0077-out.nq
test-suite/tests/toRdf-0078-in.jsonld
test-suite/tests/toRdf-0078-out.nq
test-suite/tests/toRdf-0079-in.jsonld
test-suite/tests/toRdf-0079-out.nq
test-suite/tests/toRdf-0080-in.jsonld
test-suite/tests/toRdf-0080-out.nq
test-suite/tests/toRdf-0081-in.jsonld
test-suite/tests/toRdf-0081-out.nq
test-suite/tests/toRdf-0082-in.jsonld
test-suite/tests/toRdf-0082-out.nq
test-suite/tests/toRdf-0083-in.jsonld
test-suite/tests/toRdf-0083-out.nq
test-suite/tests/toRdf-0084-in.jsonld
test-suite/tests/toRdf-0084-out.nq
test-suite/tests/toRdf-0085-in.jsonld
test-suite/tests/toRdf-0085-out.nq
test-suite/tests/toRdf-0086-in.jsonld
test-suite/tests/toRdf-0086-out.nq
test-suite/tests/toRdf-0087-in.jsonld
test-suite/tests/toRdf-0087-out.nq
test-suite/tests/toRdf-0088-in.jsonld
test-suite/tests/toRdf-0088-out.nq
test-suite/tests/toRdf-0089-in.jsonld
test-suite/tests/toRdf-0089-out.nq
test-suite/tests/toRdf-0090-in.jsonld
test-suite/tests/toRdf-0090-out.nq
test-suite/tests/toRdf-0091-in.jsonld
test-suite/tests/toRdf-0091-out.nq
test-suite/tests/toRdf-0092-in.jsonld
test-suite/tests/toRdf-0092-out.nq
test-suite/tests/toRdf-0093-in.jsonld
test-suite/tests/toRdf-0093-out.nq
test-suite/tests/toRdf-0094-in.jsonld
test-suite/tests/toRdf-0094-out.nq
test-suite/tests/toRdf-0095-in.jsonld
test-suite/tests/toRdf-0095-out.nq
test-suite/tests/toRdf-0096-in.jsonld
test-suite/tests/toRdf-0096-out.nq
test-suite/tests/toRdf-0097-in.jsonld
test-suite/tests/toRdf-0097-out.nq
test-suite/tests/toRdf-0098-in.jsonld
test-suite/tests/toRdf-0098-out.nq
test-suite/tests/toRdf-0099-in.jsonld
test-suite/tests/toRdf-0099-out.nq
test-suite/tests/toRdf-0100-in.jsonld
test-suite/tests/toRdf-0100-out.nq
test-suite/tests/toRdf-0101-in.jsonld
test-suite/tests/toRdf-0101-out.nq
test-suite/tests/toRdf-0102-in.jsonld
test-suite/tests/toRdf-0102-out.nq
test-suite/tests/toRdf-0103-in.jsonld
test-suite/tests/toRdf-0103-out.nq
test-suite/tests/toRdf-0104-in.jsonld
test-suite/tests/toRdf-0104-out.nq
test-suite/tests/toRdf-0105-in.jsonld
test-suite/tests/toRdf-0105-out.nq
test-suite/tests/toRdf-0106-in.jsonld
test-suite/tests/toRdf-0106-out.nq
test-suite/tests/toRdf-0107-in.jsonld
test-suite/tests/toRdf-0107-out.nq
test-suite/tests/toRdf-0108-in.jsonld
test-suite/tests/toRdf-0108-out.nq
test-suite/tests/toRdf-0109-in.jsonld
test-suite/tests/toRdf-0109-out.nq
test-suite/tests/toRdf-0110-in.jsonld
test-suite/tests/toRdf-0110-out.nq
test-suite/tests/toRdf-0111-in.jsonld
test-suite/tests/toRdf-0111-out.nq
test-suite/tests/toRdf-0112-in.jsonld
test-suite/tests/toRdf-0112-out.nq
test-suite/tests/toRdf-manifest.jsonld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0041-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+{"@id": "http://example.org/test#example"}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0042-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,18 @@
+{
+  "@context": {
+    "t1": "http://example.com/t1",
+    "t2": "http://example.com/t2",
+    "term1": "http://example.com/term1",
+    "term2": "http://example.com/term2",
+    "term3": "http://example.com/term3",
+    "term4": "http://example.com/term4",
+    "term5": "http://example.com/term5"
+  },
+  "@id": "http://example.com/id1",
+  "@type": "t1",
+  "term1": "v1",
+  "term2": {"@value": "v2", "@type": "t2"},
+  "term3": {"@value": "v3", "@language": "en"},
+  "term4": 4,
+  "term5": [50, 51]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0042-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+<http://example.com/id1> <http://example.com/term1> "v1" .
+<http://example.com/id1> <http://example.com/term2> "v2"^^<http://example.com/t2> .
+<http://example.com/id1> <http://example.com/term3> "v3"@en .
+<http://example.com/id1> <http://example.com/term4> "4"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://example.com/term5> "50"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://example.com/term5> "51"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/t1> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0043-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,12 @@
+{
+  "@id": "http://example.org/id",
+  "http://example.org/property": null,
+  "regularJson": {
+    "nonJsonLd": "property",
+    "deep": [{
+      "foo": "bar"
+    }, {
+      "bar": "foo"
+    }]
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0044-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,21 @@
+{
+  "@context": {
+    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},
+    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},
+    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},
+    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}
+  },
+  "@id": "http://example.org/id",
+  "mylist1": { "@list": [ ] },
+  "mylist2": "one item",
+  "myset2": { "@set": [ ] },
+  "myset3": [ "v1" ],
+  "http://example.org/list1": { "@list": [ null ] },
+  "http://example.org/list2": { "@list": [ {"@value": null} ] },
+  "http://example.org/set1": { "@set": [ ] },
+  "http://example.org/set1": { "@set": [ null ] },
+  "http://example.org/set3": [ ],
+  "http://example.org/set4": [ null ],
+  "http://example.org/set5": "one item",
+  "http://example.org/property": { "@list": "one item" }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0044-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,11 @@
+<http://example.org/id> <http://example.com/mylist1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/id> <http://example.com/mylist2> _:b0 .
+<http://example.org/id> <http://example.com/myset3> "v1" .
+<http://example.org/id> <http://example.org/list1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/id> <http://example.org/list2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/id> <http://example.org/property> _:b1 .
+<http://example.org/id> <http://example.org/set5> "one item" .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "one item" .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "one item" .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0045-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,23 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    },
+    "know": "http://xmlns.com/foaf/0.1/knows",
+    "@iri": "@id"
+  },
+  "@id": "#me",
+  "know": [
+    {
+      "@id": "http://example.com/bob#me",
+      "name": "Bob",
+      "homepage": "http://example.com/bob"
+    }, {
+      "@id": "http://example.com/alice#me",
+      "name": "Alice",
+      "homepage": "http://example.com/alice"
+    }
+  ]
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0045-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+<http://example.com/alice#me> <http://xmlns.com/foaf/0.1/homepage> <http://example.com/alice> .
+<http://example.com/alice#me> <http://xmlns.com/foaf/0.1/name> "Alice" .
+<http://example.com/bob#me> <http://xmlns.com/foaf/0.1/homepage> <http://example.com/bob> .
+<http://example.com/bob#me> <http://xmlns.com/foaf/0.1/name> "Bob" .
+<http://json-ld.org/test-suite/tests/toRdf-0045-in.jsonld#me> <http://xmlns.com/foaf/0.1/knows> <http://example.com/alice#me> .
+<http://json-ld.org/test-suite/tests/toRdf-0045-in.jsonld#me> <http://xmlns.com/foaf/0.1/knows> <http://example.com/bob#me> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0046-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,20 @@
+{
+  "@context": {
+    "http://example.org/test#property1": {
+      "@type": "@id"
+    },
+    "http://example.org/test#property2": {
+      "@type": "@id"
+    },
+    "uri": "@id"
+  },
+  "http://example.org/test#property1": {
+    "http://example.org/test#property4": "foo",
+    "uri": "http://example.org/test#example2"
+  },
+  "http://example.org/test#property2": "http://example.org/test#example3",
+  "http://example.org/test#property3": {
+    "uri": "http://example.org/test#example4"
+  },
+  "uri": "http://example.org/test#example1"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0046-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://example.org/test#example1> <http://example.org/test#property1> <http://example.org/test#example2> .
+<http://example.org/test#example1> <http://example.org/test#property2> <http://example.org/test#example3> .
+<http://example.org/test#example1> <http://example.org/test#property3> <http://example.org/test#example4> .
+<http://example.org/test#example2> <http://example.org/test#property4> "foo" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0047-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,18 @@
+{
+  "@context": {
+    "ex": "http://example.org/vocab#",
+    "ex:date": {
+      "@type": "xsd:dateTime"
+    },
+    "ex:parent": {
+      "@type": "@id"
+    },
+    "xsd": "http://www.w3.org/2001/XMLSchema#"
+  },
+  "@id": "http://example.org/test#example1",
+  "ex:date": "2011-01-25T00:00:00Z",
+  "ex:embed": {
+    "@id": "http://example.org/test#example2",
+    "ex:parent": "http://example.org/test#example1"
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0047-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.org/test#example1> <http://example.org/vocab#date> "2011-01-25T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
+<http://example.org/test#example1> <http://example.org/vocab#embed> <http://example.org/test#example2> .
+<http://example.org/test#example2> <http://example.org/vocab#parent> <http://example.org/test#example1> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0048-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "ex": "http://example.org/vocab#"
+  },
+  "@id": "http://example.org/test",
+  "ex:test": { "@value": "test",  "@language": "en" },
+  "ex:drop-lang-only": { "@language": "en" },
+  "ex:keep-full-value": { "@value": "only value" }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0048-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.org/test> <http://example.org/vocab#keep-full-value> "only value" .
+<http://example.org/test> <http://example.org/vocab#test> "test"@en .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0049-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,43 @@
+{
+  "@context": {
+    "authored": {
+      "@id": "http://example.org/vocab#authored",
+      "@type": "@id"
+    },
+    "contains": {
+      "@id": "http://example.org/vocab#contains",
+      "@type": "@id"
+    },
+    "contributor": "http://purl.org/dc/elements/1.1/contributor",
+    "description": "http://purl.org/dc/elements/1.1/description",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "title": {
+      "@id": "http://purl.org/dc/elements/1.1/title"
+    }
+  },
+  "@graph": [
+    {
+      "@id": "http://example.org/test#chapter",
+      "description": "Fun",
+      "title": "Chapter One"
+    },
+    {
+      "@id": "http://example.org/test#jane",
+      "authored": "http://example.org/test#chapter",
+      "name": "Jane"
+    },
+    {
+      "@id": "http://example.org/test#john",
+      "name": "John"
+    },
+    {
+      "@id": "http://example.org/test#library",
+      "contains": {
+        "@id": "http://example.org/test#book",
+        "contains": "http://example.org/test#chapter",
+        "contributor": "Writer",
+        "title": "My Book"
+      }
+    }
+  ]
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0049-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/contributor> "Writer" .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "My Book" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/description> "Fun" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/title> "Chapter One" .
+<http://example.org/test#jane> <http://example.org/vocab#authored> <http://example.org/test#chapter> .
+<http://example.org/test#jane> <http://xmlns.com/foaf/0.1/name> "Jane" .
+<http://example.org/test#john> <http://xmlns.com/foaf/0.1/name> "John" .
+<http://example.org/test#library> <http://example.org/vocab#contains> <http://example.org/test#book> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0050-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,11 @@
+{
+  "@context": {
+    "d": "http://purl.org/dc/elements/1.1/",
+    "e": "http://example.org/vocab#",
+    "f": "http://xmlns.com/foaf/0.1/",
+    "xsd": "http://www.w3.org/2001/XMLSchema#"
+  },
+  "@id": "http://example.org/test",
+  "e:bool": true,
+  "e:int": 123
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0050-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.org/test> <http://example.org/vocab#bool> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/test> <http://example.org/vocab#int> "123"^^<http://www.w3.org/2001/XMLSchema#integer> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0051-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@context": {
+    "dc": "http://purl.org/dc/elements/1.1/",
+    "ex": "http://example.org/vocab#",
+    "ex:contains": {
+      "@type": "@id"
+    },
+    "xsd": "http://www.w3.org/2001/XMLSchema#"
+  },
+  "@id": "http://example.org/test#book",
+  "dc:title": "Title",
+  "ex:contains": "http://example.org/test#chapter"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0051-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "Title" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0052-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,39 @@
+{
+  "@context": {
+    "dc": "http://purl.org/dc/elements/1.1/",
+    "ex": "http://example.org/vocab#",
+    "ex:authored": {
+      "@type": "@id"
+    },
+    "ex:contains": {
+      "@type": "@id"
+    },
+    "foaf": "http://xmlns.com/foaf/0.1/",
+    "xsd": "http://www.w3.org/2001/XMLSchema#"
+  },
+  "@graph": [
+    {
+      "@id": "http://example.org/test#chapter",
+      "dc:description": "Fun",
+      "dc:title": "Chapter One"
+    },
+    {
+      "@id": "http://example.org/test#jane",
+      "ex:authored": "http://example.org/test#chapter",
+      "foaf:name": "Jane"
+    },
+    {
+      "@id": "http://example.org/test#john",
+      "foaf:name": "John"
+    },
+    {
+      "@id": "http://example.org/test#library",
+      "ex:contains": {
+        "@id": "http://example.org/test#book",
+        "dc:contributor": "Writer",
+        "dc:title": "My Book",
+        "ex:contains": "http://example.org/test#chapter"
+      }
+    }
+  ]
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0052-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/contributor> "Writer" .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "My Book" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/description> "Fun" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/title> "Chapter One" .
+<http://example.org/test#jane> <http://example.org/vocab#authored> <http://example.org/test#chapter> .
+<http://example.org/test#jane> <http://xmlns.com/foaf/0.1/name> "Jane" .
+<http://example.org/test#john> <http://xmlns.com/foaf/0.1/name> "John" .
+<http://example.org/test#library> <http://example.org/vocab#contains> <http://example.org/test#book> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0053-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+[{
+  "@id": "http://example.com/id1",
+  "@type": ["http://example.com/t1"],
+  "http://example.com/term1": ["v1"],
+  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],
+  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],
+  "http://example.com/term4": [4],
+  "http://example.com/term5": [50, 51]
+}]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0053-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+<http://example.com/id1> <http://example.com/term1> "v1" .
+<http://example.com/id1> <http://example.com/term2> "v2"^^<http://example.com/t2> .
+<http://example.com/id1> <http://example.com/term3> "v3"@en .
+<http://example.com/id1> <http://example.com/term4> "4"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://example.com/term5> "50"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://example.com/term5> "51"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/id1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/t1> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0054-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,50 @@
+{
+  "@context": {
+    "ex": "http://example.org/test#",
+    "property1": {
+      "@id": "http://example.org/test#property1",
+      "@type": "@id"
+    },
+    "property2": {
+      "@id": "ex:property2",
+      "@type": "@id"
+    },
+    "uri": "@id",
+    "set": "@set",
+    "value": "@value",
+    "type": "@type",
+    "xsd": { "@id": "http://www.w3.org/2001/XMLSchema#" }
+  },
+  "property1": {
+    "uri": "ex:example2",
+    "http://example.org/test#property4": "foo"
+  },
+  "property2": "http://example.org/test#example3",
+  "http://example.org/test#property3": {
+    "uri": "http://example.org/test#example4"
+  },
+  "ex:property4": {
+    "uri": "ex:example4",
+    "ex:property5": [
+      {
+        "set": [
+          {
+          "value": "2012-03-31",
+          "type": "xsd:date"
+          }
+        ]
+      }
+    ]
+  },
+  "ex:property6": [
+    {
+      "set": [
+        {
+        "value": null,
+        "type": "xsd:date"
+        }
+      ]
+    }
+  ],
+  "uri": "http://example.org/test#example1"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0054-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+<http://example.org/test#example1> <http://example.org/test#property1> <http://example.org/test#example2> .
+<http://example.org/test#example1> <http://example.org/test#property2> <http://example.org/test#example3> .
+<http://example.org/test#example1> <http://example.org/test#property3> <http://example.org/test#example4> .
+<http://example.org/test#example1> <http://example.org/test#property4> <http://example.org/test#example4> .
+<http://example.org/test#example2> <http://example.org/test#property4> "foo" .
+<http://example.org/test#example4> <http://example.org/test#property5> "2012-03-31"^^<http://www.w3.org/2001/XMLSchema#date> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0055-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": {
+    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},
+    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},
+    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },
+    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" },
+    "myset3": {"@id": "http://example.com/myset3", "@container": "@set" }
+  },
+  "@id": "http://example.org/id",
+  "mylist1": [],
+  "myset1": { "@set": [] },
+  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],
+  "myset3": [ { "@set": [ "hello", "this" ] }, "will", { "@set": [ "be", "collapsed" ] } ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0055-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+<http://example.org/id> <http://example.com/mylist1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/id> <http://example.com/myset3> "be" .
+<http://example.org/id> <http://example.com/myset3> "collapsed" .
+<http://example.org/id> <http://example.com/myset3> "hello" .
+<http://example.org/id> <http://example.com/myset3> "this" .
+<http://example.org/id> <http://example.com/myset3> "will" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0056-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,30 @@
+{
+  "@context": {
+    "myproperty": { "@id": "http://example.com/myproperty" },
+    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},
+    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},
+    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },
+    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" }
+  },
+  "@id": "http://example.org/id1",
+  "mylist1": [],
+  "mylist2": [ 2, "hi" ],
+  "myset1": { "@set": [] },
+  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],
+  "myproperty": {
+    "@context": null,
+    "@id": "http://example.org/id2",
+    "mylist1": [],
+    "mylist2": [ 2, "hi" ],
+    "myset1": { "@set": [] },
+    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],
+    "http://example.org/myproperty2": "ok"
+  },
+  "http://example.com/emptyobj": {
+    "@context": null,
+    "mylist1": [],
+    "mylist2": [ 2, "hi" ],
+    "myset1": { "@set": [] },
+    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ]
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0056-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+<http://example.org/id1> <http://example.com/emptyobj> _:b0 .
+<http://example.org/id1> <http://example.com/mylist1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/id1> <http://example.com/mylist2> _:b1 .
+<http://example.org/id1> <http://example.com/myproperty> <http://example.org/id2> .
+<http://example.org/id2> <http://example.org/myproperty2> "ok" .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b2 .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "hi" .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0057-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,45 @@
+{
+  "@context": {
+    "authored": {
+      "@id": "http://example.org/vocab#authored",
+      "@type": "@id"
+    },
+    "contains": {
+      "@id": "http://example.org/vocab#contains",
+      "@type": "@id"
+    },
+    "contributor": "http://purl.org/dc/elements/1.1/contributor",
+    "description": "http://purl.org/dc/elements/1.1/description",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "title": {
+      "@id": "http://purl.org/dc/elements/1.1/title"
+    },
+    "id": "@id",
+    "data": "@graph"
+  },
+  "data": [
+    {
+      "id": "http://example.org/test#chapter",
+      "description": "Fun",
+      "title": "Chapter One"
+    },
+    {
+      "@id": "http://example.org/test#jane",
+      "authored": "http://example.org/test#chapter",
+      "name": "Jane"
+    },
+    {
+      "id": "http://example.org/test#john",
+      "name": "John"
+    },
+    {
+      "id": "http://example.org/test#library",
+      "contains": {
+        "@id": "http://example.org/test#book",
+        "contains": "http://example.org/test#chapter",
+        "contributor": "Writer",
+        "title": "My Book"
+      }
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0057-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/contributor> "Writer" .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "My Book" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/description> "Fun" .
+<http://example.org/test#chapter> <http://purl.org/dc/elements/1.1/title> "Chapter One" .
+<http://example.org/test#jane> <http://example.org/vocab#authored> <http://example.org/test#chapter> .
+<http://example.org/test#jane> <http://xmlns.com/foaf/0.1/name> "Jane" .
+<http://example.org/test#john> <http://xmlns.com/foaf/0.1/name> "John" .
+<http://example.org/test#library> <http://example.org/vocab#contains> <http://example.org/test#book> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0058-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,24 @@
+{
+  "@context": {
+    "ex": "http://example.org/vocab#",
+    "@language": "en",
+    "de": { "@id": "ex:german", "@language": "de" },
+    "nolang": { "@id": "ex:nolang", "@language": null }
+  },
+  "@id": "http://example.org/test",
+  "ex:test-default": [
+    "hello",
+    1,
+    true
+  ],
+  "de": [
+    "hallo",
+    2,
+    true
+  ],
+  "nolang": [
+    "no language",
+    3,
+    false
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0058-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+<http://example.org/test> <http://example.org/vocab#german> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/test> <http://example.org/vocab#german> "hallo"@de .
+<http://example.org/test> <http://example.org/vocab#german> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/test> <http://example.org/vocab#nolang> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/test> <http://example.org/vocab#nolang> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/test> <http://example.org/vocab#nolang> "no language" .
+<http://example.org/test> <http://example.org/vocab#test-default> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/test> <http://example.org/vocab#test-default> "hello"@en .
+<http://example.org/test> <http://example.org/vocab#test-default> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0059-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+{
+  "@context": {
+    "myproperty": "http://example.com/myproperty"
+  },
+  "myproperty": { "@value" : null }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0060-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,51 @@
+{
+  "@context": {
+    "authored": {
+      "@id": "http://example.org/vocab#authored",
+      "@type": "@id"
+    },
+    "contains": {
+      "@id": "http://example.org/vocab#contains",
+      "@type": "@id"
+    },
+    "contributor": "http://purl.org/dc/elements/1.1/contributor",
+    "description": "http://purl.org/dc/elements/1.1/description",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "title": {
+      "@id": "http://purl.org/dc/elements/1.1/title"
+    }
+  },
+  "@graph": [
+    {
+      "@id": "http://example.org/test#jane",
+      "name": "Jane",
+      "authored": {
+        "@graph": [
+          {
+            "@id": "http://example.org/test#chapter1",
+            "description": "Fun",
+            "title": "Chapter One"
+          },
+          {
+            "@id": "http://example.org/test#chapter2",
+            "description": "More fun",
+            "title": "Chapter Two"
+          }
+        ]
+      }
+    },
+    {
+      "@id": "http://example.org/test#john",
+      "name": "John"
+    },
+    {
+      "@id": "http://example.org/test#library",
+      "contains": {
+        "@id": "http://example.org/test#book",
+        "contains": "http://example.org/test#chapter",
+        "contributor": "Writer",
+        "title": "My Book"
+      }
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0060-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,11 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/contributor> "Writer" .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "My Book" .
+<http://example.org/test#chapter1> <http://purl.org/dc/elements/1.1/description> "Fun" _:b0 .
+<http://example.org/test#chapter1> <http://purl.org/dc/elements/1.1/title> "Chapter One" _:b0 .
+<http://example.org/test#chapter2> <http://purl.org/dc/elements/1.1/description> "More fun" _:b0 .
+<http://example.org/test#chapter2> <http://purl.org/dc/elements/1.1/title> "Chapter Two" _:b0 .
+<http://example.org/test#jane> <http://example.org/vocab#authored> _:b0 .
+<http://example.org/test#jane> <http://xmlns.com/foaf/0.1/name> "Jane" .
+<http://example.org/test#john> <http://xmlns.com/foaf/0.1/name> "John" .
+<http://example.org/test#library> <http://example.org/vocab#contains> <http://example.org/test#book> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0061-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,56 @@
+{
+  "@context": {
+    "authored": {
+      "@id": "http://example.org/vocab#authored",
+      "@type": "@id"
+    },
+    "contains": {
+      "@id": "http://example.org/vocab#contains",
+      "@type": "@id"
+    },
+    "contributor": "http://purl.org/dc/elements/1.1/contributor",
+    "description": "http://purl.org/dc/elements/1.1/description",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "title": {
+      "@id": "http://purl.org/dc/elements/1.1/title"
+    }
+  },
+  "title": "My first graph",
+  "@graph": [
+    {
+      "@id": "http://example.org/test#jane",
+      "name": "Jane",
+      "authored": {
+        "@graph": [
+          {
+            "@id": "http://example.org/test#chapter1",
+            "description": "Fun",
+            "title": "Chapter One"
+          },
+          {
+            "@id": "http://example.org/test#chapter2",
+            "description": "More fun",
+            "title": "Chapter Two"
+          },
+          {
+            "@id": "http://example.org/test#chapter3",
+            "title": "Chapter Three"
+          }
+        ]
+      }
+    },
+    {
+      "@id": "http://example.org/test#john",
+      "name": "John"
+    },
+    {
+      "@id": "http://example.org/test#library",
+      "contains": {
+        "@id": "http://example.org/test#book",
+        "contains": "http://example.org/test#chapter",
+        "contributor": "Writer",
+        "title": "My Book"
+      }
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0061-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+<http://example.org/test#book> <http://example.org/vocab#contains> <http://example.org/test#chapter> _:b0 .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/contributor> "Writer" _:b0 .
+<http://example.org/test#book> <http://purl.org/dc/elements/1.1/title> "My Book" _:b0 .
+<http://example.org/test#chapter1> <http://purl.org/dc/elements/1.1/description> "Fun" _:b1 .
+<http://example.org/test#chapter1> <http://purl.org/dc/elements/1.1/title> "Chapter One" _:b1 .
+<http://example.org/test#chapter2> <http://purl.org/dc/elements/1.1/description> "More fun" _:b1 .
+<http://example.org/test#chapter2> <http://purl.org/dc/elements/1.1/title> "Chapter Two" _:b1 .
+<http://example.org/test#chapter3> <http://purl.org/dc/elements/1.1/title> "Chapter Three" _:b1 .
+<http://example.org/test#jane> <http://example.org/vocab#authored> _:b1 _:b0 .
+<http://example.org/test#jane> <http://xmlns.com/foaf/0.1/name> "Jane" _:b0 .
+<http://example.org/test#john> <http://xmlns.com/foaf/0.1/name> "John" _:b0 .
+<http://example.org/test#library> <http://example.org/vocab#contains> <http://example.org/test#book> _:b0 .
+_:b0 <http://purl.org/dc/elements/1.1/title> "My first graph" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0062-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+{
+  "@context": {
+    "term": "http://example.com/term",
+    "@language": "en"
+  },
+  "term": "v"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0062-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.com/term> "v"@en .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0063-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,21 @@
+{
+  "@context": {
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "idlist": {"@id": "http://example.com/idlist", "@container": "@list", "@type": "@id"},
+    "datelist": {"@id": "http://example.com/datelist", "@container": "@list", "@type": "xsd:date"},
+    "idset": {"@id": "http://example.com/idset", "@container": "@set", "@type": "@id"},
+    "dateset": {"@id": "http://example.com/dateset", "@container": "@set", "@type": "xsd:date"},
+    "idprop": {"@id": "http://example.com/idprop", "@type": "@id" },
+    "dateprop": {"@id": "http://example.com/dateprop", "@type": "xsd:date" },
+    "idprop2": {"@id": "http://example.com/idprop2", "@type": "@id" },
+    "dateprop2": {"@id": "http://example.com/dateprop2", "@type": "xsd:date" }
+  },
+  "idlist": ["http://example.org/id"],
+  "datelist": ["2012-04-12"],
+  "idprop": {"@list": ["http://example.org/id"]},
+  "dateprop": {"@list": ["2012-04-12"]},
+  "idset": ["http://example.org/id"],
+  "dateset": ["2012-04-12"],
+  "idprop2": {"@set": ["http://example.org/id"]},
+  "dateprop2": {"@set": ["2012-04-12"]}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0063-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+_:b0 <http://example.com/datelist> _:b1 .
+_:b0 <http://example.com/dateprop2> "2012-04-12"^^<http://www.w3.org/2001/XMLSchema#date> .
+_:b0 <http://example.com/dateprop> _:b2 .
+_:b0 <http://example.com/dateset> "2012-04-12"^^<http://www.w3.org/2001/XMLSchema#date> .
+_:b0 <http://example.com/idlist> _:b3 .
+_:b0 <http://example.com/idprop2> <http://example.org/id> .
+_:b0 <http://example.com/idprop> _:b4 .
+_:b0 <http://example.com/idset> <http://example.org/id> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2012-04-12"^^<http://www.w3.org/2001/XMLSchema#date> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2012-04-12"^^<http://www.w3.org/2001/XMLSchema#date> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/id> .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/id> .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0064-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": [
+    {
+      "name": "http://xmlns.com/foaf/0.1/name",
+      "homepage": {"@id": "http://xmlns.com/foaf/0.1/homepage","@type": "@id"}
+    },
+    {"ical": "http://www.w3.org/2002/12/cal/ical#"}
+  ],
+  "@id": "http://example.com/speakers#Alice",
+  "name": "Alice",
+  "homepage": "http://xkcd.com/177/",
+  "ical:summary": "Alice Talk",
+  "ical:location": "Lyon Convention Centre, Lyon, France"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0064-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://example.com/speakers#Alice> <http://www.w3.org/2002/12/cal/ical#location> "Lyon Convention Centre, Lyon, France" .
+<http://example.com/speakers#Alice> <http://www.w3.org/2002/12/cal/ical#summary> "Alice Talk" .
+<http://example.com/speakers#Alice> <http://xmlns.com/foaf/0.1/homepage> <http://xkcd.com/177/> .
+<http://example.com/speakers#Alice> <http://xmlns.com/foaf/0.1/name> "Alice" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0065-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "foo": "http://example.com/foo/",
+    "foo:bar": "http://example.com/bar",
+    "bar": {"@id": "foo:bar", "@type": "@id"},
+    "_": "http://example.com/underscore/"
+  },
+  "@type": [ "foo", "foo:bar", "_" ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0065-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/bar> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/foo/> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/underscore/> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0066-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -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"
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0066-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://example.com/a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/b> .
+<http://example.com/c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/d> .
+<http://example.com/c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/e> .
+<http://example.com/f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/g> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0067-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "mylist": {"@id": "http://example.com/mylist", "@container": "@list"},
+    "myset": {"@id": "http://example.com/myset", "@container": "@set"}
+  },
+  "@id": "http://example.org/id",
+  "mylist": [1, 2, 2, 3],
+  "myset": [1, 2, 2, 3]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0067-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,12 @@
+<http://example.org/id> <http://example.com/mylist> _:b0 .
+<http://example.org/id> <http://example.com/myset> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/id> <http://example.com/myset> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/id> <http://example.com/myset> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b1 .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b2 .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b3 .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0068-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@context": {
+    "@vocab": "http://example.org/vocab#",
+    "date": { "@type": "dateTime" }
+  },
+  "@id": "example1",
+  "@type": "test",
+  "date": "2011-01-25T00:00:00Z",
+  "embed": {
+    "@id": "example2",
+    "expandedDate": { "@value": "2012-08-01T00:00:00Z", "@type": "dateTime" }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0068-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://json-ld.org/test-suite/tests/example1> <http://example.org/vocab#date> "2011-01-25T00:00:00Z"^^<http://example.org/vocab#dateTime> .
+<http://json-ld.org/test-suite/tests/example1> <http://example.org/vocab#embed> <http://json-ld.org/test-suite/tests/example2> .
+<http://json-ld.org/test-suite/tests/example1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/vocab#test> .
+<http://json-ld.org/test-suite/tests/example2> <http://example.org/vocab#expandedDate> "2012-08-01T00:00:00Z"^^<http://example.org/vocab#dateTime> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0069-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,32 @@
+{
+  "@context": {
+    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }
+  },
+  "@id": "relativeIris",
+  "@type": [
+    "link",
+    "#fragment-works",
+    "?query=works",
+    "./",
+    "../",
+    "../parent",
+    "../../parent-parent-eq-root",
+    "../../../../../still-root",
+    "../.././.././../../too-many-dots",
+    "/absolute",
+    "//example.org/scheme-relative"
+  ],
+  "links": [
+    "link",
+    "#fragment-works",
+    "?query=works",
+    "./",
+    "../",
+    "../parent",
+    "../../parent-parent-eq-root",
+    "./../../../useless/../../../still-root",
+    "../.././.././../../too-many-dots",
+    "/absolute",
+    "//example.org/scheme-relative"
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0069-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,34 @@
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.example.com/link> _:b0 .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/scheme-relative> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/absolute> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/parent-parent-eq-root> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/still-root> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/parent> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/link> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld#fragment-works> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld?query=works> .
+<http://json-ld.org/test-suite/tests/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/too-many-dots> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/tests/link> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b1 .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld#fragment-works> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b2 .
+_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/scheme-relative> .
+_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld?query=works> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b3 .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/tests/> .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b4 .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/> .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b5 .
+_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/test-suite/parent> .
+_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b6 .
+_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/parent-parent-eq-root> .
+_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b7 .
+_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/still-root> .
+_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b8 .
+_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/too-many-dots> .
+_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b9 .
+_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://json-ld.org/absolute> .
+_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b10 .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0070-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": {
+    "vocab": "http://example.com/vocab/",
+    "label": {
+      "@id": "vocab:label",
+      "@container": "@language"
+    }
+  },
+  "@id": "http://example.com/queen",
+  "label": {
+    "en": "The Queen",
+    "de": [ "Die Königin", "Ihre Majestät" ]
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0070-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/queen> <http://example.com/vocab/label> "Die Königin"@de .
+<http://example.com/queen> <http://example.com/vocab/label> "Ihre Majestät"@de .
+<http://example.com/queen> <http://example.com/vocab/label> "The Queen"@en .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0071-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@context": {
+    "ex": "http://example.org/vocab#",
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "ex:integer": { "@type": "xsd:integer" },
+    "ex:double": { "@type": "xsd:double" },
+    "ex:boolean": { "@type": "xsd:boolean" }
+  },
+  "@id": "http://example.org/test#example1",
+  "ex:integer": 1,
+  "ex:double": 123.45,
+  "ex:boolean": true
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0071-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.org/test#example1> <http://example.org/vocab#boolean> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/test#example1> <http://example.org/vocab#double> "1.2345E2"^^<http://www.w3.org/2001/XMLSchema#double> .
+<http://example.org/test#example1> <http://example.org/vocab#integer> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0072-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,11 @@
+{
+  "@context": {
+    "@vocab": "http://xmlns.com/foaf/0.1/",
+    "from": null,
+    "university": { "@id": null }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "from": "Italy",
+  "university": "TU Graz"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0072-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+<http://me.markus-lanthaler.com/> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0073-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": {
+    "@vocab": "http://example.com/vocab#",
+    "homepage": {
+      "@type": "@id"
+    },
+    "created_at": {
+      "@type": "http://www.w3.org/2001/XMLSchema#date"
+    }
+  },
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/",
+  "created_at": "2012-10-28"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0073-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+_:b0 <http://example.com/vocab#created_at> "2012-10-28"^^<http://www.w3.org/2001/XMLSchema#date> .
+_:b0 <http://example.com/vocab#homepage> <http://www.markus-lanthaler.com/> .
+_:b0 <http://example.com/vocab#name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0074-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+{
+  "@context": {
+    "@vocab": "http://example.com/vocab/",
+    "colliding": "http://example.com/vocab/collidingTerm"
+  },
+  "@id": "http://example.com/IriCollissions",
+  "colliding": [
+    "value 1",
+    2
+  ],
+  "collidingTerm": [
+    3,
+    "four"
+  ],
+  "http://example.com/vocab/collidingTerm": 5
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0074-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/IriCollissions> <http://example.com/vocab/collidingTerm> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/IriCollissions> <http://example.com/vocab/collidingTerm> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/IriCollissions> <http://example.com/vocab/collidingTerm> "5"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.com/IriCollissions> <http://example.com/vocab/collidingTerm> "four" .
+<http://example.com/IriCollissions> <http://example.com/vocab/collidingTerm> "value 1" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0075-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,18 @@
+{
+  "@context": {
+    "@vocab": "http://example.com/vocab/",
+    "@language": "it",
+    "label": {
+      "@container": "@language"
+    }
+  },
+  "@id": "http://example.com/queen",
+  "label": {
+    "en": "The Queen",
+    "de": [ "Die Königin", "Ihre Majestät" ]
+  },
+  "http://example.com/vocab/label": [
+    "Il re",
+    { "@value": "The king", "@language": "en" }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0075-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/queen> <http://example.com/vocab/label> "Die Königin"@de .
+<http://example.com/queen> <http://example.com/vocab/label> "Ihre Majestät"@de .
+<http://example.com/queen> <http://example.com/vocab/label> "Il re"@it .
+<http://example.com/queen> <http://example.com/vocab/label> "The Queen"@en .
+<http://example.com/queen> <http://example.com/vocab/label> "The king"@en .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0076-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,90 @@
+{
+  "@context": {
+    "property": "http://example.com/property",
+    "indexContainer": { "@id": "http://example.com/container", "@container": "@index" }
+  },
+  "@id": "http://example.org/indexTest",
+  "indexContainer": {
+    "A": [
+      {
+        "@id": "http://example.org/nodeWithoutIndexA"
+      },
+      {
+        "@id": "http://example.org/nodeWithIndexA",
+        "@index": "this overrides the 'A' index from the container"
+      },
+      1,
+      true,
+      false,
+      null,
+      "simple string A",
+      {
+        "@value": "typed literal A",
+        "@type": "http://example.org/type"
+      },
+      {
+        "@value": "language-tagged string A",
+        "@language": "en"
+      }
+    ],
+    "B": "simple string B",
+    "C": [
+      {
+        "@id": "http://example.org/nodeWithoutIndexC"
+      },
+      {
+        "@id": "http://example.org/nodeWithIndexC",
+        "@index": "this overrides the 'C' index from the container"
+      },
+      3,
+      true,
+      false,
+      null,
+      "simple string C",
+      {
+        "@value": "typed literal C",
+        "@type": "http://example.org/type"
+      },
+      {
+        "@value": "language-tagged string C",
+        "@language": "en"
+      }
+    ]
+  },
+  "property": [
+    {
+      "@id": "http://example.org/nodeWithoutIndexProp"
+    },
+    {
+      "@id": "http://example.org/nodeWithIndexProp",
+      "@index": "prop"
+    },
+    {
+      "@value": 3,
+      "@index": "prop"
+    },
+    {
+      "@value": true,
+      "@index": "prop"
+    },
+    {
+      "@value": false,
+      "@index": "prop"
+    },
+    {
+      "@value": null,
+      "@index": "prop"
+    },
+    "simple string no index",
+    {
+      "@value": "typed literal Prop",
+      "@type": "http://example.org/type",
+      "@index": "prop"
+    },
+    {
+      "@value": "language-tagged string Prop",
+      "@language": "en",
+      "@index": "prop"
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0076-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,25 @@
+<http://example.org/indexTest> <http://example.com/container> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/indexTest> <http://example.com/container> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/indexTest> <http://example.com/container> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/container> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/container> "language-tagged string A"@en .
+<http://example.org/indexTest> <http://example.com/container> "language-tagged string C"@en .
+<http://example.org/indexTest> <http://example.com/container> "simple string A" .
+<http://example.org/indexTest> <http://example.com/container> "simple string B" .
+<http://example.org/indexTest> <http://example.com/container> "simple string C" .
+<http://example.org/indexTest> <http://example.com/container> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/container> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/container> "typed literal A"^^<http://example.org/type> .
+<http://example.org/indexTest> <http://example.com/container> "typed literal C"^^<http://example.org/type> .
+<http://example.org/indexTest> <http://example.com/container> <http://example.org/nodeWithIndexA> .
+<http://example.org/indexTest> <http://example.com/container> <http://example.org/nodeWithIndexC> .
+<http://example.org/indexTest> <http://example.com/container> <http://example.org/nodeWithoutIndexA> .
+<http://example.org/indexTest> <http://example.com/container> <http://example.org/nodeWithoutIndexC> .
+<http://example.org/indexTest> <http://example.com/property> "3"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/indexTest> <http://example.com/property> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/property> "language-tagged string Prop"@en .
+<http://example.org/indexTest> <http://example.com/property> "simple string no index" .
+<http://example.org/indexTest> <http://example.com/property> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org/indexTest> <http://example.com/property> "typed literal Prop"^^<http://example.org/type> .
+<http://example.org/indexTest> <http://example.com/property> <http://example.org/nodeWithIndexProp> .
+<http://example.org/indexTest> <http://example.com/property> <http://example.org/nodeWithoutIndexProp> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0077-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@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": {
+      "@id": "http://example.com/people/dave",
+      "name": "Dave Longley"
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0077-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0078-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,60 @@
+{
+  "@context": {
+    "term": "_:term",
+    "termId": { "@id": "term", "@type": "@id" },
+    "termTyped": { "@id": "term", "@type": "_:term" }
+  },
+  "@id": "_:term",
+  "@type": "_:term",
+  "term": [
+    {
+      "@id": "_:term",
+      "@type": "term",
+      "termTyped": "typed value term"
+    },
+    {
+      "@id": "_:Bx",
+      "term": "term"
+    },
+    "plain value",
+    {
+      "@id": "_:term"
+    },
+    {
+      "@value": "term: typed value with type set to bnode",
+      "@type": "_:term"
+    },
+    {
+      "@value": "term: typed value with type set to term",
+      "@type": "term"
+    }
+  ],
+  "termId": [
+    {
+      "@id": "_:term",
+      "@type": "term",
+      "termTyped": "typed value termId"
+    },
+    {
+      "@id": "_:Cx",
+      "term": "termId"
+    },
+    "term:AppendedToBlankNode",
+    "_:termAppendedToBlankNode",
+    "relativeIri",
+    {
+      "@id": "_:term"
+    },
+    {
+      "@value": "termId: typed value with type set to bnode",
+      "@type": "_:term"
+    },
+    {
+      "@value": "termId: typed value with type set to term",
+      "@type": "term"
+    }
+  ],
+  "termTyped": [
+    "termTyped: value"
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0078-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> _:b0 .
+_:b0 _:b0 "plain value" .
+_:b0 _:b0 "term: typed value with type set to bnode"^^<_:b0> .
+_:b0 _:b0 "term: typed value with type set to term"^^<_:b0> .
+_:b0 _:b0 "termId: typed value with type set to bnode"^^<_:b0> .
+_:b0 _:b0 "termId: typed value with type set to term"^^<_:b0> .
+_:b0 _:b0 "termTyped: value"^^<_:b0> .
+_:b0 _:b0 "typed value term"^^<_:b0> .
+_:b0 _:b0 "typed value termId"^^<_:b0> .
+_:b0 _:b0 <http://json-ld.org/test-suite/tests/relativeIri> .
+_:b0 _:b0 _:b0 .
+_:b0 _:b0 _:b1 .
+_:b0 _:b0 _:b2 .
+_:b0 _:b0 _:b3 .
+_:b1 _:b0 "term" .
+_:b2 _:b0 "termId" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0079-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "@reverse": {
+    "knows": {
+      "@id": "http://example.com/people/dave",
+      "name": "Dave Longley"
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0079-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0080-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,23 @@
+{
+  "@context": {
+    "vocab": "http://example.com/vocab/",
+    "label": {
+      "@id": "vocab:label",
+      "@container": "@language"
+    },
+    "indexes": {
+      "@id": "vocab:index",
+      "@container": "@index"
+    }
+  },
+  "@id": "http://example.com/queen",
+  "label": [
+    "The Queen"
+  ],
+  "indexes":
+  [
+    "No",
+    "indexes",
+    { "@id": "asTheValueIsntAnObject" }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0080-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://example.com/queen> <http://example.com/vocab/index> "No" .
+<http://example.com/queen> <http://example.com/vocab/index> "indexes" .
+<http://example.com/queen> <http://example.com/vocab/index> <http://json-ld.org/test-suite/tests/asTheValueIsntAnObject> .
+<http://example.com/queen> <http://example.com/vocab/label> "The Queen" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0081-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+  "@context": {
+    "property": "http://example.com/property",
+    "nested": "http://example.com/nested",
+    "@language": "en"
+  },
+  "property": "this is English",
+  "nested": {
+    "@context": {
+      "@language": null
+    },
+    "property": "and this is a plain string"
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0081-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+_:b0 <http://example.com/nested> _:b1 .
+_:b0 <http://example.com/property> "this is English"@en .
+_:b1 <http://example.com/property> "and this is a plain string" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0082-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,12 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "isKnownBy": {
+    "@id": "http://example.com/people/dave",
+    "name": "Dave Longley"
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0082-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0083-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,20 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "@reverse": {
+    "isKnownBy": [
+      {
+        "@id": "http://example.com/people/dave",
+        "name": "Dave Longley"
+      },
+      {
+        "@id": "http://example.com/people/gregg",
+        "name": "Gregg Kellogg"
+      }
+    ]
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0083-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/gregg> <http://xmlns.com/foaf/0.1/name> "Gregg Kellogg" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/dave> .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/gregg> .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0084-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+{
+  "@context": {
+    "property": { "@id": "http://example.com/vocab/property", "@language": "de" },
+    "indexMap": { "@id": "http://example.com/vocab/indexMap", "@language": "en", "@container": "@index" }
+  },
+  "@id": "http://example.com/node",
+  "property": [
+    {
+      "@id": "http://example.com/propertyValueNode",
+      "indexMap": {
+        "expands to english string": "simple string"
+      }
+    },
+    "einfacher String"
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0084-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/node> <http://example.com/vocab/property> "einfacher String"@de .
+<http://example.com/node> <http://example.com/vocab/property> <http://example.com/propertyValueNode> .
+<http://example.com/propertyValueNode> <http://example.com/vocab/indexMap> "simple string"@en .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0085-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+{
+    "@value": "free-floating value"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0086-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,14 @@
+{
+    "@graph": [
+        { "@id": "http://example.com/free-floating-node" },
+        { "@value": "free-floating value object" },
+        { "@value": "free-floating value language-tagged string",  "@language": "en" },
+        { "@value": "free-floating value typed value",  "@type": "http://example.com/type" },
+        "free-floating plain string",
+        true,
+        false,
+        null,
+        1,
+        1.5
+    ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0087-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,28 @@
+{
+    "@context": {
+        "property": "http://example.com/property"
+    },
+    "@graph": [
+        {
+            "@set": [
+                "free-floating strings in set objects are removed",
+                {
+                    "@id": "http://example.com/free-floating-node"
+                },
+                {
+                    "@id": "http://example.com/node",
+                    "property": "nodes with properties are not removed"
+                }
+            ]
+        },
+        {
+            "@list": [
+                "lists are removed even though they represent an invisible linked structure, they have no real meaning",
+                {
+                    "@id": "http://example.com/node-in-free-floating-list",
+                    "property": "everything inside a free-floating list is removed with the list; also nodes with properties"
+                }
+            ]
+        }
+    ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0087-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+<http://example.com/node> <http://example.com/property> "nodes with properties are not removed" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0088-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,19 @@
+{
+  "@context": {
+    "term": "http://example.com/terms-are-not-considered-in-id",
+    "compact-iris": "http://example.com/compact-iris-",
+    "property": "http://example.com/property",
+    "@vocab": "http://example.org/vocab-is-not-considered-for-id"
+  },
+  "@id": "term",
+  "property": [
+    {
+      "@id": "compact-iris:are-considered",
+      "property": "@id supports the following values: relative, absolute, and compact IRIs"
+    },
+    {
+      "@id": "../parent-node",
+      "property": "relative IRIs get resolved against the document's base IRI"
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0088-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://example.com/compact-iris-are-considered> <http://example.com/property> "@id supports the following values: relative, absolute, and compact IRIs" .
+<http://json-ld.org/test-suite/parent-node> <http://example.com/property> "relative IRIs get resolved against the document's base IRI" .
+<http://json-ld.org/test-suite/tests/term> <http://example.com/property> <http://example.com/compact-iris-are-considered> .
+<http://json-ld.org/test-suite/tests/term> <http://example.com/property> <http://json-ld.org/test-suite/parent-node> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0089-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,12 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "isKnownBy": [
+    "http://example.com/people/dave",
+    "http://example.com/people/gregg"
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0089-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/gregg> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0090-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": {
+    "issue": { "@id": "http://example.com/issue/", "@type": "@id" },
+    "issue:raisedBy": { "@container": "@set" }
+  },
+  "issue": "/issue/1",
+  "issue:raisedBy": "Markus"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0090-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+_:b0 <http://example.com/issue/> <http://json-ld.org/issue/1> .
+_:b0 <http://example.com/issue/raisedBy> "Markus" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0091-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": [
+    { "id": "@id" },
+    { "url": "id" }
+  ],
+  "url": "/issue/1",
+  "http://example.com/property": "ok"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0091-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+<http://json-ld.org/issue/1> <http://example.com/property> "ok" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0092-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": {
+    "@vocab": "http://example.org/",
+    "property": "vocabRelativeProperty"
+  },
+  "property": "must expand to http://example.org/vocabRelativeProperty",
+  "http://example.org/property": "ok"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0092-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+_:b0 <http://example.org/property> "ok" .
+_:b0 <http://example.org/vocabRelativeProperty> "must expand to http://example.org/vocabRelativeProperty" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0093-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+{
+  "@context": {
+    "term": {"@id": "http://example.org/term", "@type": "@vocab"}
+  },
+  "term": "http://example.org/enum"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0093-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.org/term> <http://example.org/enum> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0094-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+{
+  "@context": {
+    "term": {"@id": "http://example.org/term", "@type": "@vocab"},
+    "enum": {"@id": "http://example.org/enum"}
+  },
+  "term": "enum"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0094-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.org/term> <http://example.org/enum> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0095-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+{
+  "@context": {
+    "@vocab": "http://example.org/",
+    "term": {"@id": "http://example.org/term", "@type": "@vocab"}
+  },
+  "term": "enum"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0095-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.org/term> <http://example.org/enum> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0096-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@vocab" },
+    "link": { "@id": "http://example.com/link", "@type": "@id" },
+    "MarkusHomepage": "http://www.markus-lanthaler.com/",
+    "relative-iri": "http://example.com/error-if-this-is-used-for-link"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "homepage": "MarkusHomepage",
+  "link": "relative-iri"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0096-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://me.markus-lanthaler.com/> <http://example.com/link> <http://json-ld.org/test-suite/tests/relative-iri> .
+<http://me.markus-lanthaler.com/> <http://xmlns.com/foaf/0.1/homepage> <http://www.markus-lanthaler.com/> .
+<http://me.markus-lanthaler.com/> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0097-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,6 @@
+{
+  "@context": {
+    "term": { "@id": "http://example.org/term", "@type": "@vocab" }
+  },
+  "term": "not-a-term-thus-a-relative-IRI"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0097-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.org/term> <http://json-ld.org/test-suite/tests/not-a-term-thus-a-relative-IRI> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0098-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,7 @@
+{
+  "@context": {
+    "term": { "@id": "http://example.org/term", "@type": "@vocab" },
+    "prefix": "http://example.com/vocab#"
+  },
+  "term": "prefix:suffix"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0098-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.org/term> <http://example.com/vocab#suffix> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0099-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+{
+  "@context": {
+    "@vocab": "http://example.org/vocab#"
+  },
+  "@id": "example-with-vocab",
+  "@type": "vocab-prefixed",
+  "property": "property expanded using @vocab",
+  "embed": {
+    "@context": {
+      "@vocab": null
+    },
+    "@id": "example-vocab-reset",
+    "@type": "document-relative",
+    "property": "@vocab reset, property will be dropped"
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0099-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+<http://json-ld.org/test-suite/tests/example-vocab-reset> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/document-relative> .
+<http://json-ld.org/test-suite/tests/example-with-vocab> <http://example.org/vocab#embed> <http://json-ld.org/test-suite/tests/example-vocab-reset> .
+<http://json-ld.org/test-suite/tests/example-with-vocab> <http://example.org/vocab#property> "property expanded using @vocab" .
+<http://json-ld.org/test-suite/tests/example-with-vocab> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/vocab#vocab-prefixed> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0100-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,30 @@
+{
+  "@context": {
+    "property": "http://example.com/vocab#property"
+  },
+  "@id": "../document-relative",
+  "@type": "#document-relative",
+  "property": {
+    "@context": {
+      "@base": "http://example.org/test/"
+    },
+    "@id": "../document-base-overwritten",
+    "@type": "#document-base-overwritten",
+    "property": [
+      {
+        "@context": null,
+        "@id": "../document-relative",
+        "@type": "#document-relative",
+        "property": "context completely reset, drops property"
+      },
+      {
+        "@context": {
+          "@base": null
+        },
+        "@id": "../document-relative",
+        "@type": "#document-relative",
+        "property": "only @base is reset"
+      }
+    ]
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0100-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.org/document-base-overwritten> <http://example.com/vocab#property> <http://json-ld.org/test-suite/document-relative> .
+<http://example.org/document-base-overwritten> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/test/#document-base-overwritten> .
+<http://json-ld.org/test-suite/document-relative> <http://example.com/vocab#property> "only @base is reset" .
+<http://json-ld.org/test-suite/document-relative> <http://example.com/vocab#property> <http://example.org/document-base-overwritten> .
+<http://json-ld.org/test-suite/document-relative> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://json-ld.org/test-suite/tests/toRdf-0100-in.jsonld#document-relative> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0101-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "property": {
+      "@id": "http://example.com/property",
+      "@type": "http://example.com/datatype"
+    }
+  },
+  "property": [ 1, true, false, 5.1 ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0101-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,4 @@
+_:b0 <http://example.com/property> "1"^^<http://example.com/datatype> .
+_:b0 <http://example.com/property> "5.1E0"^^<http://example.com/datatype> .
+_:b0 <http://example.com/property> "false"^^<http://example.com/datatype> .
+_:b0 <http://example.com/property> "true"^^<http://example.com/datatype> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0102-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,35 @@
+{
+  "@context": {
+    "@base": "http://example.com/some/deep/directory/and/file#with-a-fragment",
+    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }
+  },
+  "@id": "relativeIris",
+  "@type": [
+    "link",
+    "#fragment-works",
+    "?query=works",
+    "./",
+    "../",
+    "../parent",
+    "../../parent-parent-eq-root",
+    "../../../../../still-root",
+    "../.././.././../../too-many-dots",
+    "/absolute",
+    "//example.org/scheme-relative"
+  ],
+  "links": [
+    "link",
+    "#fragment-works",
+    "?query=works",
+    "./",
+    "../",
+    "../parent",
+    "../../parent-parent-eq-root",
+    "./../../../../../still-root",
+    "../.././.././../../too-many-dots",
+    "/absolute",
+    "//example.org/scheme-relative",
+    "//example.org/../scheme-relative",
+    "//example.org/.././useless/../../scheme-relative"
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0102-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,38 @@
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.example.com/link> _:b0 .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/absolute> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/and/> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/and/file#fragment-works> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/and/file?query=works> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/and/link> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/directory/parent> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/some/deep/parent-parent-eq-root> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/still-root> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/too-many-dots> .
+<http://example.com/some/deep/directory/and/relativeIris> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/scheme-relative> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/and/link> .
+_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b1 .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/and/file#fragment-works> .
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b2 .
+_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/scheme-relative> .
+_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b11 .
+_:b11 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/scheme-relative> .
+_:b11 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b12 .
+_:b12 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.org/scheme-relative> .
+_:b12 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/and/file?query=works> .
+_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b3 .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/and/> .
+_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b4 .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/> .
+_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b5 .
+_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/directory/parent> .
+_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b6 .
+_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/some/deep/parent-parent-eq-root> .
+_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b7 .
+_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/still-root> .
+_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b8 .
+_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/too-many-dots> .
+_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b9 .
+_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://example.com/absolute> .
+_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b10 .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0103-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,18 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@index" }
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "isKnownBy": {
+    "Dave": {
+      "@id": "http://example.com/people/dave",
+      "name": "Dave Longley"
+    },
+    "Gregg": {
+      "@id": "http://example.com/people/gregg",
+      "name": "Gregg Kellogg"
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0103-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/gregg> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/gregg> <http://xmlns.com/foaf/0.1/name> "Gregg Kellogg" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0104-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,16 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "isKnownBy": [
+    {
+      "name": "Dave Longley"
+    },
+    {
+      "name": "Gregg Kellogg"
+    }
+  ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0104-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
+_:b0 <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+_:b0 <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+_:b1 <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+_:b1 <http://xmlns.com/foaf/0.1/name> "Gregg Kellogg" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0105-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,18 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "@reverse": {
+    "knows": {
+      "@id": "http://example.com/people/dave",
+      "name": "Dave Longley"
+    },
+    "relative-iri": {
+      "@id": "relative-node",
+      "name": "Keys that are not mapped to an IRI in a reverse-map are dropped"
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0105-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,3 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0106-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,19 @@
+{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows",
+    "@vocab": "http://example.com/vocab/"
+  },
+  "@id": "http://example.com/people/markus",
+  "name": "Markus Lanthaler",
+  "@reverse": {
+    "knows": {
+      "@id": "http://example.com/people/dave",
+      "name": "Dave Longley"
+    },
+    "noTerm": {
+      "@id": "relative-node",
+      "name": "Compact keys using @vocab"
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0106-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,5 @@
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/knows> <http://example.com/people/markus> .
+<http://example.com/people/dave> <http://xmlns.com/foaf/0.1/name> "Dave Longley" .
+<http://example.com/people/markus> <http://xmlns.com/foaf/0.1/name> "Markus Lanthaler" .
+<http://json-ld.org/test-suite/tests/relative-node> <http://example.com/vocab/noTerm> <http://example.com/people/markus> .
+<http://json-ld.org/test-suite/tests/relative-node> <http://xmlns.com/foaf/0.1/name> "Compact keys using @vocab" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0107-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": {
+    "http": "http://example.com/this-prefix-would-overwrite-all-http-iris"
+  },
+  "@id": "http://example.org/node1",
+  "@type": "http://example.org/type",
+  "http://example.org/property": "all these IRIs remain unchanged because they are interpreted as absolute IRIs"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0107-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.org/node1> <http://example.org/property> "all these IRIs remain unchanged because they are interpreted as absolute IRIs" .
+<http://example.org/node1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/type> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0108-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": {
+    "_": "http://example.com/this-prefix-would-overwrite-all-blank-node-identifiers"
+  },
+  "@id": "_:node1",
+  "@type": "_:type",
+  "_:property": "all these IRIs remain unchanged because they are interpreted as blank node identifiers"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0108-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> _:b0 .
+_:b1 _:b2 "all these IRIs remain unchanged because they are interpreted as blank node identifiers" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0109-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
+    "rdfs:subClassOf": { "@id": "rdfs:subClassOf", "@type": "@id" }
+  },
+  "@id": "http://example.com/vocab#class",
+  "@type": "rdfs:Class",
+  "rdfs:subClassOf": "http://example.com/vocab#someOtherClass"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0109-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.com/vocab#class> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
+<http://example.com/vocab#class> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://example.com/vocab#someOtherClass> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0110-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,9 @@
+{
+  "@context": {
+    "prefix": "http://www.example.org/vocab#",
+    "prefix:foo": "prefix:foo"
+  },
+  "@id": "http://example.com/vocab#id",
+  "@type": "prefix:Class",
+  "prefix:foo": "bar"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0110-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+<http://example.com/vocab#id> <http://www.example.org/vocab#foo> "bar" .
+<http://example.com/vocab#id> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.example.org/vocab#Class> .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0111-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -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"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0111-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,2 @@
+_:b0 <http://example.com/vocab#term> "value of v:term" .
+_:b0 <http://example.com/vocab#termId> "value of v:termId" .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0112-in.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,13 @@
+{
+  "@context": [
+    {
+      "v": "http://example.com/vocab#",
+      "term": "v:somethingElse"
+    },
+    {
+      "@vocab": "http://example.com/anotherVocab#",
+      "term": "term"
+    }
+  ],
+  "term": "value of term"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/toRdf-0112-out.nq	Wed Jun 05 20:13:40 2013 +0200
@@ -0,0 +1,1 @@
+_:b0 <http://example.com/anotherVocab#term> "value of term" .
\ No newline at end of file
--- a/test-suite/tests/toRdf-manifest.jsonld	Wed Jun 05 19:03:56 2013 +0200
+++ b/test-suite/tests/toRdf-manifest.jsonld	Wed Jun 05 20:13:40 2013 +0200
@@ -237,6 +237,438 @@
       "purpose": "Tests that generated triples do not depend on order of properties inside @context.",
       "input": "toRdf-0034-in.jsonld",
       "expect": "toRdf-0034-out.nq"
+    }, {
+      "@id": "#t0041",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "drop free-floating nodes",
+      "input": "toRdf-0041-in.jsonld",
+      "expect": "toRdf-0041-out.nq"
+    }, {
+      "@id": "#t0042",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "basic",
+      "input": "toRdf-0042-in.jsonld",
+      "expect": "toRdf-0042-out.nq"
+    }, {
+      "@id": "#t0043",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "drop null and unmapped properties",
+      "input": "toRdf-0043-in.jsonld",
+      "expect": "toRdf-0043-out.nq"
+    }, {
+      "@id": "#t0044",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "optimize @set, keep empty arrays",
+      "input": "toRdf-0044-in.jsonld",
+      "expect": "toRdf-0044-out.nq"
+    }, {
+      "@id": "#t0045",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "do not expand aliased @id/@type",
+      "input": "toRdf-0045-in.jsonld",
+      "expect": "toRdf-0045-out.nq"
+    }, {
+      "@id": "#t0046",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "alias keywords",
+      "input": "toRdf-0046-in.jsonld",
+      "expect": "toRdf-0046-out.nq"
+    }, {
+      "@id": "#t0047",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "date type-coercion",
+      "input": "toRdf-0047-in.jsonld",
+      "expect": "toRdf-0047-out.nq"
+    }, {
+      "@id": "#t0048",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@value with @language",
+      "input": "toRdf-0048-in.jsonld",
+      "expect": "toRdf-0048-out.nq"
+    }, {
+      "@id": "#t0049",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@graph with terms",
+      "input": "toRdf-0049-in.jsonld",
+      "expect": "toRdf-0049-out.nq"
+    }, {
+      "@id": "#t0050",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "native types",
+      "input": "toRdf-0050-in.jsonld",
+      "expect": "toRdf-0050-out.nq"
+    }, {
+      "@id": "#t0051",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "coerced @id",
+      "input": "toRdf-0051-in.jsonld",
+      "expect": "toRdf-0051-out.nq"
+    }, {
+      "@id": "#t0052",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@graph with embed",
+      "input": "toRdf-0052-in.jsonld",
+      "expect": "toRdf-0052-out.nq"
+    }, {
+      "@id": "#t0053",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "expand already expanded",
+      "input": "toRdf-0053-in.jsonld",
+      "expect": "toRdf-0053-out.nq"
+    }, {
+      "@id": "#t0054",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@set of @value objects with keyword aliases",
+      "input": "toRdf-0054-in.jsonld",
+      "expect": "toRdf-0054-out.nq"
+    }, {
+      "@id": "#t0055",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "collapse set of sets, keep empty lists",
+      "input": "toRdf-0055-in.jsonld",
+      "expect": "toRdf-0055-out.nq"
+    }, {
+      "@id": "#t0056",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "context reset",
+      "input": "toRdf-0056-in.jsonld",
+      "expect": "toRdf-0056-out.nq"
+    }, {
+      "@id": "#t0057",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@graph and @id aliased",
+      "input": "toRdf-0057-in.jsonld",
+      "expect": "toRdf-0057-out.nq"
+    }, {
+      "@id": "#t0058",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "override default @language in terms; only language-tag strings",
+      "input": "toRdf-0058-in.jsonld",
+      "expect": "toRdf-0058-out.nq"
+    }, {
+      "@id": "#t0059",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "remove @value = null",
+      "input": "toRdf-0059-in.jsonld",
+      "expect": "toRdf-0059-out.nq"
+    }, {
+      "@id": "#t0060",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "do not remove @graph if not at top-level",
+      "input": "toRdf-0060-in.jsonld",
+      "expect": "toRdf-0060-out.nq"
+    }, {
+      "@id": "#t0061",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "do not remove @graph at top-level if not only property",
+      "input": "toRdf-0061-in.jsonld",
+      "expect": "toRdf-0061-out.nq"
+    }, {
+      "@id": "#t0062",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "expand value with default language",
+      "input": "toRdf-0062-in.jsonld",
+      "expect": "toRdf-0062-out.nq"
+    }, {
+      "@id": "#t0063",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expanding lists and sets with properties having coercion coerces list/set values",
+      "input": "toRdf-0063-in.jsonld",
+      "expect": "toRdf-0063-out.nq"
+    }, {
+      "@id": "#t0064",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Multiple contexts",
+      "input": "toRdf-0064-in.jsonld",
+      "expect": "toRdf-0064-out.nq"
+    }, {
+      "@id": "#t0065",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Problematic IRI expansion tests",
+      "input": "toRdf-0065-in.jsonld",
+      "expect": "toRdf-0065-out.nq"
+    }, {
+      "@id": "#t0066",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expanding term mapping to @type uses @type syntax",
+      "input": "toRdf-0066-in.jsonld",
+      "expect": "toRdf-0066-out.nq"
+    }, {
+      "@id": "#t0067",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Keep duplicate values in @list and @set",
+      "input": "toRdf-0067-in.jsonld",
+      "expect": "toRdf-0067-out.nq"
+    }, {
+      "@id": "#t0068",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Use @vocab in properties and @type but not in @id",
+      "input": "toRdf-0068-in.jsonld",
+      "expect": "toRdf-0068-out.nq"
+    }, {
+      "@id": "#t0069",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Relative IRIs",
+      "input": "toRdf-0069-in.jsonld",
+      "expect": "toRdf-0069-out.nq"
+    }, {
+      "@id": "#t0070",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Language maps",
+      "input": "toRdf-0070-in.jsonld",
+      "expect": "toRdf-0070-out.nq"
+    }, {
+      "@id": "#t0071",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "type-coercion of native types",
+      "input": "toRdf-0071-in.jsonld",
+      "expect": "toRdf-0071-out.nq"
+    }, {
+      "@id": "#t0072",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Mapping a term to null decouples it from @vocab",
+      "input": "toRdf-0072-in.jsonld",
+      "expect": "toRdf-0072-out.nq"
+    }, {
+      "@id": "#t0073",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Using @vocab with with type-coercion",
+      "input": "toRdf-0073-in.jsonld",
+      "expect": "toRdf-0073-out.nq"
+    }, {
+      "@id": "#t0074",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Multiple properties expanding to the same IRI",
+      "input": "toRdf-0074-in.jsonld",
+      "expect": "toRdf-0074-out.nq"
+    }, {
+      "@id": "#t0075",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Using language maps with @vocab, a default language, and a colliding property",
+      "input": "toRdf-0075-in.jsonld",
+      "expect": "toRdf-0075-out.nq"
+    }, {
+      "@id": "#t0076",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expanding @index",
+      "input": "toRdf-0076-in.jsonld",
+      "expect": "toRdf-0076-out.nq"
+    }, {
+      "@id": "#t0077",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expanding @reverse",
+      "input": "toRdf-0077-in.jsonld",
+      "expect": "toRdf-0077-out.nq"
+    }, {
+      "@id": "#t0078",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Blank nodes are not relabeled during expansion.",
+      "input": "toRdf-0078-in.jsonld",
+      "expect": "toRdf-0078-out.nq"
+    }, {
+      "@id": "#t0079",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Using terms in a reverse-maps",
+      "input": "toRdf-0079-in.jsonld",
+      "expect": "toRdf-0079-out.nq"
+    }, {
+      "@id": "#t0080",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Only invoke language and index map expansion if the value is a JSON object",
+      "input": "toRdf-0080-in.jsonld",
+      "expect": "toRdf-0080-out.nq"
+    }, {
+      "@id": "#t0081",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Reset the default language",
+      "input": "toRdf-0081-in.jsonld",
+      "expect": "toRdf-0081-out.nq"
+    }, {
+      "@id": "#t0082",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expanding reverse properties",
+      "input": "toRdf-0082-in.jsonld",
+      "expect": "toRdf-0082-out.nq"
+    }, {
+      "@id": "#t0083",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Using reverse properties inside a @reverse-container",
+      "input": "toRdf-0083-in.jsonld",
+      "expect": "toRdf-0083-out.nq"
+    }, {
+      "@id": "#t0084",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Ensure index maps use language mapping",
+      "input": "toRdf-0084-in.jsonld",
+      "expect": "toRdf-0084-out.nq"
+    }, {
+      "@id": "#t0085",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Top-level value objects are removed",
+      "input": "toRdf-0085-in.jsonld",
+      "expect": "toRdf-0085-out.nq"
+    }, {
+      "@id": "#t0086",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Free-floating nodes are removed",
+      "input": "toRdf-0086-in.jsonld",
+      "expect": "toRdf-0086-out.nq"
+    }, {
+      "@id": "#t0087",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Free-floating values in sets are removed, free-floating lists are removed completely",
+      "input": "toRdf-0087-in.jsonld",
+      "expect": "toRdf-0087-out.nq"
+    }, {
+      "@id": "#t0088",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Terms are ignored in @id",
+      "input": "toRdf-0088-in.jsonld",
+      "expect": "toRdf-0088-out.nq"
+    }, {
+      "@id": "#t0089",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Using strings as value of a reverse property",
+      "input": "toRdf-0089-in.jsonld",
+      "expect": "toRdf-0089-out.nq"
+    }, {
+      "@id": "#t0090",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Context definitions using compact IRIs don't inherit the definitions of the prefix",
+      "input": "toRdf-0090-in.jsonld",
+      "expect": "toRdf-0090-out.nq"
+    }, {
+      "@id": "#t0091",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expansion of keyword aliases in term definitions",
+      "input": "toRdf-0091-in.jsonld",
+      "expect": "toRdf-0091-out.nq"
+    }, {
+      "@id": "#t0092",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "@vocab-relative IRIs in term definitions",
+      "input": "toRdf-0092-in.jsonld",
+      "expect": "toRdf-0092-out.nq"
+    }, {
+      "@id": "#t0093",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand absolute IRI with @type: @vocab",
+      "input": "toRdf-0093-in.jsonld",
+      "expect": "toRdf-0093-out.nq"
+    }, {
+      "@id": "#t0094",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand term with @type: @vocab",
+      "input": "toRdf-0094-in.jsonld",
+      "expect": "toRdf-0094-out.nq"
+    }, {
+      "@id": "#t0095",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand @vocab-relative term with @type: @vocab",
+      "input": "toRdf-0095-in.jsonld",
+      "expect": "toRdf-0095-out.nq"
+    }, {
+      "@id": "#t0096",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Use terms with @type: @vocab but not with @type: @id",
+      "input": "toRdf-0096-in.jsonld",
+      "expect": "toRdf-0096-out.nq"
+    }, {
+      "@id": "#t0097",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand relative IRI with @type: @vocab",
+      "input": "toRdf-0097-in.jsonld",
+      "expect": "toRdf-0097-out.nq"
+    }, {
+      "@id": "#t0098",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand compact IRI with @type: @vocab",
+      "input": "toRdf-0098-in.jsonld",
+      "expect": "toRdf-0098-out.nq"
+    }, {
+      "@id": "#t0099",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Reset @vocab by setting it to null",
+      "input": "toRdf-0099-in.jsonld",
+      "expect": "toRdf-0099-out.nq"
+    }, {
+      "@id": "#t0100",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Overwrite document base with @base and reset it again",
+      "input": "toRdf-0100-in.jsonld",
+      "expect": "toRdf-0100-out.nq"
+    }, {
+      "@id": "#t0101",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Coercing native types to arbitrary datatypes",
+      "input": "toRdf-0101-in.jsonld",
+      "expect": "toRdf-0101-out.nq"
+    }, {
+      "@id": "#t0102",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Various relative IRIs with with @base",
+      "input": "toRdf-0102-in.jsonld",
+      "expect": "toRdf-0102-out.nq"
+    }, {
+      "@id": "#t0103",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand a reverse property with an index-container",
+      "input": "toRdf-0103-in.jsonld",
+      "expect": "toRdf-0103-out.nq"
+    }, {
+      "@id": "#t0104",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Expand reverse property whose values are unlabeled blank nodes",
+      "input": "toRdf-0104-in.jsonld",
+      "expect": "toRdf-0104-out.nq"
+    }, {
+      "@id": "#t0105",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Keys that are not mapped to an IRI in a reverse-map are dropped",
+      "input": "toRdf-0105-in.jsonld",
+      "expect": "toRdf-0105-out.nq"
+    }, {
+      "@id": "#t0106",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Use @vocab to expand keys in reverse-maps",
+      "input": "toRdf-0106-in.jsonld",
+      "expect": "toRdf-0106-out.nq"
+    }, {
+      "@id": "#t0107",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "prefix:suffix values are not interpreted as compact IRIs if suffix begins with two slashes",
+      "input": "toRdf-0107-in.jsonld",
+      "expect": "toRdf-0107-out.nq"
+    }, {
+      "@id": "#t0108",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "prefix:suffix values are not interpreted as compact IRIs if prefix is an underscore",
+      "input": "toRdf-0108-in.jsonld",
+      "expect": "toRdf-0108-out.nq"
+    }, {
+      "@id": "#t0109",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Redefine compact IRI to define type mapping using the compact IRI itself as value of @id",
+      "input": "toRdf-0109-in.jsonld",
+      "expect": "toRdf-0109-out.nq"
+    }, {
+      "@id": "#t0110",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Redefine compact IRI to define type mapping using the compact IRI itself as string value",
+      "input": "toRdf-0110-in.jsonld",
+      "expect": "toRdf-0110-out.nq"
+    }, {
+      "@id": "#t0111",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Redefine terms looking like compact IRIs",
+      "input": "toRdf-0111-in.jsonld",
+      "expect": "toRdf-0111-out.nq"
+    }, {
+      "@id": "#t0112",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ToRDFTest"],
+      "name": "Redefine term using @vocab, not itself",
+      "input": "toRdf-0112-in.jsonld",
+      "expect": "toRdf-0112-out.nq"
     }
   ]
 }