Use new expansion output in tests, add new expansion tests.
authorDave Longley <dlongley@digitalbazaar.com>
Fri, 23 Mar 2012 21:33:42 -0400
changeset 378 5234e330a471
parent 377 a55af4cf6f9f
child 379 85274934a3e3
Use new expansion output in tests, add new expansion tests.
test-suite/tests/expand-0001-in.jsonld
test-suite/tests/expand-0001-out.jsonld
test-suite/tests/expand-0002-in.jsonld
test-suite/tests/expand-0002-out.jsonld
test-suite/tests/expand-0003-in.jsonld
test-suite/tests/expand-0003-out.jsonld
test-suite/tests/expand-0004-in.jsonld
test-suite/tests/expand-0004-out.jsonld
test-suite/tests/expand-0005-in.jsonld
test-suite/tests/expand-0005-out.jsonld
test-suite/tests/expand-0006-in.jsonld
test-suite/tests/expand-0006-out.jsonld
test-suite/tests/expand-0007-in.jsonld
test-suite/tests/expand-0007-out.jsonld
test-suite/tests/expand-0008-in.jsonld
test-suite/tests/expand-0008-out.jsonld
test-suite/tests/expand-0009-in.jsonld
test-suite/tests/expand-0009-out.jsonld
test-suite/tests/expand-0010-in.jsonld
test-suite/tests/expand-0010-out.jsonld
test-suite/tests/expand-0011-in.jsonld
test-suite/tests/expand-0011-out.jsonld
test-suite/tests/expand-0012-in.jsonld
test-suite/tests/expand-0012-out.jsonld
test-suite/tests/expand-manifest.jsonld
--- a/test-suite/tests/expand-0001-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0001-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,3 +1,1 @@
-{
-  "@id": "http://example.org/test#example"
-}
\ No newline at end of file
+{"@id": "http://example.org/test#example"}
\ No newline at end of file
--- a/test-suite/tests/expand-0001-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0001-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,3 +1,1 @@
-{
-  "@id": "http://example.org/test#example"
-}
\ No newline at end of file
+[{"@id": "http://example.org/test#example"}]
\ No newline at end of file
--- a/test-suite/tests/expand-0002-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0002-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,39 +1,19 @@
 {
   "@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#"
+    "id1": "http://example.com/id1",
+    "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": [
-    {
-      "@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"
-      }
-    }
-  ]
+  "@id": "id1",
+  "@type": "t1",
+  "term1": "v1",
+  "term2": {"@value": "v2", "@type": "t2"},
+  "term3": {"@value": "v3", "@language": "en"},
+  "term4": 4,
+  "term5": [50, 51]
 }
\ No newline at end of file
--- a/test-suite/tests/expand-0002-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0002-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,31 +1,9 @@
-{
-  "@id": [
-    {
-      "@id": "http://example.org/test#chapter",
-      "http://purl.org/dc/elements/1.1/description": "Fun",
-      "http://purl.org/dc/elements/1.1/title": "Chapter One"
-    },
-    {
-      "@id": "http://example.org/test#jane",
-      "http://example.org/vocab#authored": {
-        "@id": "http://example.org/test#chapter"
-      },
-      "http://xmlns.com/foaf/0.1/name": "Jane"
-    },
-    {
-      "@id": "http://example.org/test#john",
-      "http://xmlns.com/foaf/0.1/name": "John"
-    },
-    {
-      "@id": "http://example.org/test#library",
-      "http://example.org/vocab#contains": {
-        "@id": "http://example.org/test#book",
-        "http://example.org/vocab#contains": {
-          "@id": "http://example.org/test#chapter"
-        },
-        "http://purl.org/dc/elements/1.1/contributor": "Writer",
-        "http://purl.org/dc/elements/1.1/title": "My Book"
-      }
-    }
-  ]
-}
\ No newline at end of file
+[{
+  "@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
--- a/test-suite/tests/expand-0003-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0003-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,13 +1,12 @@
 {
-  "@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"
+  "@id": "http://example.org/id",
+  "http://example.org/property": null,
+  "regularJson": {
+    "nonJsonLd": "property",
+    "deep": [{
+      "foo": "bar"
+    }, {
+      "bar": "foo"
+    }]
+  }
 }
\ No newline at end of file
--- a/test-suite/tests/expand-0003-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0003-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,7 +1,3 @@
-{
-  "@id": "http://example.org/test#book",
-  "http://example.org/vocab#contains": {
-    "@id": "http://example.org/test#chapter"
-  },
-  "http://purl.org/dc/elements/1.1/title": "Title"
-}
\ No newline at end of file
+[{
+  "@id": "http://example.org/id"
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0004-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0004-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,18 +1,17 @@
 {
   "@context": {
-    "ex": "http://example.org/vocab#",
-    "ex:date": {
-      "@type": "xsd:dateTime"
-    },
-    "ex:parent": {
-      "@type": "@id"
-    },
-    "xsd": "http://www.w3.org/2001/XMLSchema#"
+    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},
+    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},
+    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}
   },
-  "@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"
-  }
+  "@id": "http://example.org/id",
+  "mylist1": {"@list": []},
+  "myset2": {"@set": []},
+  "myset3": ["v1"],
+  "http://example.org/list1": {"@list": []},
+  "http://example.org/list2": {"@list": [null]},
+  "http://example.org/set1": {"@set": []},
+  "http://example.org/set1": {"@set": [null]},
+  "http://example.org/set3": [],
+  "http://example.org/set4": [null]
 }
\ No newline at end of file
--- a/test-suite/tests/expand-0004-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0004-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,13 +1,12 @@
-{
-  "@id": "http://example.org/test#example1",
-  "http://example.org/vocab#date": {
-    "@value": "2011-01-25T00:00:00Z",
-    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
-  },
-  "http://example.org/vocab#embed": {
-    "@id": "http://example.org/test#example2",
-    "http://example.org/vocab#parent": {
-      "@id": "http://example.org/test#example1"
-    }
-  }
-}
\ No newline at end of file
+[{
+  "@id": "http://example.org/id",
+  "http://example.com/mylist1": {"@list": []},
+  "http://example.com/myset2": [],
+  "http://example.com/myset3": ["v1"],
+  "http://example.org/list1": {"@list": []},
+  "http://example.org/list2": {"@list": []},
+  "http://example.org/set1": [],
+  "http://example.org/set1": [],
+  "http://example.org/set3": [],
+  "http://example.org/set4": []
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0005-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0005-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,16 +1,23 @@
 {
   "@context": {
-    "d": "http://purl.org/dc/elements/1.1/",
-    "e": "http://example.org/vocab#",
-    "e:double-zero": {
-      "@type": "xsd:double"
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
     },
-    "f": "http://xmlns.com/foaf/0.1/",
-    "xsd": "http://www.w3.org/2001/XMLSchema#"
+    "know": "http://xmlns.com/foaf/0.1/knows",
+    "@iri": "@id"
   },
-  "@id": "http://example.org/test",
-  "e:bool": true,
-  "e:double": 1.23,
-  "e:double-zero": 0.0e0,
-  "e:int": 123
+  "@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
--- a/test-suite/tests/expand-0005-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0005-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,19 +1,18 @@
-{
-  "@id": "http://example.org/test",
-  "http://example.org/vocab#bool": {
-    "@value": "true",
-    "@type": "http://www.w3.org/2001/XMLSchema#boolean"
-  },
-  "http://example.org/vocab#double": {
-    "@value": "1.230000e+00",
-    "@type": "http://www.w3.org/2001/XMLSchema#double"
-  },
-  "http://example.org/vocab#double-zero": {
-    "@value": "0.000000e+00",
-    "@type": "http://www.w3.org/2001/XMLSchema#double"
-  },
-  "http://example.org/vocab#int": {
-    "@value": "123",
-    "@type": "http://www.w3.org/2001/XMLSchema#integer"
-  }
-}
+[{
+  "@id": "#me",
+  "http://xmlns.com/foaf/0.1/knows": [
+    {
+      "@id": "http://example.com/bob#me",
+      "http://xmlns.com/foaf/0.1/name": ["Bob"],
+      "http://xmlns.com/foaf/0.1/homepage": [{
+        "@id": "http://example.com/bob"
+      }]
+    }, {
+      "@id": "http://example.com/alice#me",
+      "http://xmlns.com/foaf/0.1/name": ["Alice"],
+      "http://xmlns.com/foaf/0.1/homepage": [{
+        "@id": "http://example.com/alice"
+      }]
+    }
+  ]
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0006-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0006-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,7 +1,20 @@
 {
-  "@id": "http://example.org/test",
-  "http://example.org/test#int": {
-    "@value": "123",
-    "@type": "http://www.w3.org/2001/XMLSchema#integer"
-  }
+  "@context": {
+    "http://example.org/test#property1": {
+      "@type": "uri"
+    },
+    "http://example.org/test#property2": {
+      "@type": "uri"
+    },
+    "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"
 }
\ No newline at end of file
--- a/test-suite/tests/expand-0006-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0006-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,7 +1,13 @@
-{
-  "@id": "http://example.org/test",
-  "http://example.org/test#int": {
-    "@value": "123",
-    "@type": "http://www.w3.org/2001/XMLSchema#integer"
-  }
-}
\ No newline at end of file
+[{
+  "@id": "http://example.org/test#example1",
+  "http://example.org/test#property1": [{
+    "@id": "http://example.org/test#example2",
+    "http://example.org/test#property4": ["foo"]
+  }],
+  "http://example.org/test#property2": [{
+    "@id": "http://example.org/test#example3"
+  }],
+  "http://example.org/test#property3": [{
+    "@id": "http://example.org/test#example4"
+  }]
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0007-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0007-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,10 +1,18 @@
 {
   "@context": {
-    "ex": "http://example.org/vocab#"
+    "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",
-  "ex:test": {
-    "@language": "en",
-    "@value": "test"
+  "@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
--- a/test-suite/tests/expand-0007-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0007-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,7 +1,13 @@
-{
-  "@id": "http://example.org/test",
-  "http://example.org/vocab#test": {
-    "@language": "en",
-    "@value": "test"
-  }
-}
\ No newline at end of file
+[{
+  "@id": "http://example.org/test#example1",
+  "http://example.org/vocab#date": [{
+    "@value": "2011-01-25T00:00:00Z",
+    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+  }],
+  "http://example.org/vocab#embed": [{
+    "@id": "http://example.org/test#example2",
+    "http://example.org/vocab#parent": [{
+      "@id": "http://example.org/test#example1"
+    }]
+  }]
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0008-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0008-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,20 +1,10 @@
 {
   "@context": {
-    "http://example.org/test#property1": {
-      "@type": "uri"
-    },
-    "http://example.org/test#property2": {
-      "@type": "uri"
-    },
-    "uri": "@id"
+    "ex": "http://example.org/vocab#"
   },
-  "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"
+  "@id": "http://example.org/test",
+  "ex:test": {
+    "@language": "en",
+    "@value": "test"
+  }
 }
\ No newline at end of file
--- a/test-suite/tests/expand-0008-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0008-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,13 +1,7 @@
-{
-  "@id": "http://example.org/test#example1",
-  "http://example.org/test#property1": {
-    "@id": "http://example.org/test#example2",
-    "http://example.org/test#property4": "foo"
-  },
-  "http://example.org/test#property2": {
-    "@id": "http://example.org/test#example3"
-  },
-  "http://example.org/test#property3": {
-    "@id": "http://example.org/test#example4"
-  }
-}
\ No newline at end of file
+[{
+  "@id": "http://example.org/test",
+  "http://example.org/vocab#test": [{
+    "@language": "en",
+    "@value": "test"
+  }]
+}]
\ No newline at end of file
--- a/test-suite/tests/expand-0009-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0009-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -15,7 +15,7 @@
       "@id": "http://purl.org/dc/elements/1.1/title"
     }
   },
-  "@id": [
+  "@graph": [
     {
       "@id": "http://example.org/test#chapter",
       "description": "Fun",
--- a/test-suite/tests/expand-0009-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0009-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,31 +1,29 @@
-{
-  "@id": [
-    {
-      "@id": "http://example.org/test#chapter",
-      "http://purl.org/dc/elements/1.1/description": "Fun",
-      "http://purl.org/dc/elements/1.1/title": "Chapter One"
-    },
-    {
-      "@id": "http://example.org/test#jane",
-      "http://example.org/vocab#authored": {
+[
+  {
+    "@id": "http://example.org/test#chapter",
+    "http://purl.org/dc/elements/1.1/description": ["Fun"],
+    "http://purl.org/dc/elements/1.1/title": ["Chapter One"]
+  },
+  {
+    "@id": "http://example.org/test#jane",
+    "http://example.org/vocab#authored": [{
+      "@id": "http://example.org/test#chapter"
+    }],
+    "http://xmlns.com/foaf/0.1/name": ["Jane"]
+  },
+  {
+    "@id": "http://example.org/test#john",
+    "http://xmlns.com/foaf/0.1/name": ["John"]
+  },
+  {
+    "@id": "http://example.org/test#library",
+    "http://example.org/vocab#contains": [{
+      "@id": "http://example.org/test#book",
+      "http://example.org/vocab#contains": [{
         "@id": "http://example.org/test#chapter"
-      },
-      "http://xmlns.com/foaf/0.1/name": "Jane"
-    },
-    {
-      "@id": "http://example.org/test#john",
-      "http://xmlns.com/foaf/0.1/name": "John"
-    },
-    {
-      "@id": "http://example.org/test#library",
-      "http://example.org/vocab#contains": {
-        "@id": "http://example.org/test#book",
-        "http://example.org/vocab#contains": {
-          "@id": "http://example.org/test#chapter"
-        },
-        "http://purl.org/dc/elements/1.1/contributor": "Writer",
-        "http://purl.org/dc/elements/1.1/title": "My Book"
-      }
-    }
-  ]
-}
\ No newline at end of file
+      }],
+      "http://purl.org/dc/elements/1.1/contributor": ["Writer"],
+      "http://purl.org/dc/elements/1.1/title": ["My Book"]
+    }]
+  }
+]
\ No newline at end of file
--- a/test-suite/tests/expand-0010-in.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0010-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,23 +1,11 @@
 {
   "@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"
+    "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": "#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"
-    }
-  ]
-}
+  "@id": "http://example.org/test",
+  "e:bool": true,
+  "e:int": 123
+}
\ No newline at end of file
--- a/test-suite/tests/expand-0010-out.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-0010-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,18 +1,5 @@
-{
-  "@id": "#me",
-  "http://xmlns.com/foaf/0.1/knows": [
-    {
-      "@id": "http://example.com/bob#me",
-      "http://xmlns.com/foaf/0.1/name": "Bob",
-      "http://xmlns.com/foaf/0.1/homepage": {
-        "@id": "http://example.com/bob"
-      }
-    }, {
-      "@id": "http://example.com/alice#me",
-      "http://xmlns.com/foaf/0.1/name": "Alice",
-      "http://xmlns.com/foaf/0.1/homepage": {
-        "@id": "http://example.com/alice"
-      }
-    }
-  ]
-}
+[{
+  "@id": "http://example.org/test",
+  "http://example.org/vocab#bool": [true],
+  "http://example.org/vocab#int": [123]
+}]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/expand-0011-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -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/expand-0011-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -0,0 +1,7 @@
+[{
+  "@id": "http://example.org/test#book",
+  "http://example.org/vocab#contains": [{
+    "@id": "http://example.org/test#chapter"
+  }],
+  "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/expand-0012-in.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -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/expand-0012-out.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -0,0 +1,29 @@
+[
+  {
+    "@id": "http://example.org/test#chapter",
+    "http://purl.org/dc/elements/1.1/description": ["Fun"],
+    "http://purl.org/dc/elements/1.1/title": ["Chapter One"]
+  },
+  {
+    "@id": "http://example.org/test#jane",
+    "http://example.org/vocab#authored": [{
+      "@id": "http://example.org/test#chapter"
+    }],
+    "http://xmlns.com/foaf/0.1/name": ["Jane"]
+  },
+  {
+    "@id": "http://example.org/test#john",
+    "http://xmlns.com/foaf/0.1/name": ["John"]
+  },
+  {
+    "@id": "http://example.org/test#library",
+    "http://example.org/vocab#contains": [{
+      "@id": "http://example.org/test#book",
+      "http://example.org/vocab#contains": [{
+        "@id": "http://example.org/test#chapter"
+      }],
+      "http://purl.org/dc/elements/1.1/contributor": ["Writer"],
+      "http://purl.org/dc/elements/1.1/title": ["My Book"]
+    }]
+  }
+]
\ No newline at end of file
--- a/test-suite/tests/expand-manifest.jsonld	Sun Mar 04 15:37:27 2012 -0500
+++ b/test-suite/tests/expand-manifest.jsonld	Fri Mar 23 21:33:42 2012 -0400
@@ -1,58 +1,68 @@
 {
-   "@context": "http://json-ld.org/test-suite/context.jsonld",
-   "@id": "",
-   "@type": "jld:Manifest",
-   "rdfs:comment": "JSON-LD to Expansion tests use object compare",
-   "name": "expand",
-   "sequence": [{
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "id",
-      "input": "expand-0001-in.jsonld",
-      "expect": "expand-0001-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "complex",
-      "input": "expand-0002-in.jsonld",
-      "expect": "expand-0002-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "coerced ex:contains",
-      "input": "expand-0003-in.jsonld",
-      "expect": "expand-0003-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "remove type-coercion context",
-      "input": "expand-0004-in.jsonld",
-      "expect": "expand-0004-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "native types",
-      "input": "expand-0005-in.jsonld",
-      "expect": "expand-0005-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "native expanded type",
-      "input": "expand-0006-in.jsonld",
-      "expect": "expand-0006-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "literal with language",
-      "input": "expand-0007-in.jsonld",
-      "expect": "expand-0007-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "alias keywords",
-      "input": "expand-0008-in.jsonld",
-      "expect": "expand-0008-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "terms",
-      "input": "expand-0009-in.jsonld",
-      "expect": "expand-0009-out.jsonld"
-   }, {
-      "@type": ["test:TestCase", "jld:ExpandTest"],
-      "name": "do not expand aliased @id/@type",
-      "input": "expand-0010-in.jsonld",
-      "expect": "expand-0010-out.jsonld"
-   }]
-}
+  "@context": "http://json-ld.org/test-suite/context.jsonld",
+  "@id": "",
+  "@type": "jld:Manifest",
+  "rdfs:comment": "JSON-LD to Expansion tests use object compare",
+  "name": "expand",
+  "sequence": [{
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "id",
+    "input": "expand-0001-in.jsonld",
+    "expect": "expand-0001-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "basic",
+    "input": "expand-0002-in.jsonld",
+    "expect": "expand-0002-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "drop null and unmapped properties",
+    "input": "expand-0003-in.jsonld",
+    "expect": "expand-0003-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "optimize @set, keep empty arrays",
+    "input": "expand-0004-in.jsonld",
+    "expect": "expand-0004-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "do not expand aliased @id/@type",
+    "input": "expand-0005-in.jsonld",
+    "expect": "expand-0005-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "alias keywords",
+    "input": "expand-0006-in.jsonld",
+    "expect": "expand-0006-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "date type-coercion",
+    "input": "expand-0007-in.jsonld",
+    "expect": "expand-0007-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "@value with @language",
+    "input": "expand-0008-in.jsonld",
+    "expect": "expand-0008-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "@graph with terms",
+    "input": "expand-0009-in.jsonld",
+    "expect": "expand-0009-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "native types",
+    "input": "expand-0010-in.jsonld",
+    "expect": "expand-0010-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "coerced @id",
+    "input": "expand-0011-in.jsonld",
+    "expect": "expand-0011-out.jsonld"
+  }, {
+    "@type": ["test:TestCase", "jld:ExpandTest"],
+    "name": "@graph with embed",
+    "input": "expand-0012-in.jsonld",
+    "expect": "expand-0012-out.jsonld"
+  }]
+}
\ No newline at end of file