Update earl reports with latest version of gem and updated template.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Tue, 06 Aug 2013 13:13:46 -0700
changeset 1844 da14d4e4ce70
parent 1843 f4b77ca0c196
child 1845 3144614ae971
Update earl reports with latest version of gem and updated template.
This addresses the issue noted in commit 5abcf946faef5578a4cc4e4931470d8c3454e4f8
test-suite/reports/earl.jsonld
test-suite/reports/earl.ttl
test-suite/reports/index.html
test-suite/reports/template.haml
--- a/test-suite/reports/earl.jsonld	Tue Aug 06 17:57:46 2013 +0200
+++ b/test-suite/reports/earl.jsonld	Tue Aug 06 13:13:46 2013 -0700
@@ -119,11 +119,11 @@
     "language": "Ruby",
     "license": "http://unlicense.org",
     "release": {
-      "@id": "https://github.com/gkellogg/earl-report/tree/0.2.4",
+      "@id": "https://github.com/gkellogg/earl-report/tree/0.2.5",
       "@type": "doap:Version",
-      "name": "earl-report-0.2.4",
-      "created": "2013-05-17",
-      "revision": "0.2.4"
+      "name": "earl-report-0.2.5",
+      "created": "2013-08-06",
+      "revision": "0.2.5"
     },
     "developer": {
       "@type": "foaf:Person",
@@ -258,3413 +258,11 @@
   ],
   "entries": [
     {
-      "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld",
-      "@type": [
-        "earl:Report",
-        "mf:Manifest"
-      ],
-      "title": "JSON-LD flatten tests use object compare",
-      "entries": [
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "id",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0001-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0001-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "basic",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0002-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0002-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "drop null and unmapped properties",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0003-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0003-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "optimize @set, keep empty arrays",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0004-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0004-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "do not expand aliased @id/@type",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0005-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0005-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "alias keywords",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0006-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0006-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "date type-coercion",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0007-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0007-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "@value with @language",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0008-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0008-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "@graph with terms",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0009-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0009-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "native types",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0010-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0010-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "coerced @id",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0011-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0011-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "@graph with embed",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0012-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0012-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "flatten already expanded",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0013-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0013-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "@set of @value objects with keyword aliases",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0014-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0014-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "collapse set of sets, keep empty lists",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0015-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0015-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "context reset",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0016-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0016-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "@graph and @id aliased",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0017-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0017-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "override default @language in terms; only language-tag strings",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0018-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0018-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "remove @value = null",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0019-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0019-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "do not remove @graph if not at top-level",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0020-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0020-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "do not remove @graph at top-level if not only property",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0021-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0021-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "flatten value with default language",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0022-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0022-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Flattening lists and sets with properties having coercion coerces list/set values",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0023-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0023-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Multiple contexts",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0024-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0024-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Problematic IRI flattening tests",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0025-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0025-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Flattening term mapping to @type uses @type syntax",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0026-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0026-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Keep duplicate values in @list but remove them in @set",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0027-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0027-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Use @vocab in properties and @type but not in @id",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0028-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0028-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Relative IRIs",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0029-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Language maps",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0030-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0030-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "type-coercion of native types",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0031-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0031-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Mapping a term to null decouples it from @vocab",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0032-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0032-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Using @vocab with with type-coercion",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0033-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0033-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Multiple properties expanding to the same IRI",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0034-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0034-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Using language maps with @vocab, a default language, and a colliding property",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0035-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0035-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Flattening @index",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0036-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0036-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Flattening reverse properties",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0037-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0037-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Ensure all blank nodes are relabeled when flattening.",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0038-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0038-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Flattening reverse properties using blank nodes",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0039-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0039-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#FlattenTest"
-          ],
-          "title": "Only invoke language and index map expansion if the value is a JSON object",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0040-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0040-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#ExpandTest"
-          ],
-          "title": "Free-floating sets and lists",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0041-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0041-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#ExpandTest"
-          ],
-          "title": "Lists objects are implicit unlabeled blank nodes and thus never equivalent",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0042-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:earl:passed"
-              },
-              "assertedBy": "http://tristan.github.com/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://greggkellogg.net/foaf#me"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "https://github.com/dlongley"
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:automatic",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:passed"
-              },
-              "assertedBy": "http://me.markus-lanthaler.com/"
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0042-out.jsonld"
-        },
-        {
-          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-          "@type": [
-            "earl:TestCriterion",
-            "earl:TestCase",
-            "http://json-ld.org/test-suite/vocab#ExpandTest"
-          ],
-          "title": "Sample test manifest extract",
-          "testAction": "http://json-ld.org/test-suite/tests/flatten-0043-in.jsonld",
-          "assertions": [
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "http://github.com/jsonld-java/jsonld-java",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "http://rubygems.org/gems/json-ld",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "https://github.com/digitalbazaar/jsonld.js",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "https://github.com/digitalbazaar/php-json-ld",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "https://github.com/digitalbazaar/pyld",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            },
-            {
-              "@type": "earl:Assertion",
-              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043",
-              "subject": "https://github.com/lanthaler/JsonLD",
-              "mode": "earl:notAvailable",
-              "result": {
-                "@type": "earl:TestResult",
-                "outcome": "earl:untested"
-              }
-            }
-          ],
-          "testResult": "http://json-ld.org/test-suite/tests/flatten-0043-out.jsonld"
-        }
-      ]
-    },
-    {
       "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld",
       "@type": [
         "earl:Report",
         "mf:Manifest"
       ],
-      "title": "JSON-LD to Compaction tests use object compare",
       "entries": [
         {
           "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001",
@@ -3743,6 +341,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Unreferenced nodes not containing properties are dropped",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0001-out.jsonld"
         },
         {
@@ -3822,6 +421,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Basic term and value compaction",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0002-out.jsonld"
         },
         {
@@ -3901,6 +501,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Properties mapped to null or which are never mapped are dropped",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0003-out.jsonld"
         },
         {
@@ -3980,6 +581,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Containers mapped to @set keep empty arrays",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0004-out.jsonld"
         },
         {
@@ -4059,6 +661,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact uses prefixes in @type",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0005-out.jsonld"
         },
         {
@@ -4138,6 +741,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Values not matching a coerced @type remain in expanded form",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0006-out.jsonld"
         },
         {
@@ -4217,6 +821,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "External context is added to the compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0007-out.jsonld"
         },
         {
@@ -4296,6 +901,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Aliases for keywords are used in compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0008-out.jsonld"
         },
         {
@@ -4375,6 +981,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Value with @id is compacted to string if property cast to @id",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0009-out.jsonld"
         },
         {
@@ -4454,6 +1061,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "An array of objects is serialized with @graph",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0010-out.jsonld"
         },
         {
@@ -4533,6 +1141,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Expanded value with type xsd:dateTime is represented as string with type coercion",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0011-out.jsonld"
         },
         {
@@ -4612,6 +1221,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Native values are unmodified during compaction",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0012-out.jsonld"
         },
         {
@@ -4691,6 +1301,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Values with @language remain in expended form by default",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0013-out.jsonld"
         },
         {
@@ -4770,6 +1381,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Aliasing @graph uses alias in compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0014-out.jsonld"
         },
         {
@@ -4849,6 +1461,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Property with values of different types use most appropriate term when compacting",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0015-out.jsonld"
         },
         {
@@ -4928,6 +1541,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compacting a document with mutliple embedded uses of @graph",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0016-out.jsonld"
         },
         {
@@ -5007,6 +1621,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Mapping a term to null causes the property and its values to be removed from the compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0017-out.jsonld"
         },
         {
@@ -5086,6 +1701,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Lists with values of different types use best term in compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0018-out.jsonld"
         },
         {
@@ -5165,6 +1781,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Duplicate values in @list or @set are retained in compacted document",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0019-out.jsonld"
         },
         {
@@ -5244,6 +1861,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "A term with @container: @list is also used as the value of an @id, if appropriate",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0020-out.jsonld"
         },
         {
@@ -5323,6 +1941,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "@vocab is used to create relative properties and types if no other term matches",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0021-out.jsonld"
         },
         {
@@ -5332,7 +1951,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Compact nested properties using @list containers",
+          "title": "@list compaction of nested properties",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0022-in.jsonld",
           "assertions": [
             {
@@ -5402,6 +2021,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact nested properties using @list containers",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0022-out.jsonld"
         },
         {
@@ -5411,7 +2031,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "@vocab takes precedence over prefixes - even if the result is longer",
+          "title": "prefer @vocab over compacted IRIs",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0023-in.jsonld",
           "assertions": [
             {
@@ -5481,6 +2101,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "@vocab takes precedence over prefixes - even if the result is longer",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0023-out.jsonld"
         },
         {
@@ -5490,7 +2111,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "The most specific term that matches all of the elements in the list, taking into account the default language, must be selected.",
+          "title": "most specific term matching in @list.",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0024-in.jsonld",
           "assertions": [
             {
@@ -5560,6 +2181,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "The most specific term that matches all of the elements in the list, taking into account the default language, must be selected.",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0024-out.jsonld"
         },
         {
@@ -5639,6 +2261,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Multiple values with different languages use language maps if property has @container: @language",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0025-out.jsonld"
         },
         {
@@ -5718,6 +2341,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Test appropriate property use given multiple choices",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0026-out.jsonld"
         },
         {
@@ -5727,7 +2351,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Fall back to term with @set container if term with language map is defined",
+          "title": "@container: @set with multiple values",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0027-in.jsonld",
           "assertions": [
             {
@@ -5797,6 +2421,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Fall back to term with @set container if term with language map is defined",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0027-out.jsonld"
         },
         {
@@ -5876,6 +2501,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Combination of keyword aliases and @vocab",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0028-out.jsonld"
         },
         {
@@ -5955,6 +2581,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Output uses index mapping if term is defined with @container: @index",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0029-out.jsonld"
         },
         {
@@ -5964,7 +2591,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Preserve @index tags if not compacted to an index map",
+          "title": "non-matching @container: @index",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0030-in.jsonld",
           "assertions": [
             {
@@ -6034,6 +2661,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Preserve @index tags if not compacted to an index map",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0030-out.jsonld"
         },
         {
@@ -6113,6 +2741,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact traverses through @reverse",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0031-out.jsonld"
         },
         {
@@ -6192,6 +2821,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact traverses through @reverse",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0032-out.jsonld"
         },
         {
@@ -6271,6 +2901,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "A reverse map is replaced with a matching property defined with @reverse",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0033-out.jsonld"
         },
         {
@@ -6280,7 +2911,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Do not use reverse property if no other property matches as normal property",
+          "title": "Skip property with @reverse if no match",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0034-in.jsonld",
           "assertions": [
             {
@@ -6350,6 +2981,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Do not use reverse property if no other property matches as normal property",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0034-out.jsonld"
         },
         {
@@ -6359,7 +2991,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Compact pure node references to strings for reverse properties",
+          "title": "Compact @reverse node references using strings",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0035-in.jsonld",
           "assertions": [
             {
@@ -6429,6 +3061,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact node references to strings for reverse properties using @type: @id",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0035-out.jsonld"
         },
         {
@@ -6508,6 +3141,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact using both reverse properties and index containers",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0036-out.jsonld"
         },
         {
@@ -6587,6 +3221,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact keys in @reverse using @vocab",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0037-out.jsonld"
         },
         {
@@ -6596,7 +3231,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Index map round-tripping (Drupal content deployment)",
+          "title": "Index map round-tripping",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0038-in.jsonld",
           "assertions": [
             {
@@ -6666,6 +3301,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Complext round-tripping use case from Drupal",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0038-out.jsonld"
         },
         {
@@ -6675,7 +3311,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Value of @graph is always an array",
+          "title": "@graph is array",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0039-in.jsonld",
           "assertions": [
             {
@@ -6745,6 +3381,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Value of @graph is always an array",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0039-out.jsonld"
         },
         {
@@ -6754,7 +3391,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Ensure that value of @list is always an array",
+          "title": "@list is array",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0040-in.jsonld",
           "assertions": [
             {
@@ -6824,6 +3461,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Ensure that value of @list is always an array",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0040-out.jsonld"
         },
         {
@@ -6833,7 +3471,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "If an index is present, a term having an @list container is not selected",
+          "title": "index rejects term having @list",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0041-in.jsonld",
           "assertions": [
             {
@@ -6903,6 +3541,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "If an index is present, a term having an @list container is not selected",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0041-out.jsonld"
         },
         {
@@ -6912,7 +3551,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Make sure keyword aliasing works if a list can't be compacted",
+          "title": "@list keyword aliasing",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0042-in.jsonld",
           "assertions": [
             {
@@ -6982,6 +3621,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Make sure keyword aliasing works if a list can't be compacted",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0042-out.jsonld"
         },
         {
@@ -6991,7 +3631,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Ensure that @vocab compaction isn't used if the result collides with a term",
+          "title": "select term over @vocab",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0043-in.jsonld",
           "assertions": [
             {
@@ -7061,6 +3701,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Ensure that @vocab compaction isn't used if the result collides with a term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0043-out.jsonld"
         },
         {
@@ -7070,7 +3711,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Prefer properties with @type: @vocab in reverse-maps if the value can be compacted to a term",
+          "title": "@type: @vocab in reverse-map",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0044-in.jsonld",
           "assertions": [
             {
@@ -7140,6 +3781,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Prefer properties with @type: @vocab in reverse-maps if the value can be compacted to a term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0044-out.jsonld"
         },
         {
@@ -7149,7 +3791,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Values of @id are transformed to relative IRIs, terms are ignored",
+          "title": "@id value uses relative IRI, not term",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0045-in.jsonld",
           "assertions": [
             {
@@ -7219,6 +3861,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Values of @id are transformed to relative IRIs, terms are ignored",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0045-out.jsonld"
         },
         {
@@ -7228,7 +3871,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Wrap top-level array into @graph even if no context is passed",
+          "title": "multiple objects without @context use @graph",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0046-in.jsonld",
           "assertions": [
             {
@@ -7298,6 +3941,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Wrap top-level array into @graph even if no context is passed",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0046-out.jsonld"
         },
         {
@@ -7376,6 +4020,7 @@
               }
             }
           ],
+          "description": "Relative URLs remain relative after compaction",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0047-out.jsonld"
         },
         {
@@ -7385,7 +4030,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Prefer terms with a language mapping set to null over terms without language-mapping for non-strings",
+          "title": "term with @language: null",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0048-in.jsonld",
           "assertions": [
             {
@@ -7455,6 +4100,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Prefer terms with a language mapping set to null over terms without language-mapping for non-strings",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0048-out.jsonld"
         },
         {
@@ -7534,9 +4180,84 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "List compaction without @container: @list still uses strings if @type: @id",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0049-out.jsonld"
         },
         {
+          "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#CompactTest"
+          ],
+          "title": "Reverse properties require @type: @id to use string values",
+          "testAction": "http://json-ld.org/test-suite/tests/compact-0050-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Node references in reverse properties are not compacted to strings without explicit type-coercion",
+          "testResult": "http://json-ld.org/test-suite/tests/compact-0050-out.jsonld"
+        },
+        {
           "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051",
           "@type": [
             "earl:TestCriterion",
@@ -7613,6 +4334,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Native values survive round-tripping with @list",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0051-out.jsonld"
         },
         {
@@ -7692,6 +4414,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Native values survive round-tripping with @list and @graph alias",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0052-out.jsonld"
         },
         {
@@ -7701,7 +4424,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Compact to @type: @vocab when no @type: @id term available",
+          "title": "Use @type: @vocab if no @type: @id",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0053-in.jsonld",
           "assertions": [
             {
@@ -7771,6 +4494,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact to @type: @vocab when no @type: @id term available",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0053-out.jsonld"
         },
         {
@@ -7850,6 +4574,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact to @type: @vocab and compact @id to term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0054-out.jsonld"
         },
         {
@@ -7929,6 +4654,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compacting IRI value of property with @type: @vocab can use term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0055-out.jsonld"
         },
         {
@@ -8008,6 +4734,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compacting IRI value of property with @type: @vocab can use term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0056-out.jsonld"
         },
         {
@@ -8087,6 +4814,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compacting IRI value of property with @type: @vocab can use term; more complex",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0057-out.jsonld"
         },
         {
@@ -8166,6 +4894,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Choose a term having @type: @id over @type: @value if value is not a term",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0058-out.jsonld"
         },
         {
@@ -8175,7 +4904,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "If there's no term with @type: @id, use terms with @type: @vocab for IRIs not mapped to terms",
+          "title": "Term with @type: @vocab if no @type: @id",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0059-in.jsonld",
           "assertions": [
             {
@@ -8245,6 +4974,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "If there's no term with @type: @id, use terms with @type: @vocab for IRIs not mapped to terms",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0059-out.jsonld"
         },
         {
@@ -8254,7 +4984,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "If there's no term with @type: @vocab, use terms with @type: @id for IRIs mapped to terms",
+          "title": "Term with @type: @id if no @type: @vocab and term value",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0060-in.jsonld",
           "assertions": [
             {
@@ -8324,6 +5054,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "If there's no term with @type: @vocab, use terms with @type: @id for IRIs mapped to terms",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0060-out.jsonld"
         },
         {
@@ -8333,7 +5064,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Separate IRIs for the same property to use term with more specific @type (@id vs. @vocab)",
+          "title": "@type: @vocab/@id with values matching either",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0061-in.jsonld",
           "assertions": [
             {
@@ -8403,6 +5134,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Separate IRIs for the same property to use term with more specific @type (@id vs. @vocab)",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0061-out.jsonld"
         },
         {
@@ -8412,7 +5144,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Relative IRIs don't round-trip with @type: @vocab",
+          "title": "@type: @vocab and relative IRIs",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0062-in.jsonld",
           "assertions": [
             {
@@ -8482,6 +5214,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Relative IRIs don't round-trip with @type: @vocab",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0062-out.jsonld"
         },
         {
@@ -8561,6 +5294,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Term with @type: @vocab will use compact IRIs",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0063-out.jsonld"
         },
         {
@@ -8640,6 +5374,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Given values with both @index and @language and term index-map term, use index map",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0064-out.jsonld"
         },
         {
@@ -8649,7 +5384,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Language-tagged and indexed strings don't compact to language-map",
+          "title": "Language-tagged and indexed strings with language-map",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0065-in.jsonld",
           "assertions": [
             {
@@ -8719,6 +5454,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Language-tagged and indexed strings don't compact to language-map",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0065-out.jsonld"
         },
         {
@@ -8798,6 +5534,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Complex use cases for relative IRI compaction",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0066-out.jsonld"
         },
         {
@@ -8807,7 +5544,7 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#CompactTest"
           ],
-          "title": "Compact reverse property whose values are unlabeled blank nodes",
+          "title": "Reverse properties with blank nodes",
           "testAction": "http://json-ld.org/test-suite/tests/compact-0067-in.jsonld",
           "assertions": [
             {
@@ -8877,9 +5614,1511 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "description": "Compact reverse property whose values are unlabeled blank nodes",
           "testResult": "http://json-ld.org/test-suite/tests/compact-0067-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#CompactTest"
+          ],
+          "title": "Single value reverse properties",
+          "testAction": "http://json-ld.org/test-suite/tests/compact-0068-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Single values of reverse properties are compacted as values of ordinary properties",
+          "testResult": "http://json-ld.org/test-suite/tests/compact-0068-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#CompactTest"
+          ],
+          "title": "Single value reverse properties with @set",
+          "testAction": "http://json-ld.org/test-suite/tests/compact-0069-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Single values are kept in array form for reverse properties if the container is to @set",
+          "testResult": "http://json-ld.org/test-suite/tests/compact-0069-out.jsonld"
         }
-      ]
+      ],
+      "title": "Compaction",
+      "description": "JSON-LD compaction tests use object comparison."
+    },
+    {
+      "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld",
+      "@type": [
+        "earl:Report",
+        "mf:Manifest"
+      ],
+      "entries": [
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Object Lists",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0001-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Tests generation using different types of objects.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0001-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Native Types",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0002-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Use native datatypes, where possible.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0002-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "BNodes and references",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0003-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "BNode name generation and references between resources.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0003-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Lists",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0004-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Multiple lists with different types of element.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0004-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Document with list",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0005-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Uses a named graph containing a list.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0005-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Two graphs having same subject but different values",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0006-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Ensure that properties and list elements aren't confused between graphs.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0006-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Graph with multiple named graphs",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0007-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "description": "Testing @graph recursion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0007-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Conversion of lists of lists (the triples in the input are only partially ordered on purpose)",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0008-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0008-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Preserve IRI list nodes (i.e., not blank nodes) when converting to @list",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0009-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0009-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Do not convert lists that are not terminated by rdf:nil to @list",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0010-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0010-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "If additional properties are associated to a list node, the list is only partially converted to @list",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0011-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0011-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Detect lists containing cycles and do not convert them to @list",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0012-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0012-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Do not convert list nodes to @list if nodes contain more than one value for rdf:first",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0013-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0013-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Do not convert list nodes to @list if nodes contain more than one value for rdf:rest",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0014-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0014-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Do not convert lists to @list if a list node's rdf:rest is not an IRI",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0015-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0015-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "List nodes may have a rdf:type rdf:List",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0016-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Testing list conversion.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0016-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FromRDFTest"
+          ],
+          "title": "Equal triples are used only once",
+          "testAction": "http://json-ld.org/test-suite/tests/fromRdf-0017-in.nq",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "description": "Conversion from RDF.",
+          "testResult": "http://json-ld.org/test-suite/tests/fromRdf-0017-out.jsonld"
+        }
+      ],
+      "title": "Deserialize RDF to JSON-LD",
+      "description": "Deserialize RDF to JSON-LD tests take N-Quads input and use object comparison."
     },
     {
       "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld",
@@ -8887,7 +7126,6 @@
         "earl:Report",
         "mf:Manifest"
       ],
-      "title": "JSON-LD to Expansion tests use object compare",
       "entries": [
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001",
@@ -13636,8 +11874,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "Various relative IRIs with with @base",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0062-in.jsonld",
+          "title": "Coercing native types to arbitrary datatypes",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0061-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -13706,7 +11944,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0062-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0061-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062",
@@ -13715,8 +11953,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "Expand a reverse property with an index-container",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0063-in.jsonld",
+          "title": "Various relative IRIs with with @base",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0062-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -13785,7 +12023,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0063-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0062-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063",
@@ -13794,8 +12032,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "Expand reverse property whose values are unlabeled blank nodes",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0064-in.jsonld",
+          "title": "Expand a reverse property with an index-container",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0063-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -13864,7 +12102,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0064-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0063-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064",
@@ -13873,8 +12111,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "Keys that are not mapped to an IRI in a reverse-map are dropped",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0065-in.jsonld",
+          "title": "Expand reverse property whose values are unlabeled blank nodes",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0064-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -13943,7 +12181,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0065-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0064-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065",
@@ -13952,8 +12190,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "Use @vocab to expand keys in reverse-maps",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0066-in.jsonld",
+          "title": "Keys that are not mapped to an IRI in a reverse-map are dropped",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0065-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -14022,7 +12260,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0066-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0065-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066",
@@ -14031,8 +12269,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "prefix:suffix values are not interpreted as compact IRIs if suffix begins with two slashes",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0067-in.jsonld",
+          "title": "Use @vocab to expand keys in reverse-maps",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0066-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -14101,7 +12339,7 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
-          "testResult": "http://json-ld.org/test-suite/tests/expand-0067-out.jsonld"
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0066-out.jsonld"
         },
         {
           "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067",
@@ -14110,8 +12348,8 @@
             "earl:TestCase",
             "http://json-ld.org/test-suite/vocab#ExpandTest"
           ],
-          "title": "prefix:suffix values are not interpreted as compact IRIs if prefix is an underscore",
-          "testAction": "http://json-ld.org/test-suite/tests/expand-0068-in.jsonld",
+          "title": "prefix:suffix values are not interpreted as compact IRIs if suffix begins with two slashes",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0067-in.jsonld",
           "assertions": [
             {
               "@type": "earl:Assertion",
@@ -14180,6 +12418,79 @@
               "assertedBy": "http://me.markus-lanthaler.com/"
             }
           ],
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0067-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#ExpandTest"
+          ],
+          "title": "prefix:suffix values are not interpreted as compact IRIs if prefix is an underscore",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0068-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
           "testResult": "http://json-ld.org/test-suite/tests/expand-0068-out.jsonld"
         },
         {
@@ -14497,8 +12808,156 @@
             }
           ],
           "testResult": "http://json-ld.org/test-suite/tests/expand-0072-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#ExpandTest"
+          ],
+          "title": "Ensure that processors don't require that @context is first property",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0073-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0073-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#ExpandTest"
+          ],
+          "title": "Use @vocab to map all properties to blank node identifiers",
+          "testAction": "http://json-ld.org/test-suite/tests/expand-0075-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:notAvailable",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:untested"
+              }
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/expand-0075-out.jsonld"
         }
-      ]
+      ],
+      "title": "Expansion",
+      "description": "JSON-LD expansion tests use object comparison."
     },
     {
       "@id": "http://json-ld.org/test-suite/tests/error-expand-manifest.jsonld",
@@ -14506,7 +12965,6 @@
         "earl:Report",
         "mf:Manifest"
       ],
-      "title": "JSON-LD to Expansion tests use object compare",
       "entries": [
         {
           "@id": "http://json-ld.org/test-suite/tests/error-expand-manifest.jsonld#t0001",
@@ -14583,7 +13041,3411 @@
           ],
           "testResult": "http://json-ld.org/test-suite/tests/keyword redefinition"
         }
-      ]
+      ],
+      "title": "Expansion Error",
+      "description": "These expansion tests result in an error and are verified by comparing the error code."
+    },
+    {
+      "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld",
+      "@type": [
+        "earl:Report",
+        "mf:Manifest"
+      ],
+      "entries": [
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "id",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0001-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0001-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "basic",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0002-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0002-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "drop null and unmapped properties",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0003-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0003-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "optimize @set, keep empty arrays",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0004-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0004-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "do not expand aliased @id/@type",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0005-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0005-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "alias keywords",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0006-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0006-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "date type-coercion",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0007-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0007-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "@value with @language",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0008-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0008-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "@graph with terms",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0009-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0009-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "native types",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0010-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0010-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "coerced @id",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0011-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0011-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "@graph with embed",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0012-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0012-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "flatten already expanded",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0013-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0013-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "@set of @value objects with keyword aliases",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0014-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0014-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "collapse set of sets, keep empty lists",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0015-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0015-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "context reset",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0016-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0016-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "@graph and @id aliased",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0017-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0017-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "override default @language in terms; only language-tag strings",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0018-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0018-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "remove @value = null",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0019-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0019-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "do not remove @graph if not at top-level",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0020-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0020-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "do not remove @graph at top-level if not only property",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0021-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0021-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "flatten value with default language",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0022-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0022-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Flattening lists and sets with properties having coercion coerces list/set values",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0023-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0023-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Multiple contexts",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0024-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0024-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Problematic IRI flattening tests",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0025-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0025-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Flattening term mapping to @type uses @type syntax",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0026-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0026-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Keep duplicate values in @list but remove them in @set",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0027-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0027-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Use @vocab in properties and @type but not in @id",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0028-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0028-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Relative IRIs",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://greggkellogg.net/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "https://github.com/digitalbazaar/jsonld.js",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "https://github.com/digitalbazaar/php-json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "https://github.com/digitalbazaar/pyld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "https://github.com/dlongley"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029",
+              "subject": "https://github.com/lanthaler/JsonLD",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"
+              },
+              "assertedBy": "http://me.markus-lanthaler.com/"
+            }
+          ],
+          "testResult": "http://json-ld.org/test-suite/tests/flatten-0029-out.jsonld"
+        },
+        {
+          "@id": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
+          "@type": [
+            "earl:TestCriterion",
+            "earl:TestCase",
+            "http://json-ld.org/test-suite/vocab#FlattenTest"
+          ],
+          "title": "Language maps",
+          "testAction": "http://json-ld.org/test-suite/tests/flatten-0030-in.jsonld",
+          "assertions": [
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
+              "subject": "http://github.com/jsonld-java/jsonld-java",
+              "mode": "earl:earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:earl:passed"
+              },
+              "assertedBy": "http://tristan.github.com/foaf#me"
+            },
+            {
+              "@type": "earl:Assertion",
+              "test": "http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030",
+              "subject": "http://rubygems.org/gems/json-ld",
+              "mode": "earl:automatic",
+              "result": {
+                "@type": "earl:TestResult",
+                "outcome": "earl:passed"