Add static REC specs
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Fri, 10 Jan 2014 13:53:42 +0100
changeset 2069 fc62202eef85
parent 2068 85fa70be5f91
child 2070 5a01950886e3
Add static REC specs
spec/REC/json-ld-api/20140116/diff-20131105.html
spec/REC/json-ld-api/20140116/index.html
spec/REC/json-ld/20140116/diff-20131105.html
spec/REC/json-ld/20140116/index.html
spec/REC/json-ld/20140116/linked-data-graph.png
test-suite/reports/cr-20131022.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/REC/json-ld-api/20140116/diff-20131105.html	Fri Jan 10 13:53:42 2014 +0100
@@ -0,0 +1,34841 @@
+<html lang="en" dir="ltr" typeof="bibo:Document w3p:REC" about="" property="dcterms:language" content="en" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>JSON-LD 1.0 Processing Algorithms and API</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<style type="text/css">
+/*<![CDATA[*/
+  .highlight {
+    font-weight: bold;
+    color: #0a3;
+  }
+  .comment {
+    color: #999;
+  }
+  .error a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+  }
+  ol.algorithm {
+    counter-reset: numsection;
+    list-style-type: none;
+  }
+  ol.algorithm li {
+    margin: 0.5em 0;
+  }
+  ol.algorithm li:before {
+    font-weight: bold;
+    counter-increment: numsection;
+    content: counters(numsection, ".") ") ";
+  }
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- INLINES --- */
+em.rfc2119 {
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- EXAMPLES --- */
+div.example-title {
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.example-title span {
+    text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+    border-color: #e0cb52;
+    background: #fcfaee;
+}
+
+aside.example div.example {
+    border-left-width: .1em;
+    border-color: #999;
+    background: #fff;
+}
+aside.example div.example div.example-title {
+    color: #999;
+}
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 1em 1.2em 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- WEB IDL --- */
+pre.idl {
+    border-top: 1px solid #90b8de;
+    border-bottom: 1px solid #90b8de;
+    padding:    1em;
+    line-height:    120%;
+}
+
+pre.idl::before {
+    content:    "WebIDL";
+    display:    block;
+    width:      150px;
+    background: #90b8de;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+.idlType {
+    color:  #ff4500;
+    font-weight:    bold;
+    text-decoration:    none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID, .idlCallbackID, .idlEnumID {
+    font-weight:    bold;
+    color:  #005a9c;
+}
+a.idlEnumItem {
+    color:  #000;
+    border-bottom:  1px dotted #ccc;
+    text-decoration: none;
+}
+
+.idlSuperclass {
+    font-style: italic;
+    color:  #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+    color:  #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+    color:  #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType, .idlCallbackType {
+    color:  #005a9c;
+}
+.idlMethName {
+    color:  #ff4500;
+}
+.idlMethName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlCtor*/
+.idlCtorName {
+    color:  #ff4500;
+}
+.idlCtorName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+    color:  #005a9c;
+}
+.idlParamName, .idlDefaultValue {
+    font-style: italic;
+}
+
+.extAttr {
+    color:  #666;
+}
+
+/*.idlSectionComment*/
+.idlSectionComment {
+    color: gray;
+}
+
+/*.idlConst*/
+.idlConstType {
+    color:  #005a9c;
+}
+.idlConstName {
+    color:  #ff4500;
+}
+.idlConstName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+    font-weight:    bold;
+    color:  #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+    color:  #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+    color:  #c00;
+    font-weight:    normal;
+}
+
+.excName a {
+    font-family:    monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+    border-bottom:  1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+    width:  45px;
+    text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
+
+.idlImplements a {
+    font-weight:    bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.constructors, dl.fields, dl.dictionary-members {
+    margin-left:    2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .constructors dt, .fields dt, .dictionary-members dt {
+    font-weight:    normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .constructors dt code, .fields dt code, .dictionary-members dt code {
+    font-weight:    bold;
+    color:  #000;
+    font-family:    monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+    background:  #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+    color:  #005a9c;
+    background:  transparent;
+    font-family:    inherit;
+    font-weight:    normal;
+    font-style: italic;
+}
+
+.methods dt code {
+    background:  #d9e6f8;
+}
+
+.constants dt code {
+    background:  #ddffd2;
+}
+
+.constructors dt code {
+    background:  #cfc;
+}
+
+.attributes dd, .methods dd, .constants dd, .constructors dd, .fields dd, .dictionary-members dd {
+    margin-bottom:  1em;
+}
+
+table.parameters, table.exceptions {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    margin: 0.5em 0;
+    width:  100%;
+}
+table.parameters { border-bottom:  1px solid #90b8de; }
+table.exceptions { border-bottom:  1px solid #deb890; }
+
+.parameters th, .exceptions th {
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+    font-family:    initial;
+    font-weight:    normal;
+    text-shadow:    #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+    border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+    width:  100px;
+}
+
+.parameters td.prmType {
+    width:  120px;
+}
+
+table.exceptions table {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    width:  100%;
+}
+/*]]>*/
+</style>
+<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-REC" type="text/css" /><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]-->
+<style type='text/css'>
+.diff-old-a {
+  font-size: smaller;
+  color: red;
+}
+
+.diff-new { background-color: yellow; }
+.diff-chg { background-color: lime; }
+.diff-new:before,
+.diff-new:after
+    { content: "\2191" }
+.diff-chg:before, .diff-chg:after
+    { content: "\2195" }
+.diff-old { text-decoration: line-through; background-color: #FBB; }
+.diff-old:before,
+.diff-old:after
+    { content: "\2193" }
+:focus { border: thin red solid}
+</style>
+</head>
+<body class="h-entry" role="document" id="respecDocument">
+<div class="head" role="contentinfo" id="respecHeader">
+<p>
+<a href="http://www.w3.org/">
+<img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C" />
+</a>
+</p>
+<h1 class="title p-name" id="title" property="dcterms:title">
+JSON-LD
+1.0
+Processing
+Algorithms
+and
+API
+</h1>
+<h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-01-15T23:00:00.000Z" id="w3c-recommendation-16-january-2014">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+<del class="diff-old">Proposed
+</del>
+Recommendation
+<del class="diff-old">05
+November
+2013
+</del>
+<time class="dt-published" datetime="2014-01-16">
+<ins class="diff-chg">16
+January
+2014
+</ins>
+</time>
+</h2>
+<dl>
+<dt>
+This
+version:
+</dt>
+<dd>
+<del class="diff-old">http://www.w3.org/TR/2013/PR-json-ld-api-20131105/
+</del>
+<a class="u-url" href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/REC-json-ld-api-20140116/
+</ins>
+</a>
+</dd>
+<dt>
+Latest
+published
+version:
+</dt>
+<dd>
+<a href="http://www.w3.org/TR/json-ld-api/">
+http://www.w3.org/TR/json-ld-api/
+</a>
+</dd>
+<dt>
+<del class="diff-old">Latest
+editor's
+draft:
+http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld-api/index.html
+</del>
+Test
+suite:
+</dt>
+<dd>
+<a href="http://www.w3.org/2013/json-ld-tests/">
+http://www.w3.org/2013/json-ld-tests/
+</a>
+</dd>
+<dt>
+Previous
+version:
+</dt>
+<dd>
+<del class="diff-old">http://www.w3.org/TR/2013/CR-json-ld-api-20130910/
+</del>
+<a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/PR-json-ld-api-20131105/">
+<ins class="diff-chg">http://www.w3.org/TR/2013/PR-json-ld-api-20131105/
+</ins>
+</a>
+</dd>
+<dt>
+Editors:
+</dt>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
+Markus
+Lanthaler
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">
+Graz
+University
+of
+Technology
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
+Gregg
+Kellogg
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">
+Kellogg
+Associates
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">
+Manu
+Sporny
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+<dt>
+Authors:
+</dt>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">
+Dave
+Longley
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
+Gregg
+Kellogg
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">
+Kellogg
+Associates
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
+Markus
+Lanthaler
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">
+Graz
+University
+of
+Technology
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">
+Manu
+Sporny
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+</dl>
+<p>
+<ins class="diff-new">Please
+refer
+to
+the
+</ins><a href="http://www.w3.org/2014/json-ld-errata/#api"><strong><ins class="diff-new">
+errata
+</ins></strong></a><ins class="diff-new">
+for
+this
+document,
+which
+may
+include
+some
+normative
+corrections.
+</ins></p><p>
+This
+document
+is
+also
+available
+in
+this
+non-normative
+format:
+<a rel="alternate" href="diff-20131105.html">
+diff
+to
+previous
+version
+</a>
+</p>
+<p>
+<ins class="diff-new">The
+English
+version
+of
+this
+specification
+is
+the
+only
+normative
+version.
+Non-normative
+</ins><a href="http://www.w3.org/Consortium/Translation/"><ins class="diff-new">
+translations
+</ins></a><ins class="diff-new">
+may
+also
+be
+available.
+</ins>
+</p>
+<p class="copyright">
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">
+Copyright
+</a>

+<del class="diff-old">2010-2013
+</del>
+<ins class="diff-chg">2010-2014
+</ins>
+<a href="http://www.w3.org/">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+</a>
+<sup>

+</sup>
+(
+<a href="http://www.csail.mit.edu/">
+<abbr title="Massachusetts Institute of Technology">
+MIT
+</abbr>
+</a>,
+<a href="http://www.ercim.eu/">
+<abbr title="European Research Consortium for Informatics and Mathematics">
+ERCIM
+</abbr>
+</a>,
+<a href="http://www.keio.ac.jp/">
+Keio
+</a>,
+<a href="http://ev.buaa.edu.cn/">
+Beihang
+</a>
+),
+All
+Rights
+Reserved.
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">
+liability
+</a>,
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">
+trademark
+</a>
+and
+<a href="http://www.w3.org/Consortium/Legal/copyright-documents">
+document
+use
+</a>
+rules
+apply.
+</p>
+<hr />
+</div>
+<section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_abstract">
+Abstract
+</h2>
+<p>
+This
+specification
+defines
+a
+set
+of
+algorithms
+for
+programmatic
+transformations
+of
+JSON-LD
+documents.
+Restructuring
+data
+according
+to
+the
+defined
+transformations
+often
+dramatically
+simplifies
+its
+usage.
+Furthermore,
+this
+document
+proposes
+an
+Application
+Programming
+Interface
+(API)
+for
+developers
+implementing
+the
+specified
+algorithms.
+</p>
+</section>
+<section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_sotd">
+Status
+of
+This
+Document
+</h2>
+<p>
+<em>
+This
+section
+describes
+the
+status
+of
+this
+document
+at
+the
+time
+of
+its
+publication.
+Other
+documents
+may
+supersede
+this
+document.
+A
+list
+of
+current
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+publications
+and
+the
+latest
+revision
+of
+this
+technical
+report
+can
+be
+found
+in
+the
+<a href="http://www.w3.org/TR/">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+technical
+reports
+index
+</a>
+at
+http://www.w3.org/TR/.
+</em>
+</p>
+<p>
+This
+document
+has
+been
+<del class="diff-old">under
+development
+for
+over
+31
+months
+</del>
+<ins class="diff-chg">reviewed
+by
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+Members,
+by
+software
+developers,
+and
+by
+other
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+groups
+and
+interested
+parties,
+and
+is
+endorsed
+by
+the
+Director
+as
+a
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+Recommendation.
+It
+is
+a
+stable
+document
+and
+may
+be
+used
+as
+reference
+material
+or
+cited
+from
+another
+document.
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+'s
+role
+</ins>
+in
+<ins class="diff-new">making
+the
+Recommendation
+is
+to
+draw
+attention
+to
+the
+specification
+and
+to
+promote
+its
+widespread
+deployment.
+This
+enhances
+the
+functionality
+and
+interoperability
+of
+the
+Web.
+</ins></p><p><ins class="diff-new">
+This
+specification
+has
+been
+developed
+by
+</ins>
+the
+JSON
+for
+Linking
+Data
+Community
+<del class="diff-old">Group.
+The
+document
+</del>
+<ins class="diff-chg">Group
+before
+it
+</ins>
+has
+been
+transferred
+to
+the
+RDF
+Working
+Group
+for
+review,
+improvement,
+and
+publication
+along
+the
+Recommendation
+track.
+The
+<del class="diff-old">specification
+has
+undergone
+significant
+development,
+review,
+and
+</del>
+<ins class="diff-chg">document
+contains
+small
+editorial
+</ins>
+changes
+<ins class="diff-new">arising
+from
+comments
+received
+</ins>
+during
+the
+<del class="diff-old">course
+of
+</del>
+<ins class="diff-chg">Proposed
+Recommendation
+review;
+see
+</ins>
+the
+<del class="diff-old">last
+31
+months.
+</del>
+<a href="diff-20131105.html">
+<ins class="diff-chg">diff-marked
+version
+</ins></a><ins class="diff-chg">
+for
+details.
+</ins>
+</p>
+<p>
+There
+are
+several
+independent
+interoperable
+implementations
+of
+this
+specification.
+<del class="diff-old">There
+is
+a
+fairly
+complete
+test
+suite
+[
+JSON-LD-TESTS
+]
+and
+a
+live
+JSON-LD
+editor
+</del>
+<ins class="diff-chg">An
+</ins><a href="https://dvcs.w3.org/hg/json-ld/raw-file/default/test-suite/reports/cr-20131022.html"><ins class="diff-chg">
+implementation
+report
+</ins>
+</a>
+<del class="diff-old">that
+is
+capable
+</del>
+<ins class="diff-chg">as
+</ins>
+of
+<del class="diff-old">demonstrating
+the
+features
+described
+in
+this
+document.
+While
+there
+will
+be
+continuous
+development
+on
+implementations,
+the
+test
+suite,
+and
+the
+live
+editor,
+they
+are
+believed
+to
+be
+mature
+enough
+to
+be
+integrated
+into
+a
+non-production
+system
+at
+this
+point
+in
+time.
+There
+</del>
+<ins class="diff-chg">October&#160;2013
+</ins>
+is
+<del class="diff-old">an
+expectation
+that
+they
+could
+be
+used
+in
+a
+production
+system
+within
+the
+next
+two
+months.
+</del>
+<ins class="diff-chg">available.
+</ins>
+</p>
+<p>
+<del class="diff-old">Changes
+since
+the
+10&nbsp;September&nbsp;2013
+Candidate
+Recommendation
+:
+Fixed
+a
+bug
+that
+relabeled
+blank
+node
+identifiers
+used
+with
+reverse
+properties
+inconsistently
+when
+creating
+a
+node
+map
+.
+Made
+the
+API
+non-normative
+given
+that
+Promises
+are
+still
+not
+properly
+specified.
+</del>
+This
+document
+was
+published
+by
+the
+<a href="http://www.w3.org/2011/rdf-wg/">
+RDF
+Working
+Group
+</a>
+as
+a
+<del class="diff-old">Proposed
+Recommendation.
+This
+document
+is
+intended
+to
+become
+a
+W3C
+</del>
+Recommendation.
+<del class="diff-old">The
+W3C
+Membership
+and
+other
+interested
+parties
+are
+invited
+</del>
+<ins class="diff-chg">If
+you
+wish
+</ins>
+to
+<del class="diff-old">review
+the
+document
+and
+send
+</del>
+<ins class="diff-chg">make
+</ins>
+comments
+<ins class="diff-new">regarding
+this
+document,
+please
+send
+them
+</ins>
+to
+<a href="mailto:public-rdf-comments@w3.org">
+public-rdf-comments@w3.org
+</a>
+(
+<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">
+subscribe
+</a>,
+<a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">
+archives
+</a>
+<del class="diff-old">)
+through
+05
+December
+2013.
+Advisory
+Committee
+Representatives
+should
+consult
+their
+WBS
+questionnaires
+.
+Note
+that
+substantive
+technical
+</del>
+<ins class="diff-chg">).
+All
+</ins>
+comments
+<del class="diff-old">were
+expected
+during
+the
+Last
+Call
+review
+period
+that
+ended
+06
+June
+2013.
+Publication
+as
+a
+Proposed
+Recommendation
+does
+not
+imply
+endorsement
+by
+the
+W3C
+Membership.
+This
+is
+a
+draft
+document
+and
+may
+be
+updated,
+replaced
+or
+obsoleted
+by
+other
+documents
+at
+any
+time.
+It
+is
+inappropriate
+to
+cite
+this
+document
+as
+other
+than
+work
+in
+progress.
+</del>
+<ins class="diff-chg">are
+welcome.
+</ins>
+</p>
+<p>
+This
+document
+was
+produced
+by
+a
+group
+operating
+under
+the
+<a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">
+5
+February
+2004
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+Patent
+Policy
+</a>.
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+maintains
+a
+<a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">
+public
+list
+of
+any
+patent
+disclosures
+</a>
+made
+in
+connection
+with
+the
+deliverables
+of
+the
+group;
+that
+page
+also
+includes
+instructions
+for
+disclosing
+a
+patent.
+An
+individual
+who
+has
+actual
+knowledge
+of
+a
+patent
+which
+the
+individual
+believes
+contains
+<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
+Essential
+Claim(s)
+</a>
+must
+disclose
+the
+information
+in
+accordance
+with
+<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
+section
+6
+of
+the
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+Patent
+Policy
+</a>.
+</p>
+</section>
+<section id="toc">
+<h2 class="introductory" aria-level="1" role="heading" id="h2_toc">
+Table
+of
+Contents
+</h2>
+<ul class="toc" role="directory" id="respecContents">
+<li class="tocline">
+<a href="#introduction" class="tocxref">
+<span class="secno">
+1.
+</span>
+Introduction
+</a>
+</li>
+<li class="tocline">
+<a href="#features" class="tocxref">
+<span class="secno">
+2.
+</span>
+Features
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#expansion" class="tocxref">
+<span class="secno">
+2.1
+</span>
+Expansion
+</a>
+</li>
+<li class="tocline">
+<a href="#compaction" class="tocxref">
+<span class="secno">
+2.2
+</span>
+Compaction
+</a>
+</li>
+<li class="tocline">
+<a href="#flattening" class="tocxref">
+<span class="secno">
+2.3
+</span>
+Flattening
+</a>
+</li>
+<li class="tocline">
+<a href="#rdf-serialization-deserialization" class="tocxref">
+<span class="secno">
+2.4
+</span>
+RDF
+Serialization/Deserialization
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#conformance" class="tocxref">
+<span class="secno">
+3.
+</span>
+Conformance
+</a>
+</li>
+<li class="tocline">
+<a href="#general-terminology" class="tocxref">
+<span class="secno">
+4.
+</span>
+General
+Terminology
+</a>
+</li>
+<li class="tocline">
+<a href="#algorithm-terms" class="tocxref">
+<span class="secno">
+5.
+</span>
+Algorithm
+Terms
+</a>
+</li>
+<li class="tocline">
+<a href="#context-processing-algorithms" class="tocxref">
+<span class="secno">
+6.
+</span>
+Context
+Processing
+Algorithms
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#context-processing-algorithm" class="tocxref">
+<span class="secno">
+6.1
+</span>
+Context
+Processing
+Algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#create-term-definition" class="tocxref">
+<span class="secno">
+6.2
+</span>
+Create
+Term
+Definition
+</a>
+</li>
+<li class="tocline">
+<a href="#iri-expansion" class="tocxref">
+<span class="secno">
+6.3
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#expansion-algorithms" class="tocxref">
+<span class="secno">
+7.
+</span>
+Expansion
+Algorithms
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#expansion-algorithm" class="tocxref">
+<span class="secno">
+7.1
+</span>
+Expansion
+Algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#value-expansion" class="tocxref">
+<span class="secno">
+7.2
+</span>
+Value
+Expansion
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#compaction-algorithms" class="tocxref">
+<span class="secno">
+8.
+</span>
+Compaction
+Algorithms
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#compaction-algorithm" class="tocxref">
+<span class="secno">
+8.1
+</span>
+Compaction
+Algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#inverse-context-creation" class="tocxref">
+<span class="secno">
+8.2
+</span>
+Inverse
+Context
+Creation
+</a>
+</li>
+<li class="tocline">
+<a href="#iri-compaction" class="tocxref">
+<span class="secno">
+8.3
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+</a>
+</li>
+<li class="tocline">
+<a href="#term-selection" class="tocxref">
+<span class="secno">
+8.4
+</span>
+Term
+Selection
+</a>
+</li>
+<li class="tocline">
+<a href="#value-compaction" class="tocxref">
+<span class="secno">
+8.5
+</span>
+Value
+Compaction
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#flattening-algorithms" class="tocxref">
+<span class="secno">
+9.
+</span>
+Flattening
+Algorithms
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#flattening-algorithm" class="tocxref">
+<span class="secno">
+9.1
+</span>
+Flattening
+Algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#node-map-generation" class="tocxref">
+<span class="secno">
+9.2
+</span>
+Node
+Map
+Generation
+</a>
+</li>
+<li class="tocline">
+<a href="#generate-blank-node-identifier" class="tocxref">
+<span class="secno">
+9.3
+</span>
+Generate
+Blank
+Node
+Identifier
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#rdf-serialization-deserialization-algorithms" class="tocxref">
+<span class="secno">
+10.
+</span>
+RDF
+Serialization/Deserialization
+Algorithms
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#deserialize-json-ld-to-rdf-algorithm" class="tocxref">
+<span class="secno">
+10.1
+</span>
+Deserialize
+JSON-LD
+to
+RDF
+algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#object-to-rdf-conversion" class="tocxref">
+<span class="secno">
+10.2
+</span>
+Object
+to
+RDF
+Conversion
+</a>
+</li>
+<li class="tocline">
+<a href="#list-to-rdf-conversion" class="tocxref">
+<span class="secno">
+10.3
+</span>
+List
+to
+RDF
+Conversion
+</a>
+</li>
+<li class="tocline">
+<a href="#serialize-rdf-as-json-ld-algorithm" class="tocxref">
+<span class="secno">
+10.4
+</span>
+Serialize
+RDF
+as
+JSON-LD
+Algorithm
+</a>
+</li>
+<li class="tocline">
+<a href="#rdf-to-object-conversion" class="tocxref">
+<span class="secno">
+10.5
+</span>
+RDF
+to
+Object
+Conversion
+</a>
+</li>
+<li class="tocline">
+<a href="#data-round-tripping" class="tocxref">
+<span class="secno">
+10.6
+</span>
+Data
+Round
+Tripping
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#the-application-programming-interface" class="tocxref">
+<span class="secno">
+11.
+</span>
+The
+Application
+Programming
+Interface
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#the-jsonldprocessor-interface" class="tocxref">
+<span class="secno">
+11.1
+</span>
+The
+<span class="formerLink">
+<code>
+JsonLdProcessor
+</code>
+</span>
+Interface
+</a>
+</li>
+<li class="tocline">
+<a href="#the-jsonldoptions-type" class="tocxref">
+<span class="secno">
+11.2
+</span>
+The
+<span class="formerLink">
+<code>
+JsonLdOptions
+</code>
+</span>
+Type
+</a>
+</li>
+<li class="tocline">
+<a href="#remote-document-and-context-retrieval" class="tocxref">
+<span class="secno">
+11.3
+</span>
+Remote
+Document
+and
+Context
+Retrieval
+</a>
+</li>
+<li class="tocline">
+<a href="#error-handling" class="tocxref">
+<span class="secno">
+11.4
+</span>
+Error
+Handling
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#acknowledgements" class="tocxref">
+<span class="secno">
+A.
+</span>
+Acknowledgements
+</a>
+</li>
+<li class="tocline">
+<a href="#references" class="tocxref">
+<span class="secno">
+B.
+</span>
+References
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#normative-references" class="tocxref">
+<span class="secno">
+B.1
+</span>
+Normative
+references
+</a>
+</li>
+<li class="tocline">
+<a href="#informative-references" class="tocxref">
+<span class="secno">
+B.2
+</span>
+Informative
+references
+</a>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="informative" id="introduction">
+<h2 aria-level="1" role="heading" id="h2_introduction">
+<span class="secno">
+1.
+</span>
+Introduction
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+This
+document
+is
+a
+detailed
+specification
+of
+the
+JSON-LD
+processing
+algorithms.
+The
+document
+is
+primarily
+intended
+for
+the
+following
+audiences:
+</p>
+<ul>
+<li>
+Software
+developers
+who
+want
+to
+implement
+the
+algorithms
+to
+transform
+JSON-LD
+documents.
+</li>
+<li>
+Web
+authors
+and
+developers
+who
+want
+a
+very
+detailed
+view
+of
+how
+a
+<a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">
+JSON-LD
+Processor
+</a>
+operates.
+</li>
+<li>
+Developers
+who
+want
+an
+overview
+of
+the
+proposed
+JSON-LD
+API.
+</li>
+</ul>
+<p>
+To
+understand
+the
+basics
+in
+this
+specification
+you
+must
+first
+be
+familiar
+with
+JSON,
+which
+is
+detailed
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+You
+must
+also
+understand
+the
+JSON-LD
+syntax
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+],
+which
+is
+the
+base
+syntax
+used
+by
+all
+of
+the
+algorithms
+in
+this
+document.
+To
+understand
+the
+API
+and
+how
+it
+is
+intended
+to
+operate
+in
+a
+programming
+environment,
+it
+is
+useful
+to
+have
+working
+knowledge
+of
+the
+JavaScript
+programming
+language
+[
+<cite>
+<a class="bibref" href="#bib-ECMA-262">
+ECMA-262
+</a>
+</cite>
+]
+and
+WebIDL
+[
+<cite>
+<a class="bibref" href="#bib-WEBIDL">
+WEBIDL
+</a>
+</cite>
+].
+To
+understand
+how
+JSON-LD
+maps
+to
+RDF,
+it
+is
+helpful
+to
+be
+familiar
+with
+the
+basic
+RDF
+concepts
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</p>
+</section>
+<section class="informative" id="features">
+<h2 aria-level="1" role="heading" id="h2_features">
+<span class="secno">
+2.
+</span>
+Features
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+Syntax
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+]
+defines
+a
+syntax
+to
+express
+Linked
+Data
+in
+JSON.
+Because
+there
+is
+more
+than
+one
+way
+to
+express
+Linked
+Data
+using
+this
+syntax,
+it
+is
+often
+useful
+to
+be
+able
+to
+transform
+JSON-LD
+documents
+so
+that
+they
+may
+be
+more
+easily
+consumed
+by
+specific
+applications.
+</p>
+<p>
+JSON-LD
+uses
+<a class="tref internalDFN" title="context" href="#dfn-context">
+contexts
+</a>
+to
+allow
+Linked
+Data
+to
+be
+expressed
+in
+a
+way
+that
+is
+specifically
+tailored
+to
+a
+particular
+person
+or
+application.
+By
+providing
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>,
+JSON
+data
+can
+be
+expressed
+in
+a
+way
+that
+is
+a
+natural
+fit
+for
+a
+particular
+person
+or
+application
+whilst
+also
+indicating
+how
+the
+data
+should
+be
+understood
+at
+a
+global
+scale.
+In
+order
+for
+people
+or
+applications
+to
+share
+data
+that
+was
+created
+using
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+that
+is
+different
+from
+their
+own,
+a
+JSON-LD
+processor
+must
+be
+able
+to
+transform
+a
+document
+from
+one
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+to
+another.
+Instead
+of
+requiring
+JSON-LD
+processors
+to
+write
+specific
+code
+for
+every
+imaginable
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+switching
+scenario,
+it
+is
+much
+easier
+to
+specify
+a
+single
+algorithm
+that
+can
+remove
+any
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+Similarly,
+another
+algorithm
+can
+be
+specified
+to
+subsequently
+apply
+any
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+These
+two
+algorithms
+represent
+the
+most
+basic
+transformations
+of
+JSON-LD
+documents.
+They
+are
+referred
+to
+as
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expansion
+</a>
+and
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compaction
+</a>,
+respectively.
+</p>
+<p>
+There
+are
+four
+major
+types
+of
+transformation
+that
+are
+discussed
+in
+this
+document:
+expansion,
+compaction,
+flattening,
+and
+RDF
+serialization/deserialization.
+</p>
+<section class="informative" id="expansion">
+<h3 aria-level="2" role="heading" id="h3_expansion">
+<span class="secno">
+2.1
+</span>
+Expansion
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+algorithm
+that
+removes
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+called
+<dfn title="expansion" id="dfn-expansion">
+expansion
+</dfn>.
+Before
+performing
+any
+other
+transformations
+on
+a
+JSON-LD
+document,
+it
+is
+easiest
+to
+remove
+any
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+from
+it
+and
+to
+make
+data
+structures
+more
+regular.
+</p>
+<p>
+To
+get
+an
+idea
+of
+how
+context
+and
+data
+structuring
+affects
+the
+same
+data,
+here
+is
+an
+example
+of
+JSON-LD
+that
+uses
+only
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+and
+is
+fairly
+compact:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+1
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/"
+}
+</pre>
+</div>
+<p>
+The
+next
+input
+example
+uses
+one
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+express
+a
+property
+and
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+to
+encapsulate
+another,
+but
+leaves
+the
+rest
+of
+the
+information
+untouched.
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+2
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+using
+an
+IRI
+instead
+of
+a
+term
+to
+express
+a
+property
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    <span class="highlight">"website": "http://xmlns.com/foaf/0.1/homepage"</span>
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "<span class="highlight">http://xmlns.com/foaf/0.1/name</span>": "Markus Lanthaler",
+  <span class="highlight">"website"</span>: <span class="highlight">{ "@id":</span> "http://www.markus-lanthaler.com/" <span class="highlight">}</span>
+}
+</pre>
+</div>
+<p>
+Note
+that
+both
+inputs
+are
+valid
+JSON-LD
+and
+both
+represent
+the
+same
+information.
+The
+difference
+is
+in
+their
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+information
+and
+in
+the
+data
+structures
+used.
+A
+JSON-LD
+processor
+can
+remove
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+and
+ensure
+that
+the
+data
+is
+more
+regular
+by
+employing
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expansion
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+Expansion
+</a>
+has
+two
+important
+goals:
+removing
+any
+contextual
+information
+from
+the
+document,
+and
+ensuring
+all
+values
+are
+represented
+in
+a
+regular
+form.
+These
+goals
+are
+accomplished
+by
+expanding
+all
+properties
+to
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>
+and
+by
+expressing
+all
+values
+in
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>
+in
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>.
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+Expanded
+form
+</a>
+is
+the
+most
+verbose
+and
+regular
+way
+of
+expressing
+of
+values
+in
+JSON-LD;
+all
+contextual
+information
+from
+the
+document
+is
+instead
+stored
+locally
+with
+each
+value.
+Running
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>
+(
+<code class="idlMemberName">
+<a href= "#widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options">
+expand
+</a>
+</code>
+operation)
+against
+the
+above
+examples
+results
+in
+the
+following
+output:
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+3
+</ins></span>:<ins class="diff-chg">
+Expanded
+sample
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Note
+that
+in
+the
+output
+above
+all
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+definitions
+have
+been
+removed,
+all
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+and
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+have
+been
+expanded
+to
+absolute
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+and
+all
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>
+are
+expressed
+in
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>
+in
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>.
+While
+the
+output
+is
+more
+verbose
+and
+difficult
+for
+a
+human
+to
+read,
+it
+establishes
+a
+baseline
+that
+makes
+JSON-LD
+processing
+easier
+because
+of
+its
+very
+regular
+structure.
+</p>
+</section>
+<section class="informative" id="compaction">
+<h3 aria-level="2" role="heading" id="h3_compaction">
+<span class="secno">
+2.2
+</span>
+Compaction
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+While
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expansion
+</a>
+removes
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+from
+a
+given
+input,
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compaction's
+</a>
+primary
+function
+is
+to
+perform
+the
+opposite
+operation:
+to
+express
+a
+given
+input
+according
+to
+a
+particular
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+<dfn title="compaction" id="dfn-compaction">
+Compaction
+</dfn>
+applies
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+that
+specifically
+tailors
+the
+way
+information
+is
+expressed
+for
+a
+particular
+person
+or
+application.
+This
+simplifies
+applications
+that
+consume
+JSON
+or
+JSON-LD
+by
+expressing
+the
+data
+in
+application-specific
+terms,
+and
+it
+makes
+the
+data
+easier
+to
+read
+by
+humans.
+</p>
+<p>
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+Compaction
+</a>
+uses
+a
+developer-supplied
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+to
+shorten
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+and
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>
+expressed
+in
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>
+to
+simple
+values
+such
+as
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+or
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+expanded
+JSON-LD
+input
+document:
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+4
+</ins></span>:<ins class="diff-chg">
+Expanded
+sample
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Additionally,
+assume
+the
+following
+developer-supplied
+JSON-LD
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+5
+</ins></span>:<ins class="diff-chg">
+JSON-LD
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  }
+}
+</pre>
+</div>
+<p>
+Running
+the
+<a href="#compaction-algorithm">
+Compaction
+Algorithm
+</a>
+(
+<code class="idlMemberName">
+<a href="#widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">
+compact
+</a>
+</code>
+operation)
+given
+the
+context
+supplied
+above
+against
+the
+JSON-LD
+input
+document
+provided
+above
+would
+result
+in
+the
+following
+output:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+6
+</ins></span>:<ins class="diff-chg">
+Compacted
+sample
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/"
+}
+</pre>
+</div>
+<p>
+Note
+that
+all
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+have
+been
+compacted
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+as
+specified
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>,
+which
+has
+been
+injected
+into
+the
+output.
+While
+compacted
+output
+is
+useful
+to
+humans,
+it
+is
+also
+used
+to
+generate
+structures
+that
+are
+easy
+to
+program
+against.
+Compaction
+enables
+developers
+to
+map
+any
+expanded
+document
+into
+an
+application-specific
+compacted
+document.
+While
+the
+context
+provided
+above
+mapped
+<code>
+http://xmlns.com/foaf/0.1/name
+</code>
+to
+<code>
+name
+</code>,
+it
+could
+also
+have
+been
+mapped
+to
+any
+other
+term
+provided
+by
+the
+developer.
+</p>
+</section>
+<section class="informative" id="flattening">
+<h3 aria-level="2" role="heading" id="h3_flattening">
+<span class="secno">
+2.3
+</span>
+Flattening
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+While
+expansion
+ensures
+that
+a
+document
+is
+in
+a
+uniform
+structure,
+flattening
+goes
+a
+step
+further
+to
+ensure
+that
+the
+shape
+of
+the
+data
+is
+deterministic.
+In
+expanded
+documents,
+the
+properties
+of
+a
+single
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+may
+be
+spread
+across
+a
+number
+of
+different
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>.
+By
+flattening
+a
+document,
+all
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+are
+collected
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+and
+all
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+are
+labeled
+with
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+This
+may
+drastically
+simplify
+the
+code
+required
+to
+process
+JSON-LD
+data
+in
+certain
+applications.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+JSON-LD
+input
+document:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+7
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+Running
+the
+<a href="#flattening-algorithm">
+Flattening
+algorithm
+</a>
+(
+<code class="idlMemberName">
+<a href="#widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">
+flatten
+</a>
+</code>
+operation)
+with
+a
+context
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+to
+prevent
+compaction
+returns
+the
+following
+document:
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+8
+</ins></span>:<ins class="diff-chg">
+Flattened
+sample
+document
+in
+expanded
+form
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "_:t0",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Dave Longley" }
+    ]
+  },
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/knows": [
+      { "@id": "_:t0" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Note
+how
+in
+the
+output
+above
+all
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+are
+collected
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+and
+how
+the
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+representing
+"Dave
+Longley"
+has
+been
+assigned
+the
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+<code>
+_:t0
+</code>.
+</p>
+<p>
+To
+make
+it
+easier
+for
+humans
+to
+read
+or
+for
+certain
+applications
+to
+process
+it,
+a
+flattened
+document
+can
+be
+compacted
+by
+passing
+a
+context.
+Using
+the
+same
+context
+as
+the
+input
+document,
+the
+flattened
+and
+compacted
+document
+looks
+as
+follows:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+9
+</ins></span>:<ins class="diff-chg">
+Flattened
+and
+compacted
+sample
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@graph": [
+    {
+      "@id": "_:t0",
+      "name": "Dave Longley"
+    },
+    {
+      "@id": "http://me.markus-lanthaler.com/",
+      "name": "Markus Lanthaler",
+      "knows": { "@id": "_:t0" }
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+Please
+note
+that
+the
+result
+of
+flattening
+and
+compacting
+a
+document
+is
+always
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+which
+contains
+an
+<code>
+@graph
+</code>
+member
+that
+represents
+the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>.
+</p>
+</section>
+<section class="informative" id="rdf-serialization-deserialization">
+<h3 aria-level="2" role="heading" id="h3_rdf-serialization-deserialization">
+<span class="secno">
+2.4
+</span>
+RDF
+Serialization/Deserialization
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON-LD
+can
+be
+used
+to
+serialize
+RDF
+data
+as
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+This
+ensures
+that
+data
+can
+be
+round-tripped
+to
+and
+from
+any
+RDF
+syntax
+without
+any
+loss
+in
+fidelity.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+RDF
+input
+serialized
+in
+Turtle
+[
+<cite>
+<a class="bibref" href="#bib-TURTLE">
+TURTLE
+</a>
+</cite>
+]:
+</p>
+<del class="diff-old">    &lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .
+&lt;http://me.markus-lanthaler.com/&gt;
+&lt;http://xmlns.com/foaf/0.1/homepage&gt;
+&lt;http://www.markus-lanthaler.com/&gt;
+.
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+10
+</ins></span>:<ins class="diff-chg">
+Sample
+Turtle
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .
+&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://www.markus-lanthaler.com/&gt; .
+</ins>
+</pre>
+</div>
+<p>
+Using
+the
+<a href="#serialize-rdf-as-json-ld-algorithm">
+Serialize
+RDF
+as
+JSON-LD
+algorithm
+</a>
+a
+developer
+could
+transform
+this
+document
+into
+expanded
+JSON-LD:
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+11
+</ins></span>:<ins class="diff-chg">
+Sample
+Turtle
+document
+converted
+to
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Note
+that
+the
+output
+above
+could
+easily
+be
+compacted
+using
+the
+technique
+outlined
+in
+the
+previous
+section.
+It
+is
+also
+possible
+to
+deserialize
+the
+JSON-LD
+document
+back
+to
+RDF
+using
+the
+<a href="#deserialize-json-ld-to-rdf-algorithm">
+Deserialize
+JSON-LD
+to
+RDF
+algorithm
+</a>.
+</p>
+</section>
+</section>
+<section id="conformance">
+<h2 aria-level="1" role="heading" id="h2_conformance">
+<span class="secno">
+3.
+</span>
+Conformance
+</h2>
+<p>
+All
+examples
+and
+notes
+as
+well
+as
+sections
+marked
+as
+non-normative
+in
+this
+specification
+are
+non-normative.
+Everything
+else
+in
+this
+specification
+is
+normative.
+</p>
+<p>
+The
+keywords
+<em class="rfc2119" title="MUST">
+MUST
+</em>,
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>,
+<em class="rfc2119" title="REQUIRED">
+REQUIRED
+</em>,
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>,
+<em class="rfc2119" title="SHOULD NOT">
+SHOULD
+NOT
+</em>,
+<em class="rfc2119" title="RECOMMENDED">
+RECOMMENDED
+</em>,
+<em class="rfc2119" title="MAY">
+MAY
+</em>,
+and
+<em class="rfc2119" title="OPTIONAL">
+OPTIONAL
+</em>
+in
+this
+specification
+are
+to
+be
+interpreted
+as
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC2119">
+RFC2119
+</a>
+</cite>
+].
+</p>
+<p>
+There
+are
+two
+classes
+of
+products
+that
+can
+claim
+conformance
+to
+this
+specification:
+<a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">
+JSON-LD
+Processors
+</a>,
+and
+<a class="tref internalDFN" title="rdf-serializer/deserializer" href="#dfn-rdf-serializer/deserializer">
+RDF
+Serializers/Deserializers
+</a>.
+</p>
+<p>
+A
+conforming
+<dfn title="json-ld-processor" id="dfn-json-ld-processor">
+JSON-LD
+Processor
+</dfn>
+is
+a
+system
+which
+can
+perform
+the
+<a href="#expansion-algorithm">
+Expansion
+</a>,
+<a href="#compaction-algorithm">
+Compaction
+</a>,
+and
+<a href="#flattening-algorithm">
+Flattening
+</a>
+operations
+defined
+in
+this
+specification.
+</p>
+<p>
+<a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">
+JSON-LD
+Processors
+</a>
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+attempt
+to
+correct
+malformed
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+or
+language
+tags;
+however,
+they
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+issue
+validation
+warnings.
+IRIs
+are
+not
+modified
+other
+than
+conversion
+between
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+</a>
+and
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>.
+</p>
+<p>
+A
+conforming
+<dfn title="rdf-serializer/deserializer" id="dfn-rdf-serializer/deserializer">
+RDF
+Serializer/Deserializer
+</dfn>
+is
+a
+system
+that
+can
+<a href="#deserialize-json-ld-to-rdf-algorithm">
+deserialize
+JSON-LD
+to
+RDF
+</a>
+and
+<a href="#serialize-rdf-as-json-ld-algorithm">
+serialize
+RDF
+as
+JSON-LD
+</a>
+as
+defined
+in
+this
+specification.
+</p>
+<p>
+The
+algorithms
+in
+this
+specification
+are
+generally
+written
+with
+more
+concern
+for
+clarity
+than
+efficiency.
+Thus,
+<a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">
+JSON-LD
+Processors
+</a>
+may
+implement
+the
+algorithms
+given
+in
+this
+specification
+in
+any
+way
+desired,
+so
+long
+as
+the
+end
+result
+is
+indistinguishable
+from
+the
+result
+that
+would
+be
+obtained
+by
+the
+specification's
+algorithms.
+</p>
+<div class="note">
+<div class="note-title" aria-level="2" role="heading" id="h_note_1">
+<span>
+Note
+</span>
+</div>
+<p class="">
+Implementers
+can
+partially
+check
+their
+level
+of
+conformance
+to
+this
+specification
+by
+successfully
+passing
+the
+test
+cases
+of
+the
+JSON-LD
+test
+suite
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-TESTS">
+JSON-LD-TESTS
+</a>
+</cite>
+].
+Note,
+however,
+that
+passing
+all
+the
+tests
+in
+the
+test
+suite
+does
+not
+imply
+complete
+conformance
+to
+this
+specification.
+It
+only
+implies
+that
+the
+implementation
+conforms
+to
+aspects
+tested
+by
+the
+test
+suite.
+</p>
+</div>
+</section>
+<section id="general-terminology">
+<h2 aria-level="1" role="heading" id="h2_general-terminology">
+<span class="secno">
+4.
+</span>
+General
+Terminology
+</h2>
+<p>
+This
+document
+uses
+the
+following
+terms
+as
+defined
+in
+JSON
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+Refer
+to
+the
+<em>
+JSON
+Grammar
+</em>
+section
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+]
+for
+formal
+definitions.
+</p>
+<dl>
+<dt>
+<dfn title="json-object" id="dfn-json-object">
+JSON
+object
+</dfn>
+</dt>
+<dd>
+An
+object
+structure
+is
+represented
+as
+a
+pair
+of
+curly
+brackets
+surrounding
+zero
+or
+more
+key-value
+pairs.
+A
+key
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+A
+single
+colon
+comes
+after
+each
+key,
+separating
+the
+key
+from
+the
+value.
+A
+single
+comma
+separates
+a
+value
+from
+a
+following
+key.
+In
+contrast
+to
+JSON,
+in
+JSON-LD
+the
+keys
+in
+an
+object
+must
+be
+unique.
+</dd>
+<dt>
+<dfn title="array" id="dfn-array">
+array
+</dfn>
+</dt>
+<dd>
+An
+array
+structure
+is
+represented
+as
+square
+brackets
+surrounding
+zero
+or
+more
+values.
+Values
+are
+separated
+by
+commas.
+In
+JSON,
+an
+array
+is
+an
+<em>
+ordered
+</em>
+sequence
+of
+zero
+or
+more
+values.
+While
+JSON-LD
+uses
+the
+same
+array
+representation
+as
+JSON,
+the
+collection
+is
+<em>
+unordered
+</em>
+by
+default.
+While
+order
+is
+preserved
+in
+regular
+JSON
+arrays,
+it
+is
+not
+in
+regular
+JSON-LD
+arrays
+unless
+specifically
+defined
+(see
+<ins class="diff-new">"
+</ins>
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#sets-and-lists">
+Sets
+and
+Lists
+</a>
+</cite>
+in
+the
+JSON-LD
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+]).
+</dd>
+<dt>
+<dfn title="string" id="dfn-string">
+string
+</dfn>
+</dt>
+<dd>
+A
+string
+is
+a
+sequence
+of
+zero
+or
+more
+Unicode
+characters,
+wrapped
+in
+double
+quotes,
+using
+backslash
+escapes
+(if
+necessary).
+A
+character
+is
+represented
+as
+a
+single
+character
+string.
+</dd>
+<dt>
+<dfn title="number" id="dfn-number">
+number
+</dfn>
+</dt>
+<dd>
+A
+number
+is
+similar
+to
+that
+used
+in
+most
+programming
+languages,
+except
+that
+the
+octal
+and
+hexadecimal
+formats
+are
+not
+used
+and
+that
+leading
+zeros
+are
+not
+allowed.
+</dd>
+<dt>
+<dfn title="true" id="dfn-true">
+true
+</dfn>
+and
+<dfn title="false" id="dfn-false">
+false
+</dfn>
+</dt>
+<dd>
+Values
+that
+are
+used
+to
+express
+one
+of
+two
+possible
+boolean
+states.
+</dd>
+<dt>
+<dfn title="null" id="dfn-null">
+null
+</dfn>
+</dt>
+<dd>
+The
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+value.
+A
+key-value
+pair
+in
+the
+<code>
+@context
+</code>
+where
+the
+value,
+or
+the
+<code>
+@id
+</code>
+of
+the
+value,
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+explicitly
+decouples
+a
+term's
+association
+with
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>.
+A
+key-value
+pair
+in
+the
+body
+of
+a
+JSON-LD
+document
+whose
+value
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+has
+the
+same
+meaning
+as
+if
+the
+key-value
+pair
+was
+not
+defined.
+If
+<code>
+@value
+</code>,
+<code>
+@list
+</code>,
+or
+<code>
+@set
+</code>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+in
+expanded
+form,
+then
+the
+entire
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+ignored.
+</dd>
+</dl>
+<p>
+Furthermore,
+the
+following
+terminology
+is
+used
+throughout
+this
+document:
+</p>
+<dl>
+<dt>
+<dfn title="keyword" id="dfn-keyword">
+keyword
+</dfn>
+</dt>
+<dd>
+A
+JSON
+key
+that
+is
+specific
+to
+JSON-LD,
+specified
+in
+the
+section
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#syntax-tokens-and-keywords">
+Syntax
+Tokens
+and
+Keywords
+</a>
+</cite>
+of
+the
+JSON-LD
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="context" id="dfn-context">
+context
+</dfn>
+</dt>
+<dd>
+A
+set
+of
+rules
+for
+interpreting
+a
+JSON-LD
+document
+as
+specified
+in
+the
+section
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#the-context">
+The
+Context
+</a>
+</cite>
+of
+the
+JSON-LD
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="json-ld-document" id="dfn-json-ld-document">
+JSON-LD
+document
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+is
+a
+serialization
+of
+a
+collection
+of
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graphs
+</a>
+and
+comprises
+exactly
+one
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+and
+zero
+or
+more
+<a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">
+named
+graphs
+</a>.
+</dd>
+<dt>
+<dfn title="named-graph" id="dfn-named-graph">
+named
+graph
+</dfn>
+</dt>
+<dd>
+A
+named
+graph
+is
+a
+pair
+consisting
+of
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+(the
+<dfn title="graph-name" id="dfn-graph-name">
+graph
+name
+</dfn>
+)
+and
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>.
+</dd>
+<dt>
+<dfn title="default-graph" id="dfn-default-graph">
+default
+graph
+</dfn>
+</dt>
+<dd>
+The
+default
+graph
+is
+the
+only
+graph
+in
+a
+JSON-LD
+document
+which
+has
+no
+<a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">
+graph
+name
+</a>.
+</dd>
+<dt>
+<dfn title="graph" id="dfn-graph">
+Graph
+</dfn>
+</dt>
+<dd>
+A
+labeled
+directed
+graph,
+i.e.,
+a
+set
+of
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+connected
+by
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edges
+</a>,
+as
+specified
+in
+the
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#data-model">
+Data
+Model
+</a>
+</cite>
+section
+of
+the
+JSON-LD
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD">
+JSON-LD
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="edge" id="dfn-edge">
+edge
+</dfn>
+</dt>
+<dd>
+Every
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edge
+</a>
+has
+a
+direction
+associated
+with
+it
+and
+is
+labeled
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+Within
+the
+JSON-LD
+syntax
+these
+edge
+labels
+are
+called
+<dfn title="property" id="dfn-property">
+properties
+</dfn>.
+Whenever
+possible,
+an
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edge
+</a>
+should
+be
+labeled
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</dd>
+<dt>
+<dfn title="node" id="dfn-node">
+node
+</dfn>
+</dt>
+<dd>
+Every
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>,
+a
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+value
+</a>,
+or
+a
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>.
+</dd>
+<dt>
+<dfn title="iri" id="dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+</dt>
+<dd>
+An
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(Internationalized
+Resource
+Identifier)
+is
+a
+string
+that
+conforms
+to
+the
+syntax
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="absolute-iri" id="dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+</dt>
+<dd>
+An
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+is
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+]
+containing
+a
+<em>
+scheme
+</em>
+along
+with
+a
+<em>
+path
+</em>
+and
+optional
+<em>
+query
+</em>
+and
+fragment
+segments.
+</dd>
+<dt>
+<dfn title="relative-iri" id="dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+</dt>
+<dd>
+A
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+is
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+that
+is
+relative
+to
+some
+other
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</dd>
+<dt>
+<dfn title="blank-node" id="dfn-blank-node">
+blank
+node
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+that
+is
+neither
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+nor
+a
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+value
+</a>,
+nor
+a
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>.
+</dd>
+<dt>
+<dfn title="blank-node-identifier" id="dfn-blank-node-identifier">
+blank
+node
+identifier
+</dfn>
+</dt>
+<dd>
+A
+blank
+node
+identifier
+is
+a
+string
+that
+can
+be
+used
+as
+an
+identifier
+for
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+within
+the
+scope
+of
+a
+JSON-LD
+document.
+Blank
+node
+identifiers
+begin
+with
+<code>
+_:
+</code>.
+</dd>
+<dt>
+<dfn title="json-ld-value" id="dfn-json-ld-value">
+JSON-LD
+value
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+value
+</a>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+a
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>,
+or
+a
+<a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">
+language-tagged
+string
+</a>.
+</dd>
+<dt>
+<dfn title="typed-value" id="dfn-typed-value">
+typed
+value
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>
+consists
+of
+a
+value,
+which
+is
+a
+string,
+and
+a
+type,
+which
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</dd>
+<dt>
+<dfn title="language-tagged-string" id="dfn-language-tagged-string">
+language-tagged
+string
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">
+language-tagged
+string
+</a>
+consists
+of
+a
+string
+and
+a
+non-empty
+language
+tag
+as
+defined
+by
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+].
+The
+language
+tag
+must
+be
+well-formed
+according
+to
+<a href="http://tools.ietf.org/html/bcp47#section-2.2.9">
+section
+2.2.9
+Classes
+of
+Conformance
+</a>
+of
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+],
+and
+is
+normalized
+to
+lowercase.
+</dd>
+<dt>
+<dfn title="list" id="dfn-list">
+list
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>
+is
+an
+ordered
+sequence
+of
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>,
+and
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>.
+</dd>
+</dl>
+</section>
+<section id="algorithm-terms">
+<h2 aria-level="1" role="heading" id="h2_algorithm-terms">
+<span class="secno">
+5.
+</span>
+Algorithm
+Terms
+</h2>
+<dl>
+<dt>
+<dfn title="active-graph" id="dfn-active-graph">
+active
+graph
+</dfn>
+</dt>
+<dd>
+The
+name
+of
+the
+currently
+active
+graph
+that
+the
+processor
+should
+use
+when
+processing.
+</dd>
+<dt>
+<dfn title="active-subject" id="dfn-active-subject">
+active
+subject
+</dfn>
+</dt>
+<dd>
+The
+currently
+active
+subject
+that
+the
+processor
+should
+use
+when
+processing.
+</dd>
+<dt>
+<dfn title="active-property" id="dfn-active-property">
+active
+property
+</dfn>
+</dt>
+<dd>
+The
+currently
+active
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+that
+the
+processor
+should
+use
+when
+processing.
+</dd>
+<dt>
+<dfn title="active-context" id="dfn-active-context">
+active
+context
+</dfn>
+</dt>
+<dd>
+A
+context
+that
+is
+used
+to
+resolve
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+while
+the
+processing
+algorithm
+is
+running.
+</dd>
+<dt>
+<dfn title="local-context" id="dfn-local-context">
+local
+context
+</dfn>
+</dt>
+<dd>
+A
+context
+that
+is
+specified
+within
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+specified
+via
+the
+<code>
+@context
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+</dd>
+<dt>
+<dfn title="json-ld-input" id="dfn-json-ld-input">
+JSON-LD
+input
+</dfn>
+</dt>
+<dd>
+The
+JSON-LD
+data
+structure
+that
+is
+provided
+as
+input
+to
+the
+algorithm.
+</dd>
+<dt>
+<dfn title="term" id="dfn-term">
+term
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+a
+short
+word
+defined
+in
+a
+context
+that
+may
+be
+expanded
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+</dd>
+<dt>
+<dfn title="compact-iri" id="dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+</dt>
+<dd>
+A
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+has
+the
+form
+of
+<dfn title="prefix" id="dfn-prefix">
+prefix
+</dfn>:
+<em>
+suffix
+</em>
+and
+is
+used
+as
+a
+way
+of
+expressing
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+without
+needing
+to
+define
+separate
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+definitions
+for
+each
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+contained
+within
+a
+common
+vocabulary
+identified
+by
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>.
+</dd>
+<dt>
+<dfn title="node-object" id="dfn-node-object">
+node
+object
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+represents
+zero
+or
+more
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+the
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+serialized
+by
+the
+JSON-LD
+document.
+A
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+if
+it
+exists
+outside
+of
+the
+JSON-LD
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+and:
+<ul>
+<li>
+it
+does
+not
+contain
+the
+<code>
+@value
+</code>,
+<code>
+@list
+</code>,
+or
+<code>
+@set
+</code>
+keywords,
+or
+</li>
+<li>
+it
+is
+not
+the
+top-most
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+in
+the
+JSON-LD
+document
+consisting
+of
+no
+other
+members
+than
+<code>
+@graph
+</code>
+and
+<code>
+@context
+</code>.
+</li>
+</ul>
+</dd>
+<dt>
+<dfn title="value-object" id="dfn-value-object">
+value
+object
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+has
+an
+<code>
+@value
+</code>
+member.
+</dd>
+<dt>
+<dfn title="list-object" id="dfn-list-object">
+list
+object
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+has
+an
+<code>
+@list
+</code>
+member.
+</dd>
+<dt>
+<dfn title="set-object" id="dfn-set-object">
+set
+object
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref internalDFN" title="set-object" href="#dfn-set-object">
+set
+object
+</a>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+has
+an
+<code>
+@set
+</code>
+member.
+</dd>
+<dt>
+<dfn title="scalar" id="dfn-scalar">
+scalar
+</dfn>
+</dt>
+<dd>
+A
+scalar
+is
+either
+a
+JSON
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+</dd>
+<dt>
+<dfn title="rdf-subject" id="dfn-rdf-subject">
+RDF
+subject
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref externalDFN" title="subject" href="http://www.w3.org/TR/rdf11-concepts/#dfn-subject">
+subject
+</a>
+as
+specified
+by
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="rdf-predicate" id="dfn-rdf-predicate">
+RDF
+predicate
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref externalDFN" title="predicate" href="http://www.w3.org/TR/rdf11-concepts/#dfn-predicate">
+predicate
+</a>
+as
+specified
+by
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="rdf-object" id="dfn-rdf-object">
+RDF
+object
+</dfn>
+</dt>
+<dd>
+An
+<a class="tref externalDFN" title="object" href="http://www.w3.org/TR/rdf11-concepts/#dfn-object">
+object
+</a>
+as
+specified
+by
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="rdf-triple" id="dfn-rdf-triple">
+RDF
+triple
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref externalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+as
+specified
+by
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</dd>
+<dt>
+<dfn title="rdf-dataset" id="dfn-rdf-dataset">
+RDF
+dataset
+</dfn>
+</dt>
+<dd>
+A
+<a class="tref externalDFN" title="dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">
+dataset
+</a>
+as
+specified
+by
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+]
+representing
+a
+collection
+of
+<a class="tref externalDFN" title="rdf-graphs" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph">
+RDF
+graphs
+</a>.
+</dd>
+</dl>
+</section>
+<section id="context-processing-algorithms">
+<h2 aria-level="1" role="heading" id="h2_context-processing-algorithms">
+<span class="secno">
+6.
+</span>
+Context
+Processing
+Algorithms
+</h2>
+<section id="context-processing-algorithm">
+<h3 aria-level="2" role="heading" id="h3_context-processing-algorithm">
+<span class="secno">
+6.1
+</span>
+Context
+Processing
+Algorithm
+</h3>
+<p>
+When
+processing
+a
+JSON-LD
+data
+structure,
+each
+processing
+rule
+is
+applied
+using
+information
+provided
+by
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+This
+section
+describes
+how
+to
+produce
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+</p>
+<p>
+The
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+contains
+the
+active
+<dfn title="term-definition" id="dfn-term-definition">
+term
+definitions
+</dfn>
+which
+specify
+how
+properties
+and
+values
+have
+to
+be
+interpreted
+as
+well
+as
+the
+current
+<dfn title="base-iri" id="dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>,
+the
+<dfn title="vocabulary-mapping" id="dfn-vocabulary-mapping">
+vocabulary
+mapping
+</dfn>
+and
+the
+<dfn title="default-language" id="dfn-default-language">
+default
+language
+</dfn>.
+Each
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+consists
+of
+an
+<dfn title="iri-mapping" id="dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</dfn>,
+a
+boolean
+flag
+<dfn title="reverse-property" id="dfn-reverse-property">
+reverse
+property
+</dfn>,
+an
+optional
+<dfn title="type-mapping" id="dfn-type-mapping">
+type
+mapping
+</dfn>
+or
+<dfn title="language-mapping" id="dfn-language-mapping">
+language
+mapping
+</dfn>,
+and
+an
+optional
+<dfn title="container-mapping" id="dfn-container-mapping">
+container
+mapping
+</dfn>.
+A
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+can
+not
+only
+be
+used
+to
+map
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+to
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>,
+but
+also
+to
+map
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+to
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+in
+which
+case
+it
+is
+referred
+to
+as
+a
+<dfn title="keyword-alias" id="dfn-keyword-alias">
+keyword
+alias
+</dfn>.
+</p>
+<p>
+When
+processing,
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+initialized
+without
+any
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definitions
+</a>,
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+or
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>.
+If
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+is
+encountered
+during
+processing,
+a
+new
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+created
+by
+cloning
+the
+existing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+Then
+the
+information
+from
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+is
+merged
+into
+the
+new
+<a class= "tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+Given
+that
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+contexts
+</a>
+may
+contain
+references
+to
+remote
+contexts,
+this
+includes
+their
+retrieval.
+</p>
+<section class="informative">
+<h4 id="overview" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+First
+we
+prepare
+a
+new
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+<i>
+result
+</i>
+by
+cloning
+the
+current
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+Then
+we
+normalize
+the
+form
+of
+the
+passed
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+Local
+contexts
+</a>
+may
+be
+in
+the
+form
+of
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+a
+combination
+of
+the
+two.
+Finally
+we
+process
+each
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+contained
+in
+the
+<a class= "tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+as
+follows.
+</p>
+<p>
+If
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+it
+represents
+a
+reference
+to
+a
+remote
+context.
+We
+dereference
+the
+remote
+context
+and
+replace
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+with
+the
+value
+of
+the
+<code>
+@context
+</code>
+key
+of
+the
+top-level
+object
+in
+the
+retrieved
+JSON-LD
+document.
+If
+there's
+no
+such
+key,
+an
+invalid
+remote
+context
+has
+been
+detected.
+Otherwise,
+we
+process
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+by
+recursively
+using
+this
+algorithm
+ensuring
+that
+there
+is
+no
+cyclical
+reference.
+</p>
+<p>
+If
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+we
+first
+update
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+the
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+and
+the
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>
+by
+processing
+three
+specific
+keywords:
+<code>
+@base
+</code>,
+<code>
+@vocab
+</code>,
+and
+<code>
+@language
+</code>.
+These
+are
+handled
+before
+any
+other
+keys
+in
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+because
+they
+affect
+how
+the
+other
+keys
+are
+processed.
+Please
+note
+that
+<code>
+@base
+</code>
+is
+ignored
+when
+processing
+remote
+contexts.
+</p>
+<p>
+Then,
+for
+every
+other
+key
+in
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+we
+update
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+<i>
+result
+</i>.
+Since
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definitions
+</a>
+in
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+may
+themselves
+contain
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>,
+we
+may
+need
+to
+recurse.
+When
+doing
+so,
+we
+must
+ensure
+that
+there
+is
+no
+cyclical
+dependency,
+which
+is
+an
+error.
+After
+we
+have
+processed
+any
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+dependencies,
+we
+update
+the
+current
+<a class="tref internalDFN" title="term-definition" href= "#dfn-term-definition">
+term
+definition
+</a>,
+which
+may
+be
+a
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+alias
+</a>.
+</p>
+<p>
+Finally,
+we
+return
+<i>
+result
+</i>
+as
+the
+new
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+This
+algorithm
+specifies
+how
+a
+new
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+updated
+with
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+The
+algorithm
+takes
+three
+input
+variables:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+and
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+remote
+contexts
+</i>
+which
+is
+used
+to
+detect
+cyclical
+context
+inclusions.
+If
+<i>
+remote
+contexts
+</i>
+is
+not
+passed,
+it
+is
+initialized
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+result
+</i>
+to
+the
+result
+of
+cloning
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+</li>
+<li>
+For
+each
+item
+<i>
+context
+</i>
+in
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+context
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+<i>
+result
+</i>
+to
+a
+newly-initialized
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+continue
+with
+the
+next
+<i>
+context
+</i>.
+The
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+set
+to
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+of
+the
+currently
+being
+processed
+document
+(which
+might
+be
+different
+from
+the
+currently
+being
+processed
+context),
+if
+available;
+otherwise
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+set,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-base">
+base
+</a>
+</code>
+option
+of
+a
+JSON-LD
+API
+Implementation
+overrides
+the
+<a class="tref internalDFN" title="base-iri" href= "#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+<ol class="algorithm">
+<li>
+Set
+<i>
+context
+</i>
+to
+the
+result
+of
+resolving
+<i>
+value
+</i>
+against
+the
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+which
+is
+established
+as
+specified
+in
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-5.1">
+section
+5.1
+Establishing
+a
+Base
+URI
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3986">
+RFC3986
+</a>
+</cite>
+].
+Only
+the
+basic
+algorithm
+in
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-5.2">
+section
+5.2
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3986">
+RFC3986
+</a>
+</cite>
+]
+is
+used;
+neither
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-6.2.2">
+Syntax-Based
+Normalization
+</a>
+</cite>
+nor
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-6.2.3">
+Scheme-Based
+Normalization
+</a>
+</cite>
+are
+performed.
+Characters
+additionally
+allowed
+in
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+references
+are
+treated
+in
+the
+same
+way
+that
+unreserved
+characters
+are
+treated
+in
+URI
+references,
+per
+<cite>
+<a href= "http://tools.ietf.org/html/rfc3987#section-6.5">
+section
+6.5
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+].
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+in
+the
+<i>
+remote
+contexts
+</i>
+array,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.recursive-context-inclusion">
+recursive
+context
+inclusion
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted;
+otherwise,
+add
+<i>
+context
+</i>
+to
+<i>
+remote
+contexts
+</i>.
+</li>
+<li>
+Dereference
+<i>
+context
+</i>.
+If
+<i>
+context
+</i>
+cannot
+be
+dereferenced,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.loading-remote-context-failed">
+loading
+remote
+context
+failed
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+If
+the
+dereferenced
+document
+has
+no
+top-level
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+an
+<code>
+@context
+</code>
+member,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-remote-context">
+invalid
+remote
+context
+</a>
+</code>
+has
+been
+detected
+and
+processing
+is
+aborted;
+otherwise,
+set
+<i>
+context
+</i>
+to
+the
+value
+of
+that
+member.
+</li>
+<li>
+Set
+<i>
+result
+</i>
+to
+the
+result
+of
+recursively
+calling
+this
+algorithm,
+passing
+<i>
+result
+</i>
+for
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+context
+</i>
+for
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+and
+<i>
+remote
+contexts
+</i>.
+</li>
+<li>
+Continue
+with
+the
+next
+<i>
+context
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-local-context">
+invalid
+local
+context
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+context
+</i>
+has
+an
+<code>
+@base
+</code>
+key
+and
+<i>
+remote
+contexts
+</i>
+is
+empty,
+i.e.,
+the
+currently
+being
+processed
+context
+is
+not
+a
+remote
+context:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+value
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@base
+</code>
+key.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+remove
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+result
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+result
+</i>
+is
+set
+to
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+and
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+result
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+result
+</i>
+to
+the
+result
+of
+resolving
+<i>
+value
+</i>
+against
+the
+current
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+result
+</i>.
+</li>
+<li>
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-base-IRI">
+invalid
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+context
+</i>
+has
+an
+<code>
+@vocab
+</code>
+key:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+value
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@vocab
+</code>
+key.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+remove
+any
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>
+from
+<i>
+result
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+the
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>
+of
+<i>
+result
+</i>
+is
+set
+to
+<i>
+value
+</i>.
+If
+it
+is
+not
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-vocab-mapping">
+invalid
+vocab
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+context
+</i>
+has
+an
+<code>
+@language
+</code>
+key:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+value
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@language
+</code>
+key.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+remove
+any
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>
+from
+<i>
+result
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+the
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>
+of
+<i>
+result
+</i>
+is
+set
+to
+lowercased
+<i>
+value
+</i>.
+If
+it
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-default-language">
+invalid
+default
+language
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+Create
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+defined
+</i>
+to
+use
+to
+keep
+track
+of
+whether
+or
+not
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+has
+already
+been
+defined
+or
+currently
+being
+defined
+during
+recursion.
+</li>
+<li>
+For
+each
+<i>
+key
+</i>
+-
+<i>
+value
+</i>
+pair
+in
+<i>
+context
+</i>
+where
+<i>
+key
+</i>
+is
+not
+<code>
+@base
+</code>,
+<code>
+@vocab
+</code>,
+or
+<code>
+@language
+</code>,
+invoke
+the
+<a href="#create-term-definition">
+Create
+Term
+Definition
+algorithm
+</a>,
+passing
+<i>
+result
+</i>
+for
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+context
+</i>
+for
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+<i>
+key
+</i>,
+and
+<i>
+defined
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</section>
+</section>
+<section id="create-term-definition">
+<h3 aria-level="2" role="heading" id="h3_create-term-definition">
+<span class="secno">
+6.2
+</span>
+Create
+Term
+Definition
+</h3>
+<p>
+This
+algorithm
+is
+called
+from
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>
+to
+create
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed
+in
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-1" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+Term
+definitions
+</a>
+are
+created
+by
+parsing
+the
+information
+in
+the
+given
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+for
+the
+given
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+If
+the
+given
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+it
+may
+omit
+an
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+by
+depending
+on
+its
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+having
+its
+own
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>.
+If
+the
+<a class="tref internalDFN" title="prefix" href= "#dfn-prefix">
+prefix
+</a>
+is
+a
+key
+in
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+then
+its
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+must
+first
+be
+created,
+through
+recursion,
+before
+continuing.
+Because
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+can
+depend
+on
+other
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definitions
+</a>,
+a
+mechanism
+must
+be
+used
+to
+detect
+cyclical
+dependencies.
+The
+solution
+employed
+here
+uses
+a
+map,
+<i>
+defined
+</i>,
+that
+keeps
+track
+of
+whether
+or
+not
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+has
+been
+defined
+or
+is
+currently
+in
+the
+process
+of
+being
+defined.
+This
+map
+is
+checked
+before
+any
+recursion
+is
+attempted.
+</p>
+<p>
+After
+all
+dependencies
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+have
+been
+defined,
+the
+rest
+of
+the
+information
+in
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+for
+the
+given
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+taken
+into
+account,
+creating
+the
+appropriate
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>,
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>,
+and
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+for
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-1" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+has
+four
+required
+inputs
+which
+are:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+a
+<i>
+term
+</i>,
+and
+a
+map
+<i>
+defined
+</i>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+defined
+</i>
+contains
+the
+key
+<i>
+term
+</i>
+and
+the
+associated
+value
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+(indicating
+that
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+has
+already
+been
+created),
+return.
+Otherwise,
+if
+the
+value
+is
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.cyclic-IRI-mapping">
+cyclic
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Set
+the
+value
+associated
+with
+<i>
+defined
+</i>
+'s
+<i>
+term
+</i>
+key
+to
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+This
+indicates
+that
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+is
+now
+being
+created
+but
+is
+not
+yet
+complete.
+</li>
+<li>
+Since
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+cannot
+be
+overridden,
+<i>
+term
+</i>
+must
+not
+be
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+Otherwise,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.keyword-redefinition">
+keyword
+redefinition
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Remove
+any
+existing
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+for
+<i>
+term
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+</li>
+<li>
+Initialize
+<i>
+value
+</i>
+to
+a
+copy
+of
+the
+value
+associated
+with
+the
+key
+<i>
+term
+</i>
+in
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+the
+key-value
+pair
+<code>
+@id
+</code>
+-
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+the
+value
+associated
+with
+<i>
+defined
+</i>
+'s
+key
+<i>
+term
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+and
+return.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+convert
+it
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+whose
+key
+is
+<code>
+@id
+</code>
+and
+whose
+value
+is
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+<i>
+value
+</i>
+must
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+if
+not,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-term-definition">
+invalid
+term
+definition
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Create
+a
+new
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>,
+<i>
+definition
+</i>.
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@type
+</code>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+type
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@type
+</code>
+key,
+which
+must
+be
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-type-mapping">
+invalid
+type
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Set
+<i>
+type
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+type
+</i>
+for
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+for
+<i>
+document
+relative
+</i>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+and
+<i>
+defined
+</i>.
+If
+the
+expanded
+<i>
+type
+</i>
+is
+neither
+<code>
+@id
+</code>,
+nor
+<code>
+@vocab
+</code>,
+nor
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-type-mapping">
+invalid
+type
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+for
+<i>
+definition
+</i>
+to
+<i>
+type
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@reverse
+</code>:
+<ol class="algorithm">
+<li>
+If
+<i>
+value
+</i>
+contains
+an
+<code>
+@id
+</code>,
+member,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property">
+invalid
+reverse
+property
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+the
+value
+associated
+with
+the
+<code>
+@reverse
+</code>
+key
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Otherwise,
+set
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+the
+value
+associated
+with
+the
+<code>
+@reverse
+</code>
+key
+for
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+for
+<i>
+document
+relative
+</i>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+and
+<i>
+defined
+</i>.
+If
+the
+result
+is
+neither
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+nor
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+i.e.,
+it
+contains
+no
+colon
+(
+<code>:
+</code>
+),
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+an
+<code>
+@container
+</code>
+member,
+set
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+its
+value;
+if
+its
+value
+is
+neither
+<code>
+@set
+</code>,
+nor
+<code>
+@index
+</code>,
+nor
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property">
+invalid
+reverse
+property
+</a>
+</code>
+error
+has
+been
+detected
+(reverse
+properties
+only
+support
+set-
+and
+index-containers)
+and
+processing
+is
+aborted.
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>
+flag
+of
+<i>
+definition
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>.
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+of
+<i>
+term
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+to
+<i>
+definition
+</i>
+and
+the
+value
+associated
+with
+<i>
+defined
+</i>
+'s
+key
+<i>
+term
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+return.
+</li>
+</ol>
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>
+flag
+of
+<i>
+definition
+</i>
+to
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@id
+</code>
+and
+its
+value
+does
+not
+equal
+<i>
+term
+</i>:
+<ol class="algorithm">
+<li>
+If
+the
+value
+associated
+with
+the
+<code>
+@id
+</code>
+key
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Otherwise,
+set
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+the
+value
+associated
+with
+the
+<code>
+@id
+</code>
+key
+for
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+for
+<i>
+document
+relative
+</i>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+and
+<i>
+defined
+</i>.
+If
+the
+resulting
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+is
+neither
+a
+<a class= "tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+nor
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+nor
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted;
+if
+it
+equals
+<code>
+@context
+</code>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-keyword-alias">
+invalid
+keyword
+alias
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+Otherwise
+if
+the
+<i>
+term
+</i>
+contains
+a
+colon
+(
+<code>:
+</code>
+):
+<ol class="algorithm">
+<li>
+If
+<i>
+term
+</i>
+is
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+with
+a
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+that
+is
+a
+key
+in
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+a
+dependency
+has
+been
+found.
+Use
+this
+algorithm
+recursively
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+the
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+as
+<i>
+term
+</i>,
+and
+<i>
+defined
+</i>.
+</li>
+<li>
+If
+<i>
+term
+</i>
+'s
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+has
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+set
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+the
+result
+of
+concatenating
+the
+value
+associated
+with
+the
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+'s
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+and
+the
+<i>
+term
+</i>
+'s
+<i>
+suffix
+</i>.
+</li>
+<li>
+Otherwise,
+<i>
+term
+</i>
+is
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+Set
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+<i>
+term
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+of
+<i>
+definition
+</i>
+is
+set
+to
+the
+result
+of
+concatenating
+the
+value
+associated
+with
+the
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>
+and
+<i>
+term
+</i>.
+If
+it
+does
+not
+have
+a
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+</code>
+error
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@container
+</code>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+container
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@container
+</code>
+key,
+which
+must
+be
+either
+<code>
+@list
+</code>,
+<code>
+@set
+</code>,
+<code>
+@index
+</code>,
+or
+<code>
+@language
+</code>.
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-container-mapping">
+invalid
+container
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+<i>
+container
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@language
+</code>
+and
+does
+not
+contain
+the
+key
+<code>
+@type
+</code>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+language
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@language
+</code>
+key,
+which
+must
+be
+either
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-language-mapping">
+invalid
+language
+mapping
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+language
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+set
+it
+to
+lowercased
+<i>
+language
+</i>.
+Set
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+of
+<i>
+definition
+</i>
+to
+<i>
+language
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Set
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+of
+<i>
+term
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+to
+<i>
+definition
+</i>
+and
+set
+the
+value
+associated
+with
+<i>
+defined
+</i>
+'s
+key
+<i>
+term
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>.
+</li>
+</ol>
+</section>
+</section>
+<section id="iri-expansion">
+<h3 aria-level="2" role="heading" id="h3_iri-expansion">
+<span class="secno">
+6.3
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+</h3>
+<p>
+In
+JSON-LD
+documents,
+some
+keys
+and
+values
+may
+represent
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+This
+section
+defines
+an
+algorithm
+for
+transforming
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+that
+represents
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+into
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+It
+also
+covers
+transforming
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+aliases
+</a>
+into
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+expansion
+may
+occur
+during
+context
+processing
+or
+during
+any
+of
+the
+other
+JSON-LD
+algorithms.
+If
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+expansion
+occurs
+during
+context
+processing,
+then
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+and
+its
+related
+<i>
+defined
+</i>
+map
+from
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>
+are
+passed
+to
+this
+algorithm.
+This
+allows
+for
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+dependencies
+to
+be
+processed
+via
+the
+<a href="#create-term-definition">
+Create
+Term
+Definition
+algorithm
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-2" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+In
+order
+to
+expand
+<i>
+value
+</i>
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+we
+must
+first
+determine
+if
+it
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+a
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+alias
+</a>,
+or
+some
+form
+of
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Based
+on
+what
+we
+find,
+we
+handle
+the
+specific
+kind
+of
+expansion;
+for
+example,
+we
+expand
+a
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+alias
+</a>
+to
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+and
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href= "#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+according
+to
+its
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+While
+inspecting
+<i>
+value
+</i>
+we
+may
+also
+find
+that
+we
+need
+to
+create
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+dependencies
+because
+we're
+running
+this
+algorithm
+during
+context
+processing.
+We
+can
+tell
+whether
+or
+not
+we're
+running
+during
+context
+processing
+by
+checking
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+against
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+We
+know
+we
+need
+to
+create
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+when
+<i>
+value
+</i>
+is
+a
+key
+in
+the
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+and
+the
+<i>
+defined
+</i>
+map
+does
+not
+have
+a
+key
+for
+<i>
+value
+</i>
+with
+an
+associated
+value
+of
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>.
+The
+<i>
+defined
+</i>
+map
+is
+used
+during
+<a href="#context-processing-algorithm">
+Context
+Processing
+</a>
+to
+keep
+track
+of
+which
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+have
+already
+been
+defined
+or
+are
+in
+the
+process
+of
+being
+defined.
+We
+create
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+by
+using
+the
+<a href="#create-term-definition">
+Create
+Term
+Definition
+algorithm
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-2" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+two
+required
+and
+four
+optional
+input
+variables.
+The
+required
+inputs
+are
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+a
+<i>
+value
+</i>
+to
+be
+expanded.
+The
+optional
+inputs
+are
+two
+flags,
+<i>
+document
+relative
+</i>
+and
+<i>
+vocab
+</i>,
+that
+specifying
+whether
+<i>
+value
+</i>
+can
+be
+interpreted
+as
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+against
+the
+document's
+base
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+respectively,
+and
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+and
+a
+map
+<i>
+defined
+</i>
+to
+be
+used
+when
+this
+algorithm
+is
+used
+during
+<a href="#context-processing-algorithm">
+Context
+Processing
+</a>.
+If
+not
+passed,
+the
+two
+flags
+are
+set
+to
+<code>
+false
+</code>
+and
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+and
+<i>
+defined
+</i>
+are
+initialized
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<i>
+value
+</i>
+as
+is.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+it
+contains
+a
+key
+that
+equals
+<i>
+value
+</i>,
+and
+the
+value
+associated
+with
+the
+key
+that
+equals
+<i>
+value
+</i>
+in
+<i>
+defined
+</i>
+is
+not
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+invoke
+the
+<a href="#create-term-definition">
+Create
+Term
+Definition
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+<i>
+value
+</i>
+as
+<i>
+term
+</i>,
+and
+<i>
+defined
+</i>.
+This
+will
+ensure
+that
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+is
+created
+for
+<i>
+value
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+during
+<a href= "#context-processing-algorithm">
+Context
+Processing
+</a>.
+</li>
+<li>
+If
+<i>
+vocab
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+for
+<i>
+value
+</i>,
+return
+the
+associated
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>.
+</li>
+<li>
+If
+<i>
+value
+</i>
+contains
+a
+colon
+(
+<code>:
+</code>
+),
+it
+is
+either
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>:
+<ol class="algorithm">
+<li>
+Split
+<i>
+value
+</i>
+into
+a
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+and
+<i>
+suffix
+</i>
+at
+the
+first
+occurrence
+of
+a
+colon
+(
+<code>:
+</code>
+).
+</li>
+<li>
+If
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+is
+underscore
+(
+<code>
+_
+</code>
+)
+or
+<i>
+suffix
+</i>
+begins
+with
+double-forward-slash
+(
+<code>
+//
+</code>
+),
+return
+<i>
+value
+</i>
+as
+it
+is
+already
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+it
+contains
+a
+key
+that
+equals
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>,
+and
+the
+value
+associated
+with
+the
+key
+that
+equals
+<i>
+prefix
+</i>
+in
+<i>
+defined
+</i>
+is
+not
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+invoke
+the
+<a href="#create-term-definition">
+Create
+Term
+Definition
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>,
+<i>
+prefix
+</i>
+as
+<i>
+term
+</i>,
+and
+<i>
+defined
+</i>.
+This
+will
+ensure
+that
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+is
+created
+for
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+in
+<a class= "tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+during
+<a href="#context-processing-algorithm">
+Context
+Processing
+</a>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+contains
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+for
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>,
+return
+the
+result
+of
+concatenating
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+associated
+with
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+and
+<i>
+suffix
+</i>.
+</li>
+<li>
+Return
+<i>
+value
+</i>
+as
+it
+is
+already
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+vocab
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+and
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+return
+the
+result
+of
+concatenating
+the
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>
+with
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+document
+relative
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+set
+<i>
+value
+</i>
+to
+the
+result
+of
+resolving
+<i>
+value
+</i>
+against
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Only
+the
+basic
+algorithm
+in
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-5.2">
+section
+5.2
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3986">
+RFC3986
+</a>
+</cite>
+]
+is
+used;
+neither
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-6.2.2">
+Syntax-Based
+Normalization
+</a>
+</cite>
+nor
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-6.2.3">
+Scheme-Based
+Normalization
+</a>
+</cite>
+are
+performed.
+Characters
+additionally
+allowed
+in
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+references
+are
+treated
+in
+the
+same
+way
+that
+unreserved
+characters
+are
+treated
+in
+URI
+references,
+per
+<cite>
+<a href= "http://tools.ietf.org/html/rfc3987#section-6.5">
+section
+6.5
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+].
+</li>
+<li>
+Return
+<i>
+value
+</i>
+as
+is.
+</li>
+</ol>
+</section>
+</section>
+</section>
+<section id="expansion-algorithms">
+<h2 aria-level="1" role="heading" id="h2_expansion-algorithms">
+<span class="secno">
+7.
+</span>
+Expansion
+Algorithms
+</h2>
+<section id="expansion-algorithm">
+<h3 aria-level="2" role="heading" id="h3_expansion-algorithm">
+<span class="secno">
+7.1
+</span>
+Expansion
+Algorithm
+</h3>
+<p>
+This
+algorithm
+expands
+a
+JSON-LD
+document,
+such
+that
+all
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+definitions
+are
+removed,
+all
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+and
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+are
+expanded
+to
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>,
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>,
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+and
+all
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>
+are
+expressed
+in
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>
+in
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-3" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Starting
+with
+its
+root
+<i>
+element
+</i>,
+we
+can
+process
+the
+JSON-LD
+document
+recursively,
+until
+we
+have
+a
+fully
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expanded
+</a>
+<i>
+result
+</i>.
+When
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expanding
+</a>
+an
+<i>
+element
+</i>,
+we
+can
+treat
+each
+one
+differently
+according
+to
+its
+type,
+in
+order
+to
+break
+down
+the
+problem:
+</p>
+<ol>
+<li>
+If
+the
+<i>
+element
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+there
+is
+nothing
+to
+expand.
+</li>
+<li>
+Otherwise,
+if
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>,
+we
+expand
+it
+according
+to
+the
+<a href="#value-expansion">
+Value
+Expansion
+algorithm
+</a>.
+</li>
+<li>
+Otherwise,
+if
+the
+<i>
+element
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+then
+we
+expand
+each
+of
+its
+items
+recursively
+and
+return
+them
+in
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Otherwise,
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+We
+expand
+each
+of
+its
+keys,
+adding
+them
+to
+our
+<i>
+result
+</i>,
+and
+then
+we
+expand
+each
+value
+for
+each
+key
+recursively.
+Some
+of
+the
+keys
+will
+be
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+and
+others
+will
+be
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+or
+simply
+ignored
+because
+they
+do
+not
+have
+definitions
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+Any
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+will
+be
+expanded
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>.
+</li>
+</ol>
+<p>
+Finally,
+after
+ensuring
+<i>
+result
+</i>
+is
+in
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+we
+return
+<i>
+result
+</i>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-3" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+three
+input
+variables:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+an
+<i>
+element
+</i>
+to
+be
+expanded.
+To
+begin,
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+and
+<i>
+element
+</i>
+is
+set
+to
+the
+<a class="tref internalDFN" title="json-ld-input" href="#dfn-json-ld-input">
+JSON-LD
+input
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+element
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>,
+<ol class="algorithm">
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+<code>
+@graph
+</code>,
+drop
+the
+free-floating
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>
+by
+returning
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+Return
+the
+result
+of
+the
+<a href="#value-expansion">
+Value
+Expansion
+algorithm
+</a>,
+passing
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+element
+</i>
+as
+<i>
+value
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+element
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+<ol class="algorithm">
+<li>
+Initialize
+an
+empty
+array,
+<i>
+result
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+element
+</i>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+expanded
+item
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+item
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+If
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+<code>
+@list
+</code>
+or
+its
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+is
+set
+to
+<code>
+@list
+</code>,
+the
+<i>
+expanded
+item
+</i>
+must
+not
+be
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+or
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+otherwise
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.list-of-lists">
+list
+of
+lists
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+expanded
+item
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+append
+each
+of
+its
+items
+to
+<i>
+result
+</i>.
+Otherwise,
+if
+<i>
+expanded
+item
+</i>
+is
+not
+null,
+append
+it
+to
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+contains
+the
+key
+<code>
+@context
+</code>,
+set
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+to
+the
+result
+of
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+the
+value
+of
+the
+<code>
+@context
+</code>
+key
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+</li>
+<li>
+Initialize
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+<i>
+result
+</i>.
+</li>
+<li>
+For
+each
+<i>
+key
+</i>
+and
+<i>
+value
+</i>
+in
+<i>
+element
+</i>,
+ordered
+lexicographically
+by
+<i>
+key
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+key
+</i>
+is
+<code>
+@context
+</code>,
+continue
+to
+the
+next
+<i>
+key
+</i>.
+</li>
+<li>
+Set
+<i>
+expanded
+property
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+key
+</i>
+for
+<i>
+value
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+it
+neither
+contains
+a
+colon
+(
+<code>:
+</code>
+)
+nor
+it
+is
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+drop
+<i>
+key
+</i>
+by
+continuing
+to
+the
+next
+<i>
+key
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>:
+<ol class="algorithm">
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+equals
+<code>
+@reverse
+</code>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-map">
+invalid
+reverse
+property
+map
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+result
+</i>
+has
+already
+an
+<i>
+expanded
+property
+</i>
+member,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.colliding-keywords">
+colliding
+keywords
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@id
+</code>
+and
+<i>
+value
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid--id-value">
+invalid
+@id
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+set
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+value
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+document
+relative
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@type
+</code>
+and
+<i>
+value
+</i>
+is
+neither
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+nor
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-type-value">
+invalid
+type
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+set
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+document
+relative
+</i>
+to
+expand
+the
+<i>
+value
+</i>
+or
+each
+of
+its
+items.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@graph
+</code>,
+set
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<code>
+@graph
+</code>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+value
+</i>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@value
+</code>
+and
+<i>
+value
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-value-object-value">
+invalid
+value
+object
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+set
+<i>
+expanded
+value
+</i>
+to
+<i>
+value
+</i>.
+If
+<i>
+expanded
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+the
+<code>
+@value
+</code>
+member
+of
+<i>
+result
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+and
+continue
+with
+the
+next
+<i>
+key
+</i>
+from
+<i>
+element
+</i>.
+Null
+values
+need
+to
+be
+preserved
+in
+this
+case
+as
+the
+meaning
+of
+an
+<code>
+@type
+</code>
+member
+depends
+on
+the
+existence
+of
+an
+<code>
+@value
+</code>
+member.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@language
+</code>
+and
+<i>
+value
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-string">
+invalid
+language-tagged
+string
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+set
+<i>
+expanded
+value
+</i>
+to
+lowercased
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@index
+</code>
+and
+<i>
+value
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid--index-value">
+invalid
+@index
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+set
+<i>
+expanded
+value
+</i>
+to
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@list
+</code>:
+<ol class="algorithm">
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+<code>
+@graph
+</code>,
+continue
+with
+the
+next
+<i>
+key
+</i>
+from
+<i>
+element
+</i>
+to
+remove
+the
+free-floating
+list.
+</li>
+<li>
+Otherwise,
+initialize
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+value
+</i>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.list-of-lists">
+list
+of
+lists
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@set
+</code>,
+set
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+value
+</i>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@reverse
+</code>
+and
+<i>
+value
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">
+invalid
+@reverse
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<code>
+@reverse
+</code>
+as
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+value
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+contains
+an
+<code>
+@reverse
+</code>
+member,
+i.e.,
+properties
+that
+are
+reversed
+twice,
+execute
+for
+each
+of
+its
+<i>
+property
+</i>
+and
+<i>
+item
+</i>
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+result
+</i>
+does
+not
+have
+a
+<i>
+property
+</i>
+member,
+create
+one
+and
+set
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Append
+<i>
+item
+</i>
+to
+the
+value
+of
+the
+<i>
+property
+</i>
+member
+of
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+contains
+members
+other
+than
+<code>
+@reverse
+</code>:
+<ol class="algorithm">
+<li>
+If
+<i>
+result
+</i>
+does
+not
+have
+an
+<code>
+@reverse
+</code>
+member,
+create
+one
+and
+set
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Reference
+the
+value
+of
+the
+<code>
+@reverse
+</code>
+member
+in
+<i>
+result
+</i>
+using
+the
+variable
+<i>
+reverse
+map
+</i>.
+</li>
+<li>
+For
+each
+<i>
+property
+</i>
+and
+<i>
+items
+</i>
+in
+<i>
+expanded
+value
+</i>
+other
+than
+<code>
+@reverse
+</code>:
+<ol class="algorithm">
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+items
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+or
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">
+invalid
+reverse
+property
+value
+</a>
+</code>
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+reverse
+map
+</i>
+has
+no
+<i>
+property
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Append
+<i>
+item
+</i>
+to
+the
+value
+of
+the
+<i>
+property
+</i>
+member
+in
+<i>
+reverse
+map
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Continue
+with
+the
+next
+<i>
+key
+</i>
+from
+<i>
+element
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Unless
+<i>
+expanded
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+the
+<i>
+expanded
+property
+</i>
+member
+of
+<i>
+result
+</i>
+to
+<i>
+expanded
+value
+</i>.
+</li>
+<li>
+Continue
+with
+the
+next
+<i>
+key
+</i>
+from
+<i>
+element
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+key
+</i>
+'s
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+<code>
+@language
+</code>
+and
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+then
+<i>
+value
+</i>
+is
+expanded
+from
+a
+<a class="tref externalDFN" title="language-map" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#dfn-language-map">
+language
+map
+</a>
+as
+follows:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+expanded
+value
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+key-value
+pair
+<i>
+language
+</i>
+-
+<i>
+language
+value
+</i>
+in
+<i>
+value
+</i>,
+ordered
+lexicographically
+by
+<i>
+language
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+language
+value
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+language
+value
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+language
+value
+</i>:
+<ol class="algorithm">
+<li>
+<i>
+item
+</i>
+must
+be
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+otherwise
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-language-map-value">
+invalid
+language
+map
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+Append
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+to
+<i>
+expanded
+value
+</i>
+that
+consists
+of
+two
+key-value
+pairs:
+(
+<code>
+@value
+</code>
+-
+<i>
+item
+</i>
+)
+and
+(
+<code>
+@language
+</code>
+-lowercased
+<i>
+language
+</i>
+).
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+key
+</i>
+'s
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+<code>
+@index
+</code>
+and
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+then
+<i>
+value
+</i>
+is
+expanded
+from
+an
+index
+map
+as
+follows:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+expanded
+value
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+key-value
+pair
+<i>
+index
+</i>
+-
+<i>
+index
+value
+</i>
+in
+<i>
+value
+</i>,
+ordered
+lexicographically
+by
+<i>
+index
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+index
+value
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+index
+value
+</i>.
+</li>
+<li>
+Initialize
+<i>
+index
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+key
+</i>
+as
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+index
+value
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+index
+value
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+does
+not
+have
+the
+key
+<code>
+@index
+</code>,
+add
+the
+key-value
+pair
+(
+<code>
+@index
+</code>
+-
+<i>
+index
+</i>
+)
+to
+<i>
+item
+</i>.
+</li>
+<li>
+Append
+<i>
+item
+</i>
+to
+<i>
+expanded
+value
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+initialize
+<i>
+expanded
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+key
+</i>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+value
+</i>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+ignore
+<i>
+key
+</i>
+by
+continuing
+to
+the
+next
+<i>
+key
+</i>
+from
+<i>
+element
+</i>.
+</li>
+<li>
+If
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+associated
+to
+<i>
+key
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+<code>
+@list
+</code>
+and
+<i>
+expanded
+value
+</i>
+is
+not
+already
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+convert
+<i>
+expanded
+value
+</i>
+to
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+by
+first
+setting
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+expanded
+value
+</i>
+if
+it
+is
+not
+already
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+and
+then
+by
+setting
+it
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+the
+key-value
+pair
+<code>
+@list
+</code>
+-
+<i>
+expanded
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+associated
+to
+<i>
+key
+</i>
+indicates
+that
+it
+is
+a
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>
+<ol class="algorithm">
+<li>
+If
+<i>
+result
+</i>
+has
+no
+<code>
+@reverse
+</code>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Reference
+the
+value
+of
+the
+<code>
+@reverse
+</code>
+member
+in
+<i>
+result
+</i>
+using
+the
+variable
+<i>
+reverse
+map
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+<i>
+expanded
+value
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+expanded
+value
+</i>
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+or
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">
+invalid
+reverse
+property
+value
+</a>
+</code>
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+reverse
+map
+</i>
+has
+no
+<i>
+expanded
+property
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Append
+<i>
+item
+</i>
+to
+the
+value
+of
+the
+<i>
+expanded
+property
+</i>
+member
+of
+<i>
+reverse
+map
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+key
+</i>
+is
+not
+a
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+result
+</i>
+does
+not
+have
+an
+<i>
+expanded
+property
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Append
+<i>
+expanded
+value
+</i>
+to
+value
+of
+the
+<i>
+expanded
+property
+</i>
+member
+of
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+result
+</i>
+contains
+the
+key
+<code>
+@value
+</code>:
+<ol class="algorithm">
+<li>
+The
+<i>
+result
+</i>
+must
+not
+contain
+any
+keys
+other
+than
+<code>
+@value
+</code>,
+<code>
+@language
+</code>,
+<code>
+@type
+</code>,
+and
+<code>
+@index
+</code>.
+It
+must
+not
+contain
+both
+the
+<code>
+@language
+</code>
+key
+and
+the
+<code>
+@type
+</code>
+key.
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-value-object">
+invalid
+value
+object
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+the
+value
+of
+<i>
+result
+</i>
+'s
+<code>
+@value
+</code>
+key
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+then
+set
+<i>
+result
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+Otherwise,
+if
+the
+value
+of
+<i>
+result
+</i>
+'s
+<code>
+@value
+</code>
+member
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+and
+<i>
+result
+</i>
+contains
+the
+key
+<code>
+@language
+</code>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-value">
+invalid
+language-tagged
+value
+</a>
+</code>
+error
+has
+been
+detected
+(only
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+can
+be
+language-tagged)
+and
+processing
+is
+aborted.
+</li>
+<li>
+Otherwise,
+if
+the
+<i>
+result
+</i>
+has
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@type
+</code>
+member
+and
+its
+value
+is
+not
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-typed-value">
+invalid
+typed
+value
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+result
+</i>
+contains
+the
+key
+<code>
+@type
+</code>
+and
+its
+associated
+value
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+the
+associated
+value.
+</li>
+<li>
+Otherwise,
+if
+<i>
+result
+</i>
+contains
+the
+key
+<code>
+@set
+</code>
+or
+<code>
+@list
+</code>:
+<ol class="algorithm">
+<li>
+The
+<i>
+result
+</i>
+must
+contain
+at
+most
+one
+other
+key
+and
+that
+key
+must
+be
+<code>
+@index
+</code>.
+Otherwise,
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.invalid-set-or-list-object">
+invalid
+set
+or
+list
+object
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+<li>
+If
+<i>
+result
+</i>
+contains
+the
+key
+<code>
+@set
+</code>,
+then
+set
+<i>
+result
+</i>
+to
+the
+key's
+associated
+value.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+result
+</i>
+contains
+only
+the
+key
+<code>
+@language
+</code>,
+set
+<i>
+result
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+<code>
+@graph
+</code>,
+drop
+free-floating
+values
+as
+follows:
+<ol class="algorithm">
+<li>
+If
+<i>
+result
+</i>
+is
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+or
+contains
+the
+keys
+<code>
+@value
+</code>
+or
+<code>
+@list
+</code>,
+set
+<i>
+result
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+result
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+whose
+only
+key
+is
+<code>
+@id
+</code>,
+set
+<i>
+result
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+<p>
+If,
+after
+the
+above
+algorithm
+is
+run,
+the
+result
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+contains
+only
+an
+<code>
+@graph
+</code>
+key,
+set
+the
+result
+to
+the
+value
+of
+<code>
+@graph
+</code>
+'s
+value.
+Otherwise,
+if
+the
+result
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Finally,
+if
+the
+result
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+then
+set
+the
+result
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+the
+result.
+</p>
+</section>
+</section>
+<section id="value-expansion">
+<h3 aria-level="2" role="heading" id="h3_value-expansion">
+<span class="secno">
+7.2
+</span>
+Value
+Expansion
+</h3>
+<p>
+Some
+values
+in
+JSON-LD
+can
+be
+expressed
+in
+a
+<a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">
+compact
+form
+</a>.
+These
+values
+are
+required
+to
+be
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+expanded
+</a>
+at
+times
+when
+processing
+JSON-LD
+documents.
+A
+value
+is
+said
+to
+be
+in
+<dfn title="expanded-form" id="dfn-expanded-form">
+expanded
+form
+</dfn>
+after
+the
+application
+of
+this
+algorithm.
+</p>
+<section class="informative">
+<h4 id="overview-4" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+set
+to
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>,
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>
+on
+<i>
+value
+</i>
+is
+returned.
+</p>
+<p>
+Otherwise,
+the
+result
+will
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+an
+<code>
+@value
+</code>
+member
+whose
+value
+is
+the
+passed
+<i>
+value
+</i>.
+Additionally,
+an
+<code>
+@type
+</code>
+member
+will
+be
+included
+if
+there
+is
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+associated
+with
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+or
+an
+<code>
+@language
+</code>
+member
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+and
+there
+is
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+associated
+with
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-4" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+three
+required
+inputs:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+a
+<i>
+value
+</i>
+to
+expand.
+</p>
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+that
+is
+<code>
+@id
+</code>,
+return
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+a
+single
+key-value
+pair
+where
+the
+key
+is
+<code>
+@id
+</code>
+and
+the
+value
+is
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+value
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+document
+relative
+</i>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+that
+is
+<code>
+@vocab
+</code>,
+return
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+a
+single
+key-value
+pair
+where
+the
+key
+is
+<code>
+@id
+</code>
+and
+the
+value
+is
+the
+result
+of
+using
+the
+<a href="#iri-expansion">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+document
+relative
+</i>.
+</li>
+<li>
+Otherwise,
+initialize
+<i>
+result
+</i>
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+an
+<code>
+@value
+</code>
+member
+whose
+value
+is
+set
+to
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+add
+an
+<code>
+@type
+</code>
+member
+to
+<i>
+result
+</i>
+and
+set
+its
+value
+to
+the
+value
+associated
+with
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>:
+<ol class="algorithm">
+<li>
+If
+a
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+is
+associated
+with
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+add
+an
+<code>
+@language
+</code>
+to
+<i>
+result
+</i>
+and
+set
+its
+value
+to
+the
+language
+code
+associated
+with
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+;
+unless
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+in
+which
+case
+no
+member
+is
+added.
+</li>
+<li>
+Otherwise,
+if
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>,
+add
+an
+<code>
+@language
+</code>
+to
+<i>
+result
+</i>
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</section>
+</section>
+</section>
+<section id="compaction-algorithms">
+<h2 aria-level="1" role="heading" id="h2_compaction-algorithms">
+<span class="secno">
+8.
+</span>
+Compaction
+Algorithms
+</h2>
+<section id="compaction-algorithm">
+<h3 aria-level="2" role="heading" id="h3_compaction-algorithm">
+<span class="secno">
+8.1
+</span>
+Compaction
+Algorithm
+</h3>
+<p>
+This
+algorithm
+compacts
+a
+JSON-LD
+document,
+such
+that
+the
+given
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+applied.
+This
+must
+result
+in
+shortening
+any
+applicable
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>,
+any
+applicable
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+to
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+aliases
+</a>,
+and
+any
+applicable
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>
+expressed
+in
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>
+to
+simple
+values
+such
+as
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+or
+<a class="tref internalDFN" title="number" href= "#dfn-number">
+numbers
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-5" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Starting
+with
+its
+root
+<i>
+element
+</i>,
+we
+can
+process
+the
+JSON-LD
+document
+recursively,
+until
+we
+have
+a
+fully
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compacted
+</a>
+<i>
+result
+</i>.
+When
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compacting
+</a>
+an
+<i>
+element
+</i>,
+we
+can
+treat
+each
+one
+differently
+according
+to
+its
+type,
+in
+order
+to
+break
+down
+the
+problem:
+</p>
+<ol>
+<li>
+If
+the
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>,
+it
+is
+already
+in
+<a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">
+compacted
+form
+</a>,
+so
+we
+simply
+return
+it.
+</li>
+<li>
+If
+the
+<i>
+element
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+we
+compact
+each
+of
+its
+items
+recursively
+and
+return
+them
+in
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Otherwise
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+The
+value
+of
+each
+key
+in
+element
+is
+compacted
+recursively.
+Some
+of
+the
+keys
+will
+be
+compacted,
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+and
+others
+will
+be
+compacted
+from
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+to
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+aliases
+</a>
+or
+simply
+left
+unchanged
+because
+they
+do
+not
+have
+definitions
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+Values
+will
+be
+converted
+to
+<a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">
+compacted
+form
+</a>
+via
+the
+<a href="#value-compaction">
+Value
+Compaction
+algorithm
+</a>.
+Some
+data
+will
+be
+reshaped
+based
+on
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>
+specified
+in
+the
+context
+such
+as
+<code>
+@index
+</code>
+or
+<code>
+@language
+</code>
+maps.
+</li>
+</ol>
+<p>
+The
+final
+output
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+key,
+if
+a
+non-empty
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+was
+given,
+where
+the
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+either
+<i>
+result
+</i>
+or
+a
+wrapper
+for
+it
+where
+<i>
+result
+</i>
+appears
+as
+the
+value
+of
+an
+(aliased)
+<code>
+@graph
+</code>
+key
+because
+<i>
+result
+</i>
+contained
+two
+or
+more
+items
+in
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-5" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+five
+required
+input
+variables:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+an
+<i>
+element
+</i>
+to
+be
+compacted,
+and
+a
+flag
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>.
+To
+begin,
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+set
+to
+the
+result
+of
+performing
+<a href="#context-processing-algorithm">
+Context
+Processing
+</a>
+on
+the
+passed
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>,
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+is
+set
+to
+the
+result
+of
+performing
+the
+<a href="#inverse-context-creation">
+Inverse
+Context
+Creation
+algorithm
+</a>
+on
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+<i>
+element
+</i>
+is
+set
+to
+the
+result
+of
+performing
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>
+on
+the
+<a class="tref internalDFN" title="json-ld-input" href="#dfn-json-ld-input">
+JSON-LD
+input
+</a>,
+and,
+if
+not
+passed,
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+is
+set
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>,
+it
+is
+already
+in
+its
+most
+compact
+form,
+so
+simply
+return
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+result
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+element
+</i>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+compacted
+item
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<em>
+item
+</em>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+compacted
+item
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+then
+append
+it
+to
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+result
+</i>
+contains
+only
+one
+item
+(it
+has
+a
+length
+of
+<code>
+1
+</code>
+),
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+no
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+and
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+set
+<i>
+result
+</i>
+to
+its
+only
+item.
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@value
+</code>
+or
+<code>
+@id
+</code>
+member
+and
+the
+result
+of
+using
+the
+<a href="#value-compaction">
+Value
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,and
+<i>
+element
+</i>
+as
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>,
+return
+that
+result.
+</li>
+<li>
+Initialize
+<i>
+inside
+reverse
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+if
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+equals
+<code>
+@reverse
+</code>,
+otherwise
+to
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+</li>
+<li>
+Initialize
+<i>
+result
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+For
+each
+key
+<i>
+expanded
+property
+</i>
+and
+value
+<i>
+expanded
+value
+</i>
+in
+<i>
+element
+</i>,
+ordered
+lexicographically
+by
+<i>
+expanded
+property
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@id
+</code>
+or
+<code>
+@type
+</code>:
+<ol class="algorithm">
+<li>
+If
+<i>
+expanded
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+then
+initialize
+<i>
+compacted
+value
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+value
+</i>
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>
+if
+<i>
+expanded
+property
+</i>
+is
+<code>
+@type
+</code>,
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+otherwise.
+</li>
+<li>
+Otherwise,
+<i>
+expanded
+value
+</i>
+must
+be
+a
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+compacted
+value
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+item
+<i>
+expanded
+type
+</i>
+in
+<i>
+expanded
+value
+</i>,
+append
+the
+result
+of
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+type
+</i>
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+to
+<i>
+compacted
+value
+</i>.
+</li>
+<li>
+If
+<i>
+compacted
+value
+</i>
+contains
+only
+one
+item
+(it
+has
+a
+length
+of
+<code>
+1
+</code>
+),
+then
+set
+<i>
+compacted
+value
+</i>
+to
+its
+only
+item.
+</li>
+</ol>
+</li>
+<li>
+Initialize
+<i>
+alias
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+property
+</i>
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>.
+</li>
+<li>
+Add
+a
+member
+<i>
+alias
+</i>
+to
+<i>
+result
+</i>
+whose
+value
+is
+set
+to
+<i>
+compacted
+value
+</i>
+and
+continue
+to
+the
+next
+<i>
+expanded
+property
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@reverse
+</code>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+compacted
+value
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<code>
+@reverse
+</code>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+expanded
+value
+</i>
+for
+<i>
+element
+</i>.
+</li>
+<li>
+For
+each
+<i>
+property
+</i>
+and
+<i>
+value
+</i>
+in
+<i>
+compacted
+value
+</i>:
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+for
+<i>
+property
+</i>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+indicates
+that
+<i>
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+for
+<i>
+property
+</i>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<code>
+@set
+</code>
+or
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+is
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+and
+<i>
+value
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+<i>
+value
+</i>
+to
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<i>
+property
+</i>
+is
+not
+a
+member
+of
+<i>
+result
+</i>,
+add
+one
+and
+set
+its
+value
+to
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+the
+value
+of
+the
+<i>
+property
+</i>
+member
+of
+<i>
+result
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+the
+value.
+Then
+append
+<i>
+value
+</i>
+to
+its
+value
+if
+<i>
+value
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+otherwise
+append
+each
+of
+its
+items.
+</li>
+<li>
+Remove
+the
+<i>
+property
+</i>
+member
+from
+<i>
+compacted
+value
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+compacted
+value
+</i>
+has
+some
+remaining
+members,
+i.e.,
+it
+is
+not
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+alias
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<code>
+@reverse
+</code>
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>.
+</li>
+<li>
+Set
+the
+value
+of
+the
+<i>
+alias
+</i>
+member
+of
+<i>
+result
+</i>
+to
+<i>
+compacted
+value
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Continue
+with
+the
+next
+<i>
+expanded
+property
+</i>
+from
+<i>
+element
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+expanded
+property
+</i>
+is
+<code>
+@index
+</code>
+and
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+that
+is
+<code>
+@index
+</code>,
+then
+the
+compacted
+result
+will
+be
+inside
+of
+an
+<code>
+@index
+</code>
+container,
+drop
+the
+<code>
+@index
+</code>
+property
+by
+continuing
+to
+the
+next
+<i>
+expanded
+property
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+expanded
+property
+</i>
+is
+<code>
+@index
+</code>,
+<code>
+@value
+</code>,
+or
+<code>
+@language
+</code>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+alias
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+property
+</i>
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>.
+</li>
+<li>
+Add
+a
+member
+<i>
+alias
+</i>
+to
+<i>
+result
+</i>
+whose
+value
+is
+set
+to
+<i>
+expanded
+value
+</i>
+and
+continue
+with
+the
+next
+<i>
+expanded
+property
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+expanded
+value
+</i>
+is
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+item
+active
+property
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+property
+</i>
+for
+<i>
+iri
+</i>,
+<i>
+expanded
+value
+</i>
+for
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+and
+<i>
+inside
+reverse
+</i>.
+</li>
+<li>
+If
+<i>
+result
+</i>
+does
+not
+have
+the
+key
+that
+equals
+<i>
+item
+active
+property
+</i>,
+set
+this
+key's
+value
+in
+<i>
+result
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Otherwise,
+if
+the
+key's
+value
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+then
+set
+it
+to
+one
+containing
+only
+the
+value.
+</li>
+</ol>
+</li>
+<li>
+At
+this
+point,
+<i>
+expanded
+value
+</i>
+must
+be
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+due
+to
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>.
+For
+each
+item
+<i>
+expanded
+item
+</i>
+in
+<i>
+expanded
+value
+</i>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+item
+active
+property
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+expanded
+property
+</i>
+for
+<i>
+iri
+</i>,
+<i>
+expanded
+item
+</i>
+for
+<i>
+value
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+and
+<i>
+inside
+reverse
+</i>.
+</li>
+<li>
+Initialize
+<i>
+container
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+there
+is
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+for
+<i>
+item
+active
+property
+</i>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+set
+<i>
+container
+</i>
+to
+its
+value.
+</li>
+<li>
+Initialize
+<i>
+compacted
+item
+</i>
+to
+the
+result
+of
+using
+this
+algorithm
+recursively,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+item
+active
+property
+</i>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+<i>
+expanded
+item
+</i>
+for
+<i>
+element
+</i>
+if
+it
+does
+not
+contain
+the
+key
+<code>
+@list
+</code>,
+otherwise
+pass
+the
+key's
+associated
+value
+for
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+compacted
+item
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+then
+set
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+compacted
+item
+</i>.
+</li>
+<li>
+If
+<i>
+container
+</i>
+is
+not
+<code>
+@list
+</code>:
+<ol class="algorithm">
+<li>
+Convert
+<i>
+compacted
+item
+</i>
+to
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+by
+setting
+it
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+key-value
+pair
+where
+the
+key
+is
+the
+result
+of
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<code>
+@list
+</code>
+for
+<i>
+iri
+</i>,
+and
+<i>
+compacted
+item
+</i>
+for
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<i>
+expanded
+item
+</i>
+contains
+the
+key
+<code>
+@index
+</code>,
+then
+add
+a
+key-value
+pair
+to
+<i>
+compacted
+item
+</i>
+where
+the
+key
+is
+the
+result
+of
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<code>
+@index
+</code>
+as
+<i>
+iri
+</i>,
+and
+the
+value
+associated
+with
+the
+<code>
+@index
+</code>
+key
+in
+<i>
+expanded
+item
+</i>
+as
+<i>
+value
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+<i>
+item
+active
+property
+</i>
+must
+not
+be
+a
+key
+in
+<i>
+result
+</i>
+because
+there
+cannot
+be
+two
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+objects
+</a>
+associated
+with
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+that
+has
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+;
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.compaction-to-list-of-lists">
+compaction
+to
+list
+of
+lists
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+container
+</i>
+is
+<code>
+@language
+</code>
+or
+<code>
+@index
+</code>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+active
+property
+</i>
+is
+not
+a
+key
+in
+<i>
+result
+</i>,
+initialize
+it
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+Initialize
+<i>
+map
+object
+</i>
+to
+the
+value
+of
+<i>
+item
+active
+property
+</i>
+in
+<i>
+result
+</i>.
+</li>
+<li>
+If
+<i>
+container
+</i>
+is
+<code>
+@language
+</code>
+and
+<i>
+compacted
+item
+</i>
+contains
+the
+key
+<code>
+@value
+</code>,
+then
+set
+<i>
+compacted
+item
+</i>
+to
+the
+value
+associated
+with
+its
+<code>
+@value
+</code>
+key.
+</li>
+<li>
+Initialize
+<i>
+map
+key
+</i>
+to
+the
+value
+associated
+with
+with
+the
+key
+that
+equals
+<i>
+container
+</i>
+in
+<i>
+expanded
+item
+</i>.
+</li>
+<li>
+If
+<i>
+map
+key
+</i>
+is
+not
+a
+key
+in
+<i>
+map
+object
+</i>,
+then
+set
+this
+key's
+value
+in
+<i>
+map
+object
+</i>
+to
+<i>
+compacted
+item
+</i>.
+Otherwise,
+if
+the
+value
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+then
+set
+it
+to
+one
+containing
+only
+the
+value
+and
+then
+append
+<i>
+compacted
+item
+</i>
+to
+it.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+<ol class="algorithm">
+<li>
+If
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+is
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+<i>
+container
+</i>
+is
+<code>
+@set
+</code>
+or
+<code>
+@list
+</code>,
+or
+<i>
+expanded
+property
+</i>
+is
+<code>
+@list
+</code>
+or
+<code>
+@graph
+</code>
+and
+<i>
+compacted
+item
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+<i>
+compacted
+item
+</i>.
+</li>
+<li>
+If
+<i>
+item
+active
+property
+</i>
+is
+not
+a
+key
+in
+<i>
+result
+</i>
+then
+add
+the
+key-value
+pair,
+(
+<i>
+item
+active
+property
+</i>
+-
+<i>
+compacted
+item
+</i>
+),
+to
+<i>
+result
+</i>.
+</li>
+<li>
+Otherwise,
+if
+the
+value
+associated
+with
+the
+key
+that
+equals
+<i>
+item
+active
+property
+</i>
+in
+<i>
+result
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+set
+it
+to
+a
+new
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+only
+the
+value.
+Then
+append
+<i>
+compacted
+item
+</i>
+to
+the
+value
+if
+<i>
+compacted
+item
+</i>
+is
+not
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+otherwise,
+concatenate
+it.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+<p>
+If,
+after
+the
+algorithm
+outlined
+above
+is
+run,
+the
+result
+<i>
+result
+</i>
+is
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+replace
+it
+with
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+a
+single
+member
+whose
+key
+is
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+and
+<code>
+@graph
+</code>
+as
+<i>
+iri
+</i>
+and
+whose
+value
+is
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+result
+</i>.
+Finally,
+if
+a
+non-empty
+<i>
+context
+</i>
+has
+been
+passed,
+add
+an
+<code>
+@context
+</code>
+member
+to
+<i>
+result
+</i>
+and
+set
+its
+value
+to
+the
+passed
+<i>
+context
+</i>.
+</p>
+</section>
+</section>
+<section id="inverse-context-creation">
+<h3 aria-level="2" role="heading" id="h3_inverse-context-creation">
+<span class="secno">
+8.2
+</span>
+Inverse
+Context
+Creation
+</h3>
+<p>
+When
+there
+is
+more
+than
+one
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+could
+be
+chosen
+to
+compact
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+it
+has
+to
+be
+ensured
+that
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+selection
+is
+both
+deterministic
+and
+represents
+the
+most
+context-appropriate
+choice
+whilst
+taking
+into
+consideration
+algorithmic
+complexity.
+</p>
+<p>
+In
+order
+to
+make
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+selections,
+the
+concept
+of
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+is
+introduced.
+An
+<dfn title="inverse-context" id="dfn-inverse-context">
+inverse
+context
+</dfn>
+is
+essentially
+a
+reverse
+lookup
+table
+that
+maps
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>,
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mappings
+</a>,
+and
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mappings
+</a>
+to
+a
+simple
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+for
+a
+given
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+A
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+only
+needs
+to
+be
+generated
+for
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+if
+it
+is
+being
+used
+for
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compaction
+</a>.
+</p>
+<p>
+To
+make
+use
+of
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+a
+list
+of
+preferred
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>
+and
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+are
+gathered
+for
+a
+particular
+value
+associated
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+These
+parameters
+are
+then
+fed
+to
+the
+<a href="#term-selection">
+Term
+Selection
+algorithm
+</a>,
+which
+will
+find
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+most
+appropriately
+matches
+the
+value's
+mappings.
+</p>
+<section class="informative">
+<h4 id="overview-6" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+To
+create
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+for
+a
+given
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+each
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+visited,
+ordered
+by
+length,
+shortest
+first
+(ties
+are
+broken
+by
+choosing
+the
+lexicographically
+least
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+).
+For
+each
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+an
+entry
+is
+added
+to
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+for
+each
+possible
+combination
+of
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+and
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+that
+would
+legally
+match
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+Illegal
+matches
+include
+differences
+between
+a
+value's
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+and
+that
+of
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+If
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+has
+no
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>,
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>,
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+(or
+some
+combination
+of
+these),
+then
+it
+will
+have
+an
+entry
+in
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+using
+the
+special
+key
+<code>
+@none
+</code>.
+This
+allows
+the
+<a href="#term-selection">
+Term
+Selection
+algorithm
+</a>
+to
+fall
+back
+to
+choosing
+more
+generic
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+when
+a
+more
+specifically-matching
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+not
+available
+for
+a
+particular
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+and
+value
+combination.
+</p>
+</section>
+<section>
+<h4 id="algorithm-6" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+one
+required
+input:
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+that
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+is
+being
+created
+for.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+result
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Initialize
+<i>
+default
+language
+</i>
+to
+<code>
+@none
+</code>.
+If
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>,
+set
+<i>
+default
+language
+</i>
+to
+it.
+</li>
+<li>
+For
+each
+key
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+and
+value
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+ordered
+by
+shortest
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+first
+(breaking
+ties
+by
+choosing
+the
+lexicographically
+least
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+):
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+cannot
+be
+selected
+during
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compaction
+</a>,
+so
+continue
+to
+the
+next
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+</li>
+<li>
+Initialize
+<i>
+container
+</i>
+to
+<code>
+@none
+</code>.
+If
+there
+is
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+in
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>,
+set
+<i>
+container
+</i>
+to
+its
+associated
+value.
+</li>
+<li>
+Initialize
+<i>
+iri
+</i>
+to
+the
+value
+of
+the
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+for
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>.
+</li>
+<li>
+If
+<i>
+iri
+</i>
+is
+not
+a
+key
+in
+<i>
+result
+</i>,
+add
+a
+key-value
+pair
+where
+the
+key
+is
+<i>
+iri
+</i>
+and
+the
+value
+is
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+to
+<i>
+result
+</i>.
+</li>
+<li>
+Reference
+the
+value
+associated
+with
+the
+<i>
+iri
+</i>
+member
+in
+<i>
+result
+</i>
+using
+the
+variable
+<i>
+container
+map
+</i>.
+</li>
+<li>
+If
+<i>
+container
+map
+</i>
+has
+no
+<i>
+container
+</i>
+member,
+create
+one
+and
+set
+its
+value
+to
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+two
+members.
+The
+first
+member
+is
+<code>
+@language
+</code>
+and
+its
+value
+is
+a
+new
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+the
+second
+member
+is
+<code>
+@type
+</code>
+and
+its
+value
+is
+a
+new
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Reference
+the
+value
+associated
+with
+the
+<i>
+container
+</i>
+member
+in
+<i>
+container
+map
+</i>
+using
+the
+variable
+<i>
+type/language
+map
+</i>.
+</li>
+<li>
+If
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+indicates
+that
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+represents
+a
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>:
+<ol class="algorithm">
+<li>
+Reference
+the
+value
+associated
+with
+the
+<code>
+@type
+</code>
+member
+in
+<i>
+type/language
+map
+</i>
+using
+the
+variable
+<i>
+type
+map
+</i>.
+</li>
+<li>
+If
+<i>
+type
+map
+</i>
+does
+not
+have
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@reverse
+</code>
+member,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+has
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>:
+<ol class="algorithm">
+<li>
+Reference
+the
+value
+associated
+with
+the
+<code>
+@type
+</code>
+member
+in
+<i>
+type/language
+map
+</i>
+using
+the
+variable
+<i>
+type
+map
+</i>.
+</li>
+<li>
+If
+<i>
+type
+map
+</i>
+does
+not
+have
+a
+member
+corresponding
+to
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+in
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+has
+a
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+(might
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+):
+<ol class="algorithm">
+<li>
+Reference
+the
+value
+associated
+with
+the
+<code>
+@language
+</code>
+member
+in
+<i>
+type/language
+map
+</i>
+using
+the
+variable
+<i>
+language
+map
+</i>.
+</li>
+<li>
+If
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+equals
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+<i>
+language
+</i>
+to
+<code>
+@null
+</code>
+;
+otherwise
+set
+it
+to
+the
+language
+code
+in
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>.
+</li>
+<li>
+If
+<i>
+language
+map
+</i>
+does
+not
+have
+a
+<i>
+language
+</i>
+member,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+</ol>
+</li>
+<li>
+Otherwise:
+<ol class="algorithm">
+<li>
+Reference
+the
+value
+associated
+with
+the
+<code>
+@language
+</code>
+member
+in
+<i>
+type/language
+map
+</i>
+using
+the
+variable
+<i>
+language
+map
+</i>.
+</li>
+<li>
+If
+<i>
+language
+map
+</i>
+does
+not
+have
+a
+<i>
+default
+language
+</i>
+member,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+<li>
+If
+<i>
+language
+map
+</i>
+does
+not
+have
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@none
+</code>
+member,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+<li>
+Reference
+the
+value
+associated
+with
+the
+<code>
+@type
+</code>
+member
+in
+<i>
+type/language
+map
+</i>
+using
+the
+variable
+<i>
+type
+map
+</i>.
+</li>
+<li>
+If
+<i>
+type
+map
+</i>
+does
+not
+have
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@none
+</code>
+member,
+create
+one
+and
+set
+its
+value
+to
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+being
+processed.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</section>
+</section>
+<section id="iri-compaction">
+<h3 aria-level="2" role="heading" id="h3_iri-compaction">
+<span class="secno">
+8.3
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+</h3>
+<p>
+This
+algorithm
+compacts
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+to
+a
+<a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">
+keyword
+alias
+</a>.
+A
+value
+that
+is
+associated
+with
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+may
+be
+passed
+in
+order
+to
+assist
+in
+selecting
+the
+most
+context-appropriate
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-7" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+If
+the
+passed
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+we
+simply
+return
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+Otherwise,
+we
+first
+try
+to
+find
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+can
+be
+compacted
+to
+if
+it
+is
+relative
+to
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>.
+In
+order
+to
+select
+the
+most
+appropriate
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+we
+may
+have
+to
+collect
+information
+about
+the
+passed
+<i>
+value
+</i>.
+This
+information
+includes
+which
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>
+would
+be
+preferred
+for
+expressing
+the
+<i>
+value
+</i>,
+and
+what
+its
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+is.
+For
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+JSON-LD
+lists
+</a>,
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+will
+be
+chosen
+based
+on
+the
+most
+specific
+values
+that
+work
+for
+all
+items
+in
+the
+list.
+Once
+this
+information
+is
+gathered,
+it
+is
+passed
+to
+the
+<a href="#term-selection">
+Term
+Selection
+algorithm
+</a>,
+which
+will
+return
+the
+most
+appropriate
+<a class= "tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+to
+use.
+</p>
+<p>
+If
+no
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+was
+found
+that
+could
+be
+used
+to
+compact
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+an
+attempt
+is
+made
+to
+compact
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+using
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+if
+there
+is
+one.
+If
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+could
+not
+be
+compacted,
+an
+attempt
+is
+made
+to
+find
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+If
+there
+is
+no
+appropriate
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+transformed
+to
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+using
+the
+document's
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Finally,
+if
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+still
+could
+not
+be
+compacted,
+it
+is
+returned
+as
+is.
+</p>
+</section>
+<section>
+<h4 id="algorithm-7" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+This
+algorithm
+takes
+three
+required
+inputs
+and
+three
+optional
+inputs.
+The
+required
+inputs
+are
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+and
+the
+<i>
+iri
+</i>
+to
+be
+compacted.
+The
+optional
+inputs
+are
+a
+<i>
+value
+</i>
+associated
+with
+the
+<i>
+iri
+</i>,
+a
+<i>
+vocab
+</i>
+flag
+which
+specifies
+whether
+the
+passed
+<i>
+iri
+</i>
+should
+be
+compacted
+using
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>,
+and
+a
+<i>
+reverse
+</i>
+flag
+which
+specifies
+whether
+a
+<a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">
+reverse
+property
+</a>
+is
+being
+compacted.
+If
+not
+passed,
+<i>
+value
+</i>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+and
+<i>
+vocab
+</i>
+and
+<i>
+reverse
+</i>
+are
+both
+set
+to
+<code>
+false
+</code>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+iri
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+If
+<i>
+vocab
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<i>
+iri
+</i>
+is
+a
+key
+in
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+default
+language
+</i>
+to
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>,
+if
+it
+has
+one,
+otherwise
+to
+<code>
+@none
+</code>.
+</li>
+<li>
+Initialize
+<i>
+containers
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+This
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+will
+be
+used
+to
+keep
+track
+of
+an
+ordered
+list
+of
+preferred
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+based
+on
+what
+is
+compatible
+with
+<i>
+value
+</i>.
+</li>
+<li>
+Initialize
+<i>
+type/language
+</i>
+to
+<code>
+@language
+</code>,
+and
+<i>
+type/language
+value
+</i>
+to
+<code>
+@null
+</code>.
+These
+two
+variables
+will
+keep
+track
+of
+the
+preferred
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+based
+on
+what
+is
+compatible
+with
+<i>
+value
+</i>.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+contains
+the
+key
+<code>
+@index
+</code>,
+then
+append
+the
+value
+<code>
+@index
+</code>
+to
+<i>
+containers
+</i>.
+</li>
+<li>
+If
+<i>
+reverse
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+set
+<i>
+type/language
+</i>
+to
+<code>
+@type
+</code>,
+<i>
+type/language
+value
+</i>
+to
+<code>
+@reverse
+</code>,
+and
+append
+<code>
+@set
+</code>
+to
+<i>
+containers
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+then
+set
+<i>
+type/language
+</i>
+and
+<i>
+type/language
+value
+</i>
+to
+the
+most
+specific
+values
+that
+work
+for
+all
+items
+in
+the
+list
+as
+follows:
+<ol class="algorithm">
+<li>
+If
+<code>
+@index
+</code>
+is
+a
+not
+key
+in
+<i>
+value
+</i>,
+then
+append
+<code>
+@list
+</code>
+to
+<i>
+containers
+</i>.
+</li>
+<li>
+Initialize
+<i>
+list
+</i>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+key
+<code>
+@list
+</code>
+in
+<i>
+value
+</i>.
+</li>
+<li>
+Initialize
+<i>
+common
+type
+</i>
+and
+<i>
+common
+language
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+<i>
+list
+</i>
+is
+empty,
+set
+<i>
+common
+language
+</i>
+to
+<i>
+default
+language
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+list
+</i>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+item
+language
+</i>
+to
+<code>
+@none
+</code>
+and
+<i>
+item
+type
+</i>
+to
+<code>
+@none
+</code>.
+</li>
+<li>
+If
+<i>
+item
+</i>
+contains
+the
+key
+<code>
+@value
+</code>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+contains
+the
+key
+<code>
+@language
+</code>,
+then
+set
+<i>
+item
+language
+</i>
+to
+its
+associated
+value.
+</li>
+<li>
+Otherwise,
+if
+<i>
+item
+</i>
+contains
+the
+key
+<code>
+@type
+</code>,
+set
+<i>
+item
+type
+</i>
+to
+its
+associated
+value.
+</li>
+<li>
+Otherwise,
+set
+<i>
+item
+language
+</i>
+to
+<code>
+@null
+</code>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+set
+<i>
+item
+type
+</i>
+to
+<code>
+@id
+</code>.
+</li>
+<li>
+If
+<i>
+common
+language
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<i>
+item
+language
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+item
+language
+</i>
+does
+not
+equal
+<i>
+common
+language
+</i>
+and
+<i>
+item
+</i>
+contains
+the
+key
+<code>
+@value
+</code>,
+then
+set
+<i>
+common
+language
+</i>
+to
+<code>
+@none
+</code>
+because
+list
+items
+have
+conflicting
+languages.
+</li>
+<li>
+If
+<i>
+common
+type
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<i>
+item
+type
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+item
+type
+</i>
+does
+not
+equal
+<i>
+common
+type
+</i>,
+then
+set
+<i>
+common
+type
+</i>
+to
+<code>
+@none
+</code>
+because
+list
+items
+have
+conflicting
+types.
+</li>
+<li>
+If
+<i>
+common
+language
+</i>
+is
+<code>
+@none
+</code>
+and
+<i>
+common
+type
+</i>
+is
+<code>
+@none
+</code>,
+then
+stop
+processing
+items
+in
+the
+list
+because
+it
+has
+been
+detected
+that
+there
+is
+no
+common
+language
+or
+type
+amongst
+the
+items.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+common
+language
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+@none
+</code>.
+</li>
+<li>
+If
+<i>
+common
+type
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+@none
+</code>.
+</li>
+<li>
+If
+<i>
+common
+type
+</i>
+is
+not
+<code>
+@none
+</code>
+then
+set
+<i>
+type/language
+</i>
+to
+<code>
+@type
+</code>
+and
+<i>
+type/language
+value
+</i>
+to
+<i>
+common
+type
+</i>.
+</li>
+<li>
+Otherwise,
+set
+<i>
+type/language
+value
+</i>
+to
+<i>
+common
+language
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise:
+<ol class="algorithm">
+<li>
+If
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@language
+</code>
+and
+does
+not
+contain
+the
+key
+<code>
+@index
+</code>,
+then
+set
+<i>
+type/language
+value
+</i>
+to
+its
+associated
+value
+and
+append
+<code>
+@language
+</code>
+to
+<i>
+containers
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+contains
+the
+key
+<code>
+@type
+</code>,
+then
+set
+<i>
+type/language
+value
+</i>
+to
+its
+associated
+value
+and
+set
+<i>
+type/language
+</i>
+to
+<code>
+@type
+</code>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+set
+<i>
+type/language
+</i>
+to
+<code>
+@type
+</code>
+and
+set
+<i>
+type/language
+value
+</i>
+to
+<code>
+@id
+</code>.
+</li>
+<li>
+Append
+<code>
+@set
+</code>
+to
+<i>
+containers
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Append
+<code>
+@none
+</code>
+to
+<i>
+containers
+</i>.
+This
+represents
+the
+non-existence
+of
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>,
+and
+it
+will
+be
+the
+last
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+value
+to
+be
+checked
+as
+it
+is
+the
+most
+generic.
+</li>
+<li>
+If
+<i>
+type/language
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+@null
+</code>.
+This
+is
+the
+key
+under
+which
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+values
+are
+stored
+in
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+<i>
+entry
+</i>.
+</li>
+<li>
+Initialize
+<i>
+preferred
+values
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+This
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+will
+indicate,
+in
+order,
+the
+preferred
+values
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term's
+</a>
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>.
+</li>
+<li>
+If
+<i>
+type/language
+value
+</i>
+is
+<code>
+@reverse
+</code>,
+append
+<code>
+@reverse
+</code>
+to
+<i>
+preferred
+values
+</i>.
+</li>
+<li>
+If
+<i>
+type/language
+value
+</i>
+is
+<code>
+@id
+</code>
+or
+<code>
+@reverse
+</code>
+and
+<i>
+value
+</i>
+has
+an
+<code>
+@id
+</code>
+member:
+<ol class="algorithm">
+<li>
+If
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+the
+value
+associated
+with
+the
+<code>
+@id
+</code>
+key
+in
+<i>
+value
+</i>
+for
+<i>
+iri
+</i>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+document
+relative
+</i>
+has
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+with
+an
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+that
+equals
+the
+value
+associated
+with
+the
+<code>
+@id
+</code>
+key
+in
+<i>
+value
+</i>,
+then
+append
+<code>
+@vocab
+</code>,
+<code>
+@id
+</code>,
+and
+<code>
+@none
+</code>,
+in
+that
+order,
+to
+<i>
+preferred
+values
+</i>.
+</li>
+<li>
+Otherwise,
+append
+<code>
+@id
+</code>,
+<code>
+@vocab
+</code>,
+and
+<code>
+@none
+</code>,
+in
+that
+order,
+to
+<i>
+preferred
+values
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+append
+<i>
+type/language
+value
+</i>
+and
+<code>
+@none
+</code>,
+in
+that
+order,
+to
+<i>
+preferred
+values
+</i>.
+</li>
+<li>
+Initialize
+<i>
+term
+</i>
+to
+the
+result
+of
+the
+<a href="#term-selection">
+Term
+Selection
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+<i>
+iri
+</i>,
+<i>
+containers
+</i>,
+<i>
+type/language
+</i>,
+and
+<i>
+preferred
+values
+</i>.
+</li>
+<li>
+If
+<i>
+term
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<i>
+term
+</i>.
+</li>
+</ol>
+</li>
+<li>
+At
+this
+point,
+there
+is
+no
+simple
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+<i>
+iri
+</i>
+can
+be
+compacted
+to.
+If
+<i>
+vocab
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+a
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+iri
+</i>
+begins
+with
+the
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping's
+</a>
+value
+but
+is
+longer,
+then
+initialize
+<i>
+suffix
+</i>
+to
+the
+substring
+of
+<i>
+iri
+</i>
+that
+does
+not
+match.
+If
+<i>
+suffix
+</i>
+does
+not
+have
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+then
+return
+<i>
+suffix
+</i>.
+</li>
+</ol>
+</li>
+<li>
+The
+<i>
+iri
+</i>
+could
+not
+be
+compacted
+using
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>.
+Try
+to
+create
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+starting
+by
+initializing
+<i>
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+This
+variable
+will
+be
+used
+to
+tore
+the
+created
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+if
+any.
+</li>
+<li>
+For
+each
+key
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+and
+value
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>:
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+contains
+a
+colon
+(
+<code>:
+</code>
+),
+then
+continue
+to
+the
+next
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+because
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+with
+colons
+can't
+be
+used
+as
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefixes
+</a>.
+</li>
+<li>
+If
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+its
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+equals
+<i>
+iri
+</i>,
+or
+its
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+is
+not
+a
+substring
+at
+the
+beginning
+of
+<i>
+iri
+</i>,
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+cannot
+be
+used
+as
+a
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+because
+it
+is
+not
+a
+partial
+match
+with
+<i>
+iri
+</i>.
+Continue
+with
+the
+next
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+</li>
+<li>
+Initialize
+<i>
+candidate
+</i>
+by
+concatenating
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+a
+colon
+(
+<code>:
+</code>
+),
+and
+the
+substring
+of
+<i>
+iri
+</i>
+that
+follows
+after
+the
+value
+of
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition's
+</a>
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>.
+</li>
+<li>
+If
+either
+<i>
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+or
+<i>
+candidate
+</i>
+is
+shorter
+or
+the
+same
+length
+but
+lexicographically
+less
+than
+<i>
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>
+and
+<i>
+candidate
+</i>
+does
+not
+have
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+or
+if
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+has
+an
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>
+that
+equals
+<i>
+iri
+</i>
+and
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+<i>
+compact
+<abbr title= "Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>
+to
+<i>
+candidate
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<i>
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</i>.
+</li>
+<li>
+If
+<i>
+vocab
+</i>
+is
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+then
+transform
+<i>
+iri
+</i>
+to
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+using
+the
+document's
+base
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+Finally,
+return
+<i>
+iri
+</i>
+as
+is.
+</li>
+</ol>
+</section>
+</section>
+<section id="term-selection">
+<h3 aria-level="2" role="heading" id="h3_term-selection">
+<span class="secno">
+8.4
+</span>
+Term
+Selection
+</h3>
+<p>
+This
+algorithm,
+invoked
+via
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>,
+makes
+use
+of
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>
+to
+find
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+is
+best
+used
+to
+<a class="tref internalDFN" title="compaction" href="#dfn-compaction">
+compact
+</a>
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Other
+information
+about
+a
+value
+associated
+with
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+given,
+including
+which
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>
+and
+which
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+would
+be
+best
+used
+to
+express
+the
+value.
+</p>
+<section class="informative">
+<h4 id="overview-8" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context's
+</a>
+entry
+for
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+will
+be
+first
+searched
+according
+to
+the
+preferred
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>,
+in
+the
+order
+that
+they
+are
+given.
+Amongst
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+with
+a
+matching
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>,
+preference
+will
+be
+given
+to
+those
+with
+a
+matching
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>,
+over
+those
+without
+a
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>.
+If
+there
+is
+no
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+with
+a
+matching
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+then
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+without
+a
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+that
+matches
+the
+given
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+is
+selected.
+If
+there
+is
+still
+no
+selected
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+then
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+with
+no
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+will
+be
+selected
+if
+available.
+No
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+will
+be
+selected
+that
+has
+a
+conflicting
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>.
+Ties
+between
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+that
+have
+the
+same
+mappings
+are
+resolved
+by
+first
+choosing
+the
+shortest
+terms,
+and
+then
+by
+choosing
+the
+lexicographically
+least
+term.
+Note
+that
+these
+ties
+are
+resolved
+automatically
+because
+they
+were
+previously
+resolved
+when
+the
+<a href="#inverse-context-creation">
+Inverse
+Context
+Creation
+algorithm
+</a>
+was
+used
+to
+create
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-8" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+This
+algorithm
+has
+five
+required
+inputs.
+They
+are:
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+or
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<i>
+iri
+</i>,
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+containers
+</i>
+that
+represents
+an
+ordered
+list
+of
+preferred
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mappings
+</a>,
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+<i>
+type/language
+</i>
+that
+indicates
+whether
+to
+look
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+with
+a
+matching
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href= "#dfn-language-mapping">
+language
+mapping
+</a>,
+and
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+representing
+an
+ordered
+list
+of
+<i>
+preferred
+values
+</i>
+for
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+to
+look
+for.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+container
+map
+</i>
+to
+the
+value
+associated
+with
+<i>
+iri
+</i>
+in
+the
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>.
+</li>
+<li>
+For
+each
+item
+<i>
+container
+</i>
+in
+<i>
+containers
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+container
+</i>
+is
+not
+a
+key
+in
+<i>
+container
+map
+</i>,
+then
+there
+is
+no
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+with
+a
+matching
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+for
+it,
+so
+continue
+to
+the
+next
+<i>
+container
+</i>.
+</li>
+<li>
+Initialize
+<i>
+type/language
+map
+</i>
+to
+the
+value
+associated
+with
+the
+<i>
+container
+</i>
+member
+in
+<i>
+container
+map
+</i>.
+</li>
+<li>
+Initialize
+<i>
+value
+map
+</i>
+to
+the
+value
+associated
+with
+<i>
+type/language
+</i>
+member
+in
+<i>
+type/language
+map
+</i>.
+</li>
+<li>
+For
+each
+<i>
+item
+</i>
+in
+<i>
+preferred
+values
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+not
+a
+key
+in
+<i>
+value
+map
+</i>,
+then
+there
+is
+no
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+with
+a
+matching
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>,
+so
+continue
+to
+the
+next
+<i>
+item
+</i>.
+</li>
+<li>
+Otherwise,
+a
+matching
+term
+has
+been
+found,
+return
+the
+value
+associated
+with
+the
+<i>
+item
+</i>
+member
+in
+<i>
+value
+map
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+No
+matching
+term
+has
+been
+found.
+Return
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+</ol>
+</section>
+</section>
+<section id="value-compaction">
+<h3 aria-level="2" role="heading" id="h3_value-compaction">
+<span class="secno">
+8.5
+</span>
+Value
+Compaction
+</h3>
+<p>
+<a class="tref internalDFN" title="expansion" href="#dfn-expansion">
+Expansion
+</a>
+transforms
+all
+values
+into
+<a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">
+expanded
+form
+</a>
+in
+JSON-LD.
+This
+algorithm
+performs
+the
+opposite
+operation,
+transforming
+a
+value
+into
+<dfn title="compacted-form" id="dfn-compacted-form">
+compacted
+form
+</dfn>.
+This
+algorithm
+compacts
+a
+value
+according
+to
+the
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+in
+the
+given
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+that
+is
+associated
+with
+the
+value's
+associated
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-9" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<i>
+value
+</i>
+to
+compact
+has
+either
+an
+<code>
+@id
+</code>
+or
+an
+<code>
+@value
+</code>
+member.
+</p>
+<p>
+For
+the
+former
+case,
+if
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>
+and
+<i>
+value
+</i>
+consists
+of
+only
+an
+<code>
+@id
+</code>
+member
+and,
+if
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@index
+</code>,
+an
+<code>
+@index
+</code>
+member,
+<i>
+value
+</i>
+can
+be
+compacted
+to
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+by
+returning
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Compaction
+algorithm
+</a>
+to
+compact
+the
+value
+associated
+with
+the
+<code>
+@id
+</code>
+member.
+Otherwise,
+<i>
+value
+</i>
+cannot
+be
+compacted
+and
+is
+returned
+as
+is.
+</p>
+<p>
+For
+the
+latter
+case,
+it
+might
+be
+possible
+to
+compact
+<i>
+value
+</i>
+just
+into
+the
+value
+associated
+with
+the
+<code>
+@value
+</code>
+member.
+This
+can
+be
+done
+if
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+has
+a
+matching
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+or
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+and
+there
+is
+either
+no
+<code>
+@index
+</code>
+member
+or
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@index
+</code>.
+It
+can
+also
+be
+done
+if
+<code>
+@value
+</code>
+is
+the
+only
+member
+in
+<i>
+value
+</i>
+(apart
+an
+<code>
+@index
+</code>
+member
+in
+case
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@index
+</code>
+)
+and
+either
+its
+associated
+value
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+there
+is
+no
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>,
+or
+there
+is
+an
+explicit
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+for
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-9" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+This
+algorithm
+has
+four
+required
+inputs:
+an
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+an
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+a
+<i>
+value
+</i>
+to
+be
+compacted.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+number
+members
+</i>
+to
+the
+number
+of
+members
+<i>
+value
+</i>
+contains.
+</li>
+<li>
+If
+<i>
+value
+</i>
+has
+an
+<code>
+@index
+</code>
+member
+and
+the
+<a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">
+container
+mapping
+</a>
+associated
+to
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@index
+</code>,
+decrease
+<i>
+number
+members
+</i>
+by
+<code>
+1
+</code>.
+</li>
+<li>
+If
+<i>
+number
+members
+</i>
+is
+greater
+than
+<code>
+2
+</code>,
+return
+<i>
+value
+</i>
+as
+it
+cannot
+be
+compacted.
+</li>
+<li>
+If
+<i>
+value
+</i>
+has
+an
+<code>
+@id
+</code>
+member:
+<ol class="algorithm">
+<li>
+If
+<i>
+number
+members
+</i>
+is
+<code>
+1
+</code>
+and
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@id
+</code>,
+return
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+and
+the
+value
+of
+the
+<code>
+@id
+</code>
+member
+for
+<i>
+iri
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+number
+members
+</i>
+is
+<code>
+1
+</code>
+and
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<code>
+@vocab
+</code>,
+return
+the
+result
+of
+using
+the
+<a href="#iri-compaction">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+compaction
+algorithm
+</a>,
+passing
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+<a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">
+inverse
+context
+</a>,
+the
+value
+of
+the
+<code>
+@id
+</code>
+member
+for
+<i>
+iri
+</i>,
+and
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+for
+<i>
+vocab
+</i>.
+</li>
+<li>
+Otherwise,
+return
+<i>
+value
+</i>
+as
+is.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+has
+an
+<code>
+@type
+</code>
+member
+whose
+value
+matches
+the
+<a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">
+type
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+return
+the
+value
+associated
+with
+the
+<code>
+@value
+</code>
+member
+of
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+has
+an
+<code>
+@language
+</code>
+member
+whose
+value
+matches
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+return
+the
+value
+associated
+with
+the
+<code>
+@value
+</code>
+member
+of
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+number
+members
+</i>
+equals
+<code>
+1
+</code>
+and
+either
+the
+value
+of
+the
+<code>
+@value
+</code>
+member
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+or
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+has
+no
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>,
+or
+the
+<a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">
+language
+mapping
+</a>
+of
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,,
+return
+the
+value
+associated
+with
+the
+<code>
+@value
+</code>
+member.
+</li>
+<li>
+Otherwise,
+return
+<i>
+value
+</i>
+as
+is.
+</li>
+</ol>
+</section>
+</section>
+</section>
+<section id="flattening-algorithms">
+<h2 aria-level="1" role="heading" id="h2_flattening-algorithms">
+<span class="secno">
+9.
+</span>
+Flattening
+Algorithms
+</h2>
+<section id="flattening-algorithm">
+<h3 aria-level="2" role="heading" id="h3_flattening-algorithm">
+<span class="secno">
+9.1
+</span>
+Flattening
+Algorithm
+</h3>
+<p>
+This
+algorithm
+flattens
+an
+expanded
+JSON-LD
+document
+by
+collecting
+all
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+and
+labeling
+all
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+with
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+This
+resulting
+uniform
+shape
+of
+the
+document,
+may
+drastically
+simplify
+the
+code
+required
+to
+process
+JSON-LD
+data
+in
+certain
+applications.
+</p>
+<section class="informative">
+<h4 id="overview-10" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+First,
+a
+<i>
+node
+map
+</i>
+is
+generated
+using
+the
+<a href="#node-map-generation">
+Node
+Map
+Generation
+algorithm
+</a>
+which
+collects
+all
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+In
+the
+next
+step,
+the
+<i>
+node
+map
+</i>
+is
+converted
+to
+a
+JSON-LD
+document
+in
+<a class="tref externalDFN" title="flattened-document-form" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#flattened-document-form">
+flattened
+document
+form
+</a>.
+Finally,
+if
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+has
+been
+passed,
+the
+flattened
+document
+is
+compacted
+using
+the
+<a href="#compaction-algorithm">
+Compaction
+algorithm
+</a>
+before
+being
+returned.
+</p>
+</section>
+<section>
+<h4 id="algorithm-10" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+two
+input
+variables,
+an
+<i>
+element
+</i>
+to
+flatten
+and
+an
+optional
+<i>
+context
+</i>
+used
+to
+compact
+the
+flattened
+document.
+If
+not
+passed,
+<i>
+context
+</i>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+This
+algorithm
+generates
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+and
+relabels
+existing
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+The
+used
+<a href="#generate-blank-node-identifier">
+Generate
+Blank
+Node
+Identifier
+algorithm
+</a>
+keeps
+an
+<i>
+identifier
+map
+</i>
+and
+a
+<i>
+counter
+</i>
+to
+ensure
+consistent
+relabeling
+and
+avoid
+collisions.
+Thus,
+before
+this
+algorithm
+is
+run,
+the
+<i>
+identifier
+map
+</i>
+is
+reset
+and
+the
+<i>
+counter
+</i>
+is
+initialized
+to
+<code>
+0
+</code>.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+node
+map
+</i>
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+whose
+key
+is
+<code>
+@default
+</code>
+and
+whose
+value
+is
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Perform
+the
+<a href="#node-map-generation">
+Node
+Map
+Generation
+algorithm
+</a>,
+passing
+<i>
+element
+</i>
+and
+<i>
+node
+map
+</i>.
+</li>
+<li>
+Initialize
+<i>
+default
+graph
+</i>
+to
+the
+value
+of
+the
+<code>
+@default
+</code>
+member
+of
+<i>
+node
+map
+</i>,
+which
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+representing
+the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>.
+</li>
+<li>
+For
+each
+key-value
+pair
+<i>
+graph
+name
+</i>
+-
+<i>
+graph
+</i>
+in
+<i>
+node
+map
+</i>
+where
+<i>
+graph
+name
+</i>
+is
+not
+<code>
+@default
+</code>,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+default
+graph
+</i>
+does
+not
+have
+a
+<i>
+graph
+name
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+an
+<code>
+@id
+</code>
+member
+whose
+value
+is
+set
+to
+<i>
+graph
+name
+</i>.
+</li>
+<li>
+Reference
+the
+value
+associated
+with
+the
+<i>
+graph
+name
+</i>
+member
+in
+<i>
+default
+graph
+</i>
+using
+the
+variable
+<i>
+entry
+</i>.
+</li>
+<li>
+Add
+an
+<code>
+@graph
+</code>
+member
+to
+<i>
+entry
+</i>
+and
+set
+it
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+<i>
+id
+</i>
+-
+<i>
+node
+</i>
+pair
+in
+<i>
+graph
+</i>
+ordered
+by
+<i>
+id
+</i>,
+add
+<i>
+node
+</i>
+to
+the
+<code>
+@graph
+</code>
+member
+of
+<i>
+entry
+</i>,
+unless
+the
+only
+member
+of
+<i>
+node
+</i>
+is
+<code>
+@id
+</code>.
+</li>
+</ol>
+</li>
+<li>
+Initialize
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+flattened
+</i>.
+</li>
+<li>
+For
+each
+<i>
+id
+</i>
+-
+<i>
+node
+</i>
+pair
+in
+<i>
+default
+graph
+</i>
+ordered
+by
+<i>
+id
+</i>,
+add
+<i>
+node
+</i>
+to
+<i>
+flattened
+</i>,
+unless
+the
+only
+member
+of
+<i>
+node
+</i>
+is
+<code>
+@id
+</code>.
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+return
+<i>
+flattened
+</i>.
+</li>
+<li>
+Otherwise,
+return
+the
+result
+of
+compacting
+<i>
+flattened
+</i>
+according
+the
+<a href="#compaction-algorithm">
+Compaction
+algorithm
+</a>
+passing
+<i>
+context
+</i>
+ensuring
+that
+the
+compaction
+result
+has
+only
+the
+<code>
+@graph
+</code>
+keyword
+(or
+its
+alias)
+at
+the
+top-level
+other
+than
+<code>
+@context
+</code>,
+even
+if
+the
+context
+is
+empty
+or
+if
+there
+is
+only
+one
+element
+to
+put
+in
+the
+<code>
+@graph
+</code>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+This
+ensures
+that
+the
+returned
+document
+has
+a
+deterministic
+structure.
+</li>
+</ol>
+</section>
+</section>
+<section id="node-map-generation">
+<h3 aria-level="2" role="heading" id="h3_node-map-generation">
+<span class="secno">
+9.2
+</span>
+Node
+Map
+Generation
+</h3>
+<p>
+This
+algorithm
+creates
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+node
+map
+</i>
+holding
+an
+indexed
+representation
+of
+the
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graphs
+</a>
+and
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+represented
+in
+the
+passed
+expanded
+document.
+All
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+that
+are
+not
+uniquely
+identified
+by
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+get
+assigned
+a
+(new)
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+The
+resulting
+<i>
+node
+map
+</i>
+will
+have
+a
+member
+for
+every
+graph
+in
+the
+document
+whose
+value
+is
+another
+object
+with
+a
+member
+for
+every
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+represented
+in
+the
+document.
+The
+default
+graph
+is
+stored
+under
+the
+<code>
+@default
+</code>
+member,
+all
+other
+graphs
+are
+stored
+under
+their
+<a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">
+graph
+name
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-11" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+algorithm
+recursively
+runs
+over
+an
+expanded
+JSON-LD
+document
+to
+collect
+all
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+The
+algorithm
+constructs
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+node
+map
+</i>
+whose
+keys
+represent
+the
+<a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">
+graph
+names
+</a>
+used
+in
+the
+document
+(the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+is
+stored
+under
+the
+key
+<code>
+@default
+</code>
+)
+and
+whose
+associated
+values
+are
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+which
+index
+the
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+in
+the
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>.
+If
+a
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property's
+</a>
+value
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+it
+is
+replaced
+by
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+consisting
+of
+only
+an
+<code>
+@id
+</code>
+member.
+If
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+has
+no
+<code>
+@id
+</code>
+member
+or
+it
+is
+identified
+by
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+a
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+is
+generated.
+This
+relabeling
+of
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+is
+also
+done
+for
+<a class="tref internalDFN" title="property" href= "#dfn-property">
+properties
+</a>
+and
+values
+of
+<code>
+@type
+</code>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-11" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+as
+input
+an
+expanded
+JSON-LD
+document
+<i>
+element
+</i>
+and
+a
+reference
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+node
+map
+</i>.
+Furthermore
+it
+has
+the
+optional
+parameters
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>
+(which
+defaults
+to
+<code>
+@default
+</code>
+),
+an
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+a
+reference
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+list
+</i>.
+If
+not
+passed,
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+list
+</i>
+are
+set
+to
+<a class="tref internalDFN" title="null" href= "#dfn-null">
+null
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+element
+</i>
+is
+an
+array,
+process
+each
+<i>
+item
+</i>
+in
+<i>
+element
+</i>
+as
+follows
+and
+then
+return:
+<ol class="algorithm">
+<li>
+Run
+this
+algorithm
+recursively
+by
+passing
+<i>
+item
+</i>
+for
+<i>
+element
+</i>,
+<i>
+node
+map
+</i>,
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>,
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+list
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+Reference
+the
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+which
+is
+the
+value
+of
+the
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>
+member
+of
+<i>
+node
+map
+</i>
+using
+the
+variable
+<i>
+graph
+</i>.
+If
+the
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+<i>
+node
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+otherwise
+reference
+the
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+member
+of
+<i>
+graph
+</i>
+using
+the
+variable
+<i>
+node
+</i>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@type
+</code>
+member,
+perform
+for
+each
+<i>
+item
+</i>
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+replace
+it
+with
+a
+newly
+<a href="#generate-blank-node-identifier">
+generated
+blank
+node
+identifier
+</a>
+passing
+<i>
+item
+</i>
+for
+<i>
+identifier
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@value
+</code>
+member,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+list
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+node
+</i>
+does
+not
+have
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+<i>
+element
+</i>.
+</li>
+<li>
+Otherwise,
+compare
+<i>
+element
+</i>
+against
+every
+item
+in
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member
+of
+<i>
+node
+</i>.
+If
+there
+is
+no
+item
+equivalent
+to
+<i>
+element
+</i>,
+append
+<i>
+element
+</i>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Two
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+are
+considered
+equal
+if
+they
+have
+equivalent
+key-value
+pairs.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+append
+<i>
+element
+</i>
+to
+the
+<code>
+@list
+</code>
+member
+of
+<i>
+list
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+element
+</i>
+has
+an
+<code>
+@list
+</code>
+member,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+Initialize
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+result
+</i>
+consisting
+of
+a
+single
+member
+<code>
+@list
+</code>
+whose
+value
+is
+initialized
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Recursively
+call
+this
+algorithm
+passing
+the
+value
+of
+<i>
+element's
+</i>
+<code>
+@list
+</code>
+member
+for
+<i>
+element
+</i>,
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>,
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>,
+and
+<i>
+result
+</i>
+for
+<i>
+list
+</i>.
+</li>
+<li>
+Append
+<i>
+result
+</i>
+to
+the
+value
+of
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member
+of
+<i>
+node
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise
+<i>
+element
+</i>
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@id
+</code>
+member,
+set
+<i>
+id
+</i>
+to
+its
+value
+and
+remove
+the
+member
+from
+<i>
+element
+</i>.
+If
+<i>
+id
+</i>
+is
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+replace
+it
+with
+a
+newly
+<a href="#generate-blank-node-identifier">
+generated
+blank
+node
+identifier
+</a>
+passing
+<i>
+id
+</i>
+for
+<i>
+identifier
+</i>.
+</li>
+<li>
+Otherwise,
+set
+<i>
+id
+</i>
+to
+the
+result
+of
+the
+<a href="#generate-blank-node-identifier">
+Generate
+Blank
+Node
+Identifier
+algorithm
+</a>
+passing
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+for
+<i>
+identifier
+</i>.
+</li>
+<li>
+If
+<i>
+graph
+</i>
+does
+not
+contain
+a
+member
+<i>
+id
+</i>,
+create
+one
+and
+initialize
+its
+value
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+<i>
+id
+</i>.
+</li>
+<li>
+Reference
+the
+value
+of
+the
+<i>
+id
+</i>
+member
+of
+<i>
+graph
+</i>
+using
+the
+variable
+<i>
+node
+</i>.
+</li>
+<li>
+If
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+a
+reverse
+property
+relationship
+is
+being
+processed.
+Perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+node
+</i>
+does
+not
+have
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>.
+</li>
+<li>
+Otherwise,
+compare
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+against
+every
+item
+in
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member
+of
+<i>
+node
+</i>.
+If
+there
+is
+no
+item
+equivalent
+to
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+append
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Two
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+are
+considered
+equal
+if
+they
+have
+equivalent
+key-value
+pairs.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+Create
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+reference
+</i>
+consisting
+of
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+<i>
+id
+</i>.
+</li>
+<li>
+If
+<i>
+list
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+node
+</i>
+does
+not
+have
+an
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+<i>
+reference
+</i>.
+</li>
+<li>
+Otherwise,
+compare
+<i>
+reference
+</i>
+against
+every
+item
+in
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>
+member
+of
+<i>
+node
+</i>.
+If
+there
+is
+no
+item
+equivalent
+to
+<i>
+reference
+</i>,
+append
+<i>
+reference
+</i>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Two
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+are
+considered
+equal
+if
+they
+have
+equivalent
+key-value
+pairs.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+append
+<i>
+element
+</i>
+to
+the
+<code>
+@list
+</code>
+member
+of
+<i>
+list
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@type
+</code>
+key,
+append
+each
+item
+of
+its
+associated
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+<code>
+@type
+</code>
+key
+of
+<i>
+node
+</i>
+unless
+it
+is
+already
+in
+that
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Finally
+remove
+the
+<code>
+@type
+</code>
+member
+from
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@index
+</code>
+member,
+set
+the
+<code>
+@index
+</code>
+member
+of
+<i>
+node
+</i>
+to
+its
+value.
+If
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+has
+already
+an
+<code>
+@index
+</code>
+member
+with
+a
+different
+value,
+a
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.conflicting-indexes">
+conflicting
+indexes
+</a>
+</code>
+error
+has
+been
+detected
+and
+processing
+is
+aborted.
+Otherwise,
+continue
+by
+removing
+the
+<code>
+@index
+</code>
+member
+from
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@reverse
+</code>
+member:
+<ol class="algorithm">
+<li>
+Create
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+<i>
+referenced
+node
+</i>
+with
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+<i>
+id
+</i>.
+</li>
+<li>
+Set
+<i>
+reverse
+map
+</i>
+to
+the
+value
+of
+the
+<code>
+@reverse
+</code>
+member
+of
+<i>
+element
+</i>.
+</li>
+<li>
+For
+each
+key-value
+pair
+<i>
+property
+</i>
+-
+<i>
+values
+</i>
+in
+<i>
+reverse
+map
+</i>:
+<ol class="algorithm">
+<li>
+For
+each
+<i>
+value
+</i>
+of
+<i>
+values
+</i>:
+<ol class="algorithm">
+<li>
+Recursively
+invoke
+this
+algorithm
+passing
+<i>
+value
+</i>
+for
+<i>
+element
+</i>,
+<i>
+node
+map
+</i>,
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>,
+<i>
+referenced
+node
+</i>
+for
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+and
+<i>
+property
+</i>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>.
+Passing
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+for
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>
+indicates
+to
+the
+algorithm
+that
+a
+reverse
+property
+relationship
+is
+being
+processed.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Remove
+the
+<code>
+@reverse
+</code>
+member
+from
+<i>
+element
+</i>.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+element
+</i>
+has
+an
+<code>
+@graph
+</code>
+member,
+recursively
+invoke
+this
+algorithm
+passing
+the
+value
+of
+the
+<code>
+@graph
+</code>
+member
+for
+<i>
+element
+</i>,
+<i>
+node
+map
+</i>,
+and
+<i>
+id
+</i>
+for
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>
+before
+removing
+the
+<code>
+@graph
+</code>
+member
+from
+<i>
+element
+</i>.
+</li>
+<li>
+Finally,
+for
+each
+key-value
+pair
+<i>
+property
+</i>
+-
+<i>
+value
+</i>
+in
+<i>
+element
+</i>
+ordered
+by
+<i>
+property
+</i>
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+If
+<i>
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+replace
+it
+with
+a
+newly
+<a href="#generate-blank-node-identifier">
+generated
+blank
+node
+identifier
+</a>
+passing
+<i>
+property
+</i>
+for
+<i>
+identifier
+</i>.
+</li>
+<li>
+If
+<i>
+node
+</i>
+does
+not
+have
+a
+<i>
+property
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Recursively
+invoke
+this
+algorithm
+passing
+<i>
+value
+</i>
+for
+<i>
+element
+</i>,
+<i>
+node
+map
+</i>,
+<a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">
+active
+graph
+</a>,
+<i>
+id
+</i>
+for
+<a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">
+active
+subject
+</a>,
+and
+<i>
+property
+</i>
+for
+<a class="tref internalDFN" title="active-property" href="#dfn-active-property">
+active
+property
+</a>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</section>
+</section>
+<section id="generate-blank-node-identifier">
+<h3 aria-level="2" role="heading" id="h3_generate-blank-node-identifier">
+<span class="secno">
+9.3
+</span>
+Generate
+Blank
+Node
+Identifier
+</h3>
+<p>
+This
+algorithm
+is
+used
+to
+generate
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+or
+to
+relabel
+an
+existing
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+to
+avoid
+collision
+by
+the
+introduction
+of
+new
+ones.
+</p>
+<section class="informative">
+<h4 id="overview-12" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+simplest
+case
+is
+if
+there
+exists
+already
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+in
+the
+<i>
+identifier
+map
+</i>
+for
+the
+passed
+<i>
+identifier
+</i>,
+in
+which
+case
+it
+is
+simply
+returned.
+Otherwise,
+a
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+is
+generated
+by
+concatenating
+the
+string
+<code>
+_:b
+</code>
+and
+the
+<i>
+counter
+</i>.
+If
+the
+passed
+<i>
+identifier
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+an
+entry
+is
+created
+in
+the
+<i>
+identifier
+map
+</i>
+associating
+the
+<i>
+identifier
+</i>
+with
+the
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+Finally,
+the
+<i>
+counter
+</i>
+is
+increased
+by
+one
+and
+the
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+is
+returned.
+</p>
+</section>
+<section>
+<h4 id="algorithm-12" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+a
+single
+input
+variable
+<i>
+identifier
+</i>
+which
+may
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+Between
+its
+executions,
+the
+algorithm
+needs
+to
+keep
+an
+<i>
+identifier
+map
+</i>
+to
+relabel
+existing
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+consistently
+and
+a
+<i>
+counter
+</i>
+to
+generate
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+The
+<i>
+counter
+</i>
+is
+initialized
+to
+<code>
+0
+</code>
+by
+default.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+identifier
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+and
+has
+an
+entry
+in
+the
+<i>
+identifier
+map
+</i>,
+return
+the
+mapped
+identifier.
+</li>
+<li>
+Otherwise,
+generate
+a
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+by
+concatenating
+the
+string
+<code>
+_:b
+</code>
+and
+<i>
+counter
+</i>.
+</li>
+<li>
+Increment
+<i>
+counter
+</i>
+by
+<code>
+1
+</code>.
+</li>
+<li>
+If
+<i>
+identifier
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+create
+a
+new
+entry
+for
+<i>
+identifier
+</i>
+in
+<i>
+identifier
+map
+</i>
+and
+set
+its
+value
+to
+the
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</li>
+<li>
+Return
+the
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</li>
+</ol>
+</section>
+</section>
+</section>
+<section id="rdf-serialization-deserialization-algorithms">
+<h2 aria-level="1" role="heading" id="h2_rdf-serialization-deserialization-algorithms">
+<span class="secno">
+10.
+</span>
+RDF
+Serialization/Deserialization
+Algorithms
+</h2>
+<p>
+This
+section
+describes
+algorithms
+to
+deserialize
+a
+JSON-LD
+document
+to
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>
+and
+vice
+versa.
+The
+algorithms
+are
+designed
+for
+in-memory
+implementations
+with
+random
+access
+to
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+elements.
+</p>
+<p>
+Throughout
+this
+section,
+the
+following
+vocabulary
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefixes
+</a>
+are
+used
+in
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>:
+</p>
+<table class="simple">
+<thead>
+<tr>
+<th>
+Prefix
+</th>
+<th>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+rdf
+</td>
+<td>
+http://www.w3.org/1999/02/22-rdf-syntax-ns#
+</td>
+</tr>
+<tr>
+<td>
+rdfs
+</td>
+<td>
+http://www.w3.org/2000/01/rdf-schema#
+</td>
+</tr>
+<tr>
+<td>
+xsd
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#
+</td>
+</tr>
+</tbody>
+</table>
+<section id="deserialize-json-ld-to-rdf-algorithm">
+<h3 aria-level="2" role="heading" id="h3_deserialize-json-ld-to-rdf-algorithm">
+<span class="secno">
+10.1
+</span>
+Deserialize
+JSON-LD
+to
+RDF
+algorithm
+</h3>
+<p>
+This
+algorithm
+deserializes
+a
+JSON-LD
+document
+to
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>.
+Please
+note
+that
+RDF
+does
+not
+allow
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+to
+be
+used
+as
+a
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>,
+while
+JSON-LD
+does.
+Therefore,
+by
+default
+RDF
+triples
+that
+would
+have
+contained
+blank
+nodes
+as
+properties
+are
+discarded
+when
+interpreting
+JSON-LD
+as
+RDF.
+</p>
+<section class="informative">
+<h4 id="overview-13" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+document
+is
+expanded
+and
+converted
+to
+a
+<i>
+node
+map
+</i>
+using
+the
+<a href="#node-map-generation">
+Node
+Map
+Generation
+algorithm
+</a>.
+This
+allows
+each
+graph
+represented
+within
+the
+document
+to
+be
+extracted
+and
+flattened,
+making
+it
+easier
+to
+process
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+Each
+graph
+from
+the
+<i>
+node
+map
+</i>
+is
+processed
+to
+extract
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triples
+</a>,
+to
+which
+any
+(non-default)
+graph
+name
+is
+applied
+to
+create
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>.
+Each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+in
+the
+<i>
+node
+map
+</i>
+has
+an
+<code>
+@id
+</code>
+member
+which
+corresponds
+to
+the
+<a class="tref internalDFN" title="rdf-subject" href="#dfn-rdf-subject">
+RDF
+subject
+</a>,
+the
+other
+members
+represent
+<a class="tref internalDFN" title="rdf-predicate" href= "#dfn-rdf-predicate">
+RDF
+predicates
+</a>.
+Each
+member
+value
+is
+either
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+or
+can
+be
+transformed
+to
+an
+<a class="tref externalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literal
+</a>
+to
+generate
+an
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triple
+</a>.
+<a class="tref internalDFN" title="list" href="#dfn-list">
+Lists
+</a>
+are
+transformed
+into
+an
+<a class="tref externalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">
+RDF
+Collection
+</a>
+using
+the
+<a href="#list-to-rdf-conversion">
+List
+to
+RDF
+Conversion
+algorithm.
+</a>
+</p>
+</section>
+<section>
+<h4 id="algorithm-13" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+a
+JSON-LD
+document
+<i>
+element
+</i>
+and
+returns
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>.
+Unless
+the
+<i>
+produce
+generalized
+RDF
+</i>
+flag
+is
+set
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triples
+</a>
+containing
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+<a class="tref internalDFN" title="rdf-predicate" href="#dfn-rdf-predicate">
+predicate
+</a>
+are
+excluded
+from
+output.
+</p>
+<p>
+This
+algorithm
+generates
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+and
+relabels
+existing
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+The
+used
+<a href="#generate-blank-node-identifier">
+Generate
+Blank
+Node
+Identifier
+algorithm
+</a>
+keeps
+an
+<i>
+identifier
+map
+</i>
+and
+a
+<i>
+counter
+</i>
+to
+ensure
+consistent
+relabeling
+and
+avoid
+collisions.
+Thus,
+before
+this
+algorithm
+is
+run,
+the
+<i>
+identifier
+map
+</i>
+is
+reset
+and
+the
+<i>
+counter
+</i>
+is
+initialized
+to
+<code>
+0
+</code>.
+</p>
+<ol class="algorithm">
+<li>
+Expand
+<i>
+element
+</i>
+according
+to
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>.
+</li>
+<li>
+Generate
+a
+<i>
+node
+map
+</i>
+according
+to
+the
+<a href="#node-map-generation">
+Node
+Map
+Generation
+algorithm
+</a>.
+</li>
+<li>
+Initialize
+an
+empty
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>
+<i>
+dataset
+</i>.
+</li>
+<li>
+For
+each
+<i>
+graph
+name
+</i>
+and
+<i>
+graph
+</i>
+in
+<i>
+node
+map
+</i>
+ordered
+by
+<i>
+graph
+name
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+graph
+name
+</i>
+is
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+continue
+with
+the
+next
+<i>
+graph
+name
+</i>
+-
+<i>
+graph
+</i>
+pair.
+</li>
+<li>
+Initialize
+<i>
+triples
+</i>
+as
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+<i>
+subject
+</i>
+and
+<i>
+node
+</i>
+in
+<i>
+graph
+</i>
+ordered
+by
+<i>
+subject
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+subject
+</i>
+is
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+continue
+with
+the
+next
+<i>
+subject
+</i>
+-
+<i>
+node
+</i>
+pair.
+</li>
+<li>
+For
+each
+<i>
+property
+</i>
+and
+<i>
+values
+</i>
+in
+<i>
+node
+</i>
+ordered
+by
+<i>
+property
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+property
+</i>
+is
+<code>
+@type
+</code>,
+then
+for
+each
+<i>
+type
+</i>
+in
+<i>
+values
+</i>,
+append
+a
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+composed
+of
+<i>
+subject
+</i>,
+<code>
+rdf:type
+</code>,
+and
+<i>
+type
+</i>
+to
+<i>
+triples
+</i>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+continue
+with
+the
+next
+<i>
+property
+</i>
+-
+<i>
+values
+</i>
+pair.
+</li>
+<li>
+Otherwise,
+if
+<i>
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+and
+the
+<i>
+produce
+generalized
+RDF
+</i>
+flag
+is
+not
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+continue
+with
+the
+next
+<i>
+property
+</i>
+-
+<i>
+values
+</i>
+pair.
+</li>
+<li>
+Otherwise,
+if
+<i>
+property
+</i>
+is
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+continue
+with
+the
+next
+<i>
+property
+</i>
+-
+<i>
+values
+</i>
+pair.
+</li>
+<li>
+Otherwise,
+<i>
+property
+</i>
+is
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+For
+each
+<i>
+item
+</i>
+in
+<i>
+values
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+initialize
+<i>
+list
+triples
+</i>
+as
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+and
+<i>
+list
+head
+</i>
+to
+the
+result
+of
+the
+<a href="#list-to-rdf-conversion">
+List
+Conversion
+algorithm
+</a>,
+passing
+the
+value
+associated
+with
+the
+<code>
+@list
+</code>
+key
+from
+<i>
+item
+</i>
+and
+<i>
+list
+triples
+</i>.
+Append
+first
+a
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+composed
+of
+<i>
+subject
+</i>,
+<i>
+property
+</i>,
+and
+<i>
+list
+head
+</i>
+to
+<i>
+triples
+</i>
+and
+finally
+append
+all
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triples
+</a>
+from
+<i>
+list
+triples
+</i>
+to
+<i>
+triples
+</i>.
+</li>
+<li>
+Otherwise,
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+or
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+Append
+a
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+composed
+of
+<i>
+subject
+</i>,
+<i>
+property
+</i>,
+and
+the
+result
+of
+using
+the
+<a href="#object-to-rdf-conversion">
+Object
+to
+RDF
+Conversion
+algorithm
+</a>
+passing
+<i>
+item
+</i>
+to
+<i>
+triples
+</i>,
+unless
+the
+result
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+indicating
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+that
+has
+to
+be
+ignored.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+graph
+name
+</i>
+is
+<code>
+@default
+</code>,
+add
+<i>
+triples
+</i>
+to
+the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+in
+<i>
+dataset
+</i>.
+</li>
+<li>
+Otherwise,
+create
+a
+<a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">
+named
+graph
+</a>
+in
+<i>
+dataset
+</i>
+composed
+of
+<i>
+graph
+name
+</i>
+and
+add
+<i>
+triples
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+dataset
+</i>.
+</li>
+</ol>
+</section>
+</section>
+<section id="object-to-rdf-conversion">
+<h3 aria-level="2" role="heading" id="h3_object-to-rdf-conversion">
+<span class="secno">
+10.2
+</span>
+Object
+to
+RDF
+Conversion
+</h3>
+<p>
+This
+algorithm
+takes
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+or
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+and
+transforms
+it
+into
+an
+<a class="tref externalDFN" title="rdf-resource" href="http://www.w3.org/TR/rdf11-concepts/#dfn-resource">
+RDF
+resource
+</a>
+to
+be
+used
+as
+the
+<a class="tref internalDFN" title="object" href="http://www.w3.org/TR/rdf11-concepts/#dfn-object">
+object
+</a>
+of
+an
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triple
+</a>.
+If
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+containing
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+passed
+to
+the
+algorithm,
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+is
+returned
+which
+then
+causes
+the
+resulting
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triple
+</a>
+to
+be
+ignored.
+</p>
+<section class="informative">
+<h4 id="overview-14" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+Value
+objects
+</a>
+are
+transformed
+to
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+as
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>
+whereas
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+are
+transformed
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>,
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-14" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+as
+its
+sole
+argument
+<i>
+item
+</i>
+which
+must
+be
+either
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+or
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+and
+the
+value
+of
+its
+<code>
+@id
+</code>
+member
+is
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+return
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</li>
+<li>
+If
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+return
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+associated
+with
+its
+<code>
+@id
+</code>
+member.
+</li>
+<li>
+Otherwise,
+<i>
+item
+</i>
+is
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>.
+Initialize
+<i>
+value
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@value
+</code>
+member
+in
+<i>
+item
+</i>.
+</li>
+<li>
+Initialize
+<i>
+datatype
+</i>
+to
+the
+value
+associated
+with
+the
+<code>
+@type
+</code>
+member
+of
+<i>
+item
+</i>
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+if
+<i>
+item
+</i>
+does
+not
+have
+such
+a
+member.
+</li>
+<li>
+If
+<i>
+value
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+set
+<i>
+value
+</i>
+to
+the
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+<code>
+true
+</code>
+or
+<code>
+false
+</code>
+which
+is
+the
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+as
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>
+If
+<i>
+datatype
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+xsd:boolean
+</code>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+with
+a
+non-zero
+fractional
+part
+(the
+result
+of
+a
+modulo‑1
+operation)
+or
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+and
+<i>
+datatype
+</i>
+equals
+<code>
+xsd:double
+</code>,
+convert
+<i>
+value
+</i>
+to
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+in
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+of
+an
+<code>
+xsd:double
+</code>
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-XMLSCHEMA11-2">
+XMLSCHEMA11-2
+</a>
+</cite>
+]
+and
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>.
+If
+<i>
+datatype
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+xsd:double
+</code>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+with
+no
+non-zero
+fractional
+part
+(the
+result
+of
+a
+modulo‑1
+operation)
+or
+<i>
+value
+</i>
+is
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+and
+<i>
+datatype
+</i>
+equals
+<code>
+xsd:integer
+</code>,
+convert
+<i>
+value
+</i>
+to
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+in
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+of
+an
+<code>
+xsd:integer
+</code>
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-XMLSCHEMA11-2">
+XMLSCHEMA11-2
+</a>
+</cite>
+]
+and
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>.
+If
+<i>
+datatype
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+xsd:integer
+</code>.
+</li>
+<li>
+Otherwise,
+if
+<i>
+datatype
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+set
+it
+to
+<code>
+xsd:string
+</code>
+or
+<code>
+rdf:langString
+</code>,
+depending
+on
+if
+item
+has
+an
+<code>
+@language
+</code>
+member.
+</li>
+<li>
+Initialize
+<i>
+literal
+</i>
+as
+an
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literal
+</a>
+using
+<i>
+value
+</i>
+and
+<i>
+datatype
+</i>.
+If
+<i>
+item
+</i>
+has
+an
+<code>
+@language
+</code>
+member,
+add
+the
+value
+associated
+with
+the
+<code>
+@language
+</code>
+key
+as
+the
+language
+tag
+of
+<i>
+literal
+</i>.
+</li>
+<li>
+Return
+<i>
+literal
+</i>.
+</li>
+</ol>
+</section>
+</section>
+<section id="list-to-rdf-conversion">
+<h3 aria-level="2" role="heading" id="h3_list-to-rdf-conversion">
+<span class="secno">
+10.3
+</span>
+List
+to
+RDF
+Conversion
+</h3>
+<p>
+List
+Conversion
+is
+the
+process
+of
+taking
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+and
+transforming
+it
+into
+an
+<a class="tref externalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">
+RDF
+Collection
+</a>
+as
+defined
+in
+RDF
+Semantics
+[
+<cite>
+<del class="diff-old">RDF-MT
+</del>
+<a class="bibref" href="#bib-RDF11-MT">
+<ins class="diff-chg">RDF11-MT
+</ins>
+</a>
+</cite>
+].
+</p>
+<section class="informative">
+<h4 id="overview-15" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+For
+each
+element
+of
+the
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>
+a
+new
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+is
+allocated
+which
+is
+used
+to
+generate
+<code>
+rdf:first
+</code>
+and
+<code>
+rdf:rest
+</code>
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+triples
+</a>.
+The
+algorithm
+returns
+the
+list
+head,
+which
+is
+either
+the
+first
+allocated
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+or
+<code>
+rdf:nil
+</code>
+if
+the
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>
+is
+empty.
+If
+a
+list
+element
+represents
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+the
+corresponding
+<code>
+rdf:first
+</code>
+triple
+is
+omitted.
+</p>
+</section>
+<section>
+<h4 id="algorithm-15" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+two
+inputs:
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+list
+</i>
+and
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+list
+triples
+</i>
+used
+for
+returning
+the
+generated
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+triples
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+list
+</i>
+is
+empty,
+return
+<code>
+rdf:nil
+</code>.
+</li>
+<li>
+Otherwise,
+create
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+bnodes
+</i>
+composed
+of
+a
+<a href="#generate-blank-node-identifier">
+newly
+generated
+blank
+node
+identifier
+</a>
+for
+each
+entry
+in
+<i>
+list
+</i>.
+</li>
+<li>
+Initialize
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+list
+triples
+</i>.
+</li>
+<li>
+For
+each
+pair
+of
+<i>
+subject
+</i>
+from
+<i>
+bnodes
+</i>
+and
+<i>
+item
+</i>
+from
+<i>
+list
+</i>:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+object
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#object-to-rdf-conversion">
+Object
+to
+RDF
+Conversion
+algorithm
+</a>
+passing
+<i>
+item
+</i>
+to
+<i>
+list
+triples
+</i>.
+</li>
+<li>
+Unless
+<i>
+object
+</i>
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+append
+a
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+composed
+of
+<i>
+subject
+</i>,
+<code>
+rdf:first
+</code>,
+and
+<i>
+object
+</i>.
+</li>
+<li>
+Set
+<i>
+rest
+</i>
+as
+the
+next
+entry
+in
+<i>
+bnodes
+</i>,
+or
+if
+that
+does
+not
+exist,
+<code>
+rdf:nil
+</code>.
+Append
+a
+<a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+triple
+</a>
+composed
+of
+<i>
+subject
+</i>,
+<code>
+rdf:rest
+</code>,
+and
+<i>
+rest
+</i>
+to
+<i>
+list
+triples
+</i>.
+</li>
+</ol>
+</li>
+<li>
+Return
+the
+first
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+from
+<i>
+bnodes
+</i>
+or
+<code>
+rdf:nil
+</code>
+if
+<i>
+bnodes
+</i>
+is
+empty.
+</li>
+</ol>
+</section>
+</section>
+<section id="serialize-rdf-as-json-ld-algorithm">
+<h3 aria-level="2" role="heading" id="h3_serialize-rdf-as-json-ld-algorithm">
+<span class="secno">
+10.4
+</span>
+Serialize
+RDF
+as
+JSON-LD
+Algorithm
+</h3>
+<p>
+This
+algorithm
+serializes
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>
+consisting
+of
+a
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+and
+zero
+or
+more
+<a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">
+named
+graphs
+</a>
+into
+a
+JSON-LD
+document.
+</p>
+<section class="informative">
+<h4 id="overview-16" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Iterate
+through
+each
+graph
+in
+the
+dataset,
+converting
+each
+<a class="tref internalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">
+RDF
+Collection
+</a>
+into
+a
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>
+and
+generating
+a
+JSON-LD
+document
+in
+expanded
+form
+for
+all
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>,
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+and
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+If
+the
+<i>
+use
+native
+types
+</i>
+flag
+is
+set
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+with
+a
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+that
+equals
+<code>
+xsd:integer
+</code>
+or
+<code>
+xsd:double
+</code>
+are
+converted
+to
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+JSON
+numbers
+</a>
+and
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+with
+a
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+that
+equals
+<code>
+xsd:boolean
+</code>
+are
+converted
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+based
+on
+their
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+as
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>.
+Unless
+the
+<i>
+use
+<code>
+rdf:type
+</code>
+</i>
+flag
+is
+set
+to
+true,
+<code>
+rdf:type
+</code>
+predicates
+will
+be
+serialized
+as
+<code>
+@type
+</code>
+as
+long
+as
+the
+associated
+object
+is
+either
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-16" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+The
+algorithm
+takes
+one
+required
+and
+two
+optional
+inputs:
+an
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>
+and
+the
+two
+flags
+<i>
+use
+native
+types
+</i>
+and
+<i>
+use
+<code>
+rdf:type
+</code>
+</i>
+that
+both
+default
+to
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+</p>
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+default
+graph
+</i>
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+Initialize
+<i>
+graph
+map
+</i>
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+<code>
+@default
+</code>
+whose
+value
+references
+<i>
+default
+graph
+</i>.
+</li>
+<li>
+For
+each
+<i>
+graph
+</i>
+in
+<a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">
+RDF
+dataset
+</a>:
+<ol class="algorithm">
+<li>
+If
+<i>
+graph
+</i>
+is
+the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>,
+set
+<i>
+name
+</i>
+to
+<code>
+@default
+</code>,
+otherwise
+to
+the
+<a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">
+graph
+name
+</a>
+associated
+with
+<i>
+graph
+</i>.
+</li>
+<li>
+If
+<i>
+graph
+map
+</i>
+has
+no
+<i>
+name
+</i>
+member,
+create
+one
+and
+set
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</li>
+<li>
+If
+<i>
+graph
+</i>
+is
+not
+the
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+and
+<i>
+default
+graph
+</i>
+does
+not
+have
+a
+<i>
+name
+</i>
+member,
+create
+such
+a
+member
+and
+initialize
+its
+value
+to
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+with
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+<i>
+name
+</i>.
+</li>
+<li>
+Reference
+the
+value
+of
+the
+<i>
+name
+</i>
+member
+in
+<i>
+graph
+map
+</i>
+using
+the
+variable
+<i>
+node
+map
+</i>.
+</li>
+<li>
+For
+each
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triple
+</a>
+in
+<i>
+graph
+</i>
+consisting
+of
+<i>
+subject
+</i>,
+<i>
+predicate
+</i>,
+and
+<i>
+object
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+node
+map
+</i>
+does
+not
+have
+a
+<i>
+subject
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+set
+to
+<i>
+subject
+</i>.
+</li>
+<li>
+Reference
+the
+value
+of
+the
+<i>
+subject
+</i>
+member
+in
+<i>
+node
+map
+</i>
+using
+the
+variable
+<i>
+node
+</i>.
+</li>
+<li>
+If
+<i>
+object
+</i>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+and
+<i>
+node
+map
+</i>
+does
+not
+have
+an
+<i>
+object
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+set
+to
+<i>
+object
+</i>.
+</li>
+<li>
+If
+<i>
+predicate
+</i>
+equals
+<code>
+rdf:type
+</code>,
+the
+<i>
+use
+<code>
+rdf:type
+</code>
+</i>
+flag
+is
+not
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+and
+<i>
+object
+</i>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+append
+<i>
+object
+</i>
+to
+the
+value
+of
+the
+<code>
+@type
+</code>
+member
+of
+<i>
+node
+</i>
+;
+unless
+such
+an
+item
+already
+exists.
+If
+no
+such
+member
+exists,
+create
+one
+and
+initialize
+it
+to
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+whose
+only
+item
+is
+<i>
+object
+</i>.
+Finally,
+continue
+to
+the
+next
+<a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">
+RDF
+triple
+</a>.
+</li>
+<li>
+Set
+<i>
+value
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#rdf-to-object-conversion">
+RDF
+to
+Object
+Conversion
+algorithm
+</a>,
+passing
+<i>
+object
+</i>
+and
+<i>
+use
+native
+types
+</i>.
+</li>
+<li>
+If
+<i>
+node
+</i>
+does
+not
+have
+an
+<i>
+predicate
+</i>
+member,
+create
+one
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+If
+there
+is
+no
+item
+equivalent
+to
+<i>
+value
+</i>
+in
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+associated
+with
+the
+<i>
+predicate
+</i>
+member
+of
+<i>
+node
+</i>,
+append
+a
+reference
+to
+<i>
+value
+</i>
+to
+the
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+Two
+JSON
+objects
+are
+considered
+equal
+if
+they
+have
+equivalent
+key-value
+pairs.
+</li>
+<li>
+If
+<i>
+object
+</i>
+is
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+or
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+it
+might
+represent
+the
+list
+node:
+<ol class="algorithm">
+<li>
+If
+the
+<i>
+object
+</i>
+member
+of
+<i>
+node
+map
+</i>
+has
+no
+<code>
+usages
+</code>
+member,
+create
+one
+and
+initialize
+it
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Reference
+the
+<code>
+usages
+</code>
+member
+of
+the
+<i>
+object
+</i>
+member
+of
+<i>
+node
+map
+</i>
+using
+the
+variable
+<i>
+usages
+</i>.
+</li>
+<li>
+Append
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+three
+members,
+<code>
+node
+</code>,
+<code>
+property
+</code>,
+and
+<code>
+value
+</code>
+to
+the
+<i>
+usages
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+The
+<code>
+node
+</code>
+member
+is
+set
+to
+a
+reference
+to
+<i>
+node
+</i>,
+<code>
+property
+</code>
+to
+<i>
+predicate
+</i>,
+and
+<code>
+value
+</code>
+to
+a
+reference
+to
+<i>
+value
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+For
+each
+<i>
+name
+</i>
+and
+<i>
+graph
+object
+</i>
+in
+<i>
+graph
+map
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+graph
+object
+</i>
+has
+no
+<code>
+rdf:nil
+</code>
+member,
+continue
+with
+the
+next
+<i>
+name
+</i>
+-
+<i>
+graph
+object
+</i>
+pair
+as
+the
+graph
+does
+not
+contain
+any
+lists
+that
+need
+to
+be
+converted.
+</li>
+<li>
+Initialize
+<i>
+nil
+</i>
+to
+the
+value
+of
+the
+<code>
+rdf:nil
+</code>
+member
+of
+<i>
+graph
+object
+</i>.
+</li>
+<li>
+For
+each
+item
+<i>
+usage
+</i>
+in
+the
+<code>
+usages
+</code>
+member
+of
+<i>
+nil
+</i>,
+perform
+the
+following
+steps:
+<ol class="algorithm">
+<li>
+Initialize
+<i>
+node
+</i>
+to
+the
+value
+of
+the
+value
+of
+the
+<code>
+node
+</code>
+member
+of
+<i>
+usage
+</i>,
+<i>
+property
+</i>
+to
+the
+value
+of
+the
+<code>
+property
+</code>
+member
+of
+<i>
+usage
+</i>,
+and
+<i>
+head
+</i>
+to
+the
+value
+of
+the
+<code>
+value
+</code>
+member
+of
+<i>
+usage
+</i>.
+</li>
+<li>
+Initialize
+two
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>
+<i>
+list
+</i>
+and
+<i>
+list
+nodes
+</i>.
+</li>
+<li>
+While
+<i>
+property
+</i>
+equals
+<code>
+rdf:rest
+</code>,
+the
+value
+associated
+to
+the
+<code>
+usages
+</code>
+member
+of
+<i>
+node
+</i>
+has
+exactly
+1
+entry,
+<i>
+node
+</i>
+has
+a
+<code>
+rdf:first
+</code>
+and
+<code>
+rdf:rest
+</code>
+property,
+both
+of
+which
+have
+as
+value
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+consisting
+of
+a
+single
+element,
+and
+<i>
+node
+</i>
+has
+no
+other
+members
+apart
+from
+an
+optional
+<code>
+@type
+</code>
+member
+whose
+value
+is
+an
+array
+with
+a
+single
+item
+equal
+to
+<code>
+rdf:List
+</code>,
+<i>
+node
+</i>
+represents
+a
+well-formed
+list
+node.
+Perform
+the
+following
+steps
+to
+traverse
+the
+list
+backwards
+towards
+its
+head:
+<ol class="algorithm">
+<li>
+Append
+the
+only
+item
+of
+<code>
+rdf:first
+</code>
+member
+of
+<i>
+node
+</i>
+to
+the
+<i>
+list
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Append
+the
+value
+of
+the
+<code>
+@id
+</code>
+member
+of
+<i>
+node
+</i>
+to
+the
+<i>
+list
+nodes
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Initialize
+<i>
+node
+usage
+</i>
+to
+the
+only
+item
+of
+the
+<code>
+usages
+</code>
+member
+of
+<i>
+node
+</i>.
+</li>
+<li>
+Set
+<i>
+node
+</i>
+to
+the
+value
+of
+the
+<code>
+node
+</code>
+member
+of
+<i>
+node
+usage
+</i>,
+<i>
+property
+</i>
+to
+the
+value
+of
+the
+<code>
+property
+</code>
+member
+of
+<i>
+node
+usage
+</i>,
+and
+<i>
+head
+</i>
+to
+the
+value
+of
+the
+<code>
+value
+</code>
+member
+of
+<i>
+node
+usage
+</i>.
+</li>
+<li>
+If
+the
+<code>
+@id
+</code>
+member
+of
+<i>
+node
+</i>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+instead
+of
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+exit
+the
+while
+loop.
+</li>
+</ol>
+</li>
+<li>
+If
+<i>
+property
+</i>
+equals
+<code>
+rdf:first
+</code>,
+i.e.,
+the
+detected
+list
+is
+nested
+inside
+another
+list
+<ol class="algorithm">
+<li>
+and
+the
+value
+of
+the
+<code>
+@id
+</code>
+of
+<i>
+node
+</i>
+equals
+<code>
+rdf:nil
+</code>,
+i.e.,
+the
+detected
+list
+is
+empty,
+continue
+with
+the
+next
+<i>
+usage
+</i>
+item.
+The
+<code>
+rdf:nil
+</code>
+node
+cannot
+be
+converted
+to
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+as
+it
+would
+result
+in
+a
+list
+of
+lists,
+which
+isn't
+supported.
+</li>
+<li>
+Otherwise,
+the
+list
+consists
+of
+at
+least
+one
+item.
+We
+preserve
+the
+head
+node
+and
+transform
+the
+rest
+of
+the
+linked
+list
+to
+a
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>.
+</li>
+<li>
+Set
+<i>
+head
+id
+</i>
+to
+the
+value
+of
+the
+<code>
+@id
+</code>
+member
+of
+<i>
+head
+</i>.
+</li>
+<li>
+Set
+<i>
+head
+</i>
+to
+the
+value
+of
+the
+<i>
+head
+id
+</i>
+member
+of
+<i>
+graph
+object
+</i>
+so
+that
+all
+it's
+properties
+can
+be
+accessed.
+</li>
+<li>
+Then,
+set
+<i>
+head
+</i>
+to
+the
+only
+item
+in
+the
+value
+of
+the
+<code>
+rdf:rest
+</code>
+member
+of
+<i>
+head
+</i>.
+</li>
+<li>
+Finally,
+remove
+the
+last
+item
+of
+the
+<i>
+list
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+and
+the
+last
+item
+of
+the
+<i>
+list
+nodes
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+</ol>
+</li>
+<li>
+Remove
+the
+<code>
+@id
+</code>
+member
+from
+<i>
+head
+</i>.
+</li>
+<li>
+Reverse
+the
+order
+of
+the
+<i>
+list
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+Add
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@list
+</code>
+member
+to
+<i>
+head
+</i>
+and
+initialize
+its
+value
+to
+the
+<i>
+list
+</i>
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+item
+<i>
+node
+id
+</i>
+in
+<i>
+list
+nodes
+</i>,
+remove
+the
+<i>
+node
+id
+</i>
+member
+from
+<i>
+graph
+object
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>
+Initialize
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+<i>
+result
+</i>.
+</li>
+<li>
+For
+each
+<i>
+subject
+</i>
+and
+<i>
+node
+</i>
+in
+<i>
+default
+graph
+</i>
+ordered
+by
+<i>
+subject
+</i>:
+<ol class="algorithm">
+<li>
+If
+<i>
+graph
+map
+</i>
+has
+a
+<i>
+subject
+</i>
+member:
+<ol class="algorithm">
+<li>
+Add
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@graph
+</code>
+member
+to
+<i>
+node
+</i>
+and
+initialize
+its
+value
+to
+an
+empty
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>.
+</li>
+<li>
+For
+each
+key-value
+pair
+<i>
+s
+</i>
+-
+<i>
+n
+</i>
+in
+the
+<i>
+subject
+</i>
+member
+of
+<i>
+graph
+map
+</i>
+ordered
+by
+<i>
+s
+</i>,
+append
+<i>
+n
+</i>
+to
+the
+<code>
+@graph
+</code>
+member
+of
+<i>
+node
+</i>
+after
+removing
+its
+<code>
+usages
+</code>
+member,
+unless
+the
+only
+remaining
+member
+of
+<i>
+n
+</i>
+is
+<code>
+@id
+</code>.
+</li>
+</ol>
+</li>
+<li>
+Append
+<i>
+node
+</i>
+to
+<i>
+result
+</i>
+after
+removing
+its
+<code>
+usages
+</code>
+member,
+unless
+the
+only
+remaining
+member
+of
+<i>
+node
+</i>
+is
+<code>
+@id
+</code>.
+</li>
+</ol>
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</section>
+</section>
+<section id="rdf-to-object-conversion">
+<h3 aria-level="2" role="heading" id="h3_rdf-to-object-conversion">
+<span class="secno">
+10.5
+</span>
+RDF
+to
+Object
+Conversion
+</h3>
+<p>
+This
+algorithm
+transforms
+an
+RDF
+literal
+to
+a
+JSON-LD
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+and
+a
+RDF
+blank
+node
+or
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+to
+an
+JSON-LD
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+</p>
+<section class="informative">
+<h4 id="overview-17" aria-level="3" role="heading">
+Overview
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+are
+transformed
+to
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+objects
+</a>
+whereas
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+and
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+are
+transformed
+to
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>.
+If
+the
+<i>
+use
+native
+types
+</i>
+flag
+is
+set
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+with
+a
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+that
+equals
+<code>
+xsd:integer
+</code>
+or
+<code>
+xsd:double
+</code>
+are
+converted
+to
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+JSON
+numbers
+</a>
+and
+<a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+with
+a
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+that
+equals
+<code>
+xsd:boolean
+</code>
+are
+converted
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+based
+on
+their
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+as
+described
+in
+<a class="sectionRef" href="#data-round-tripping">
+section
+10.6
+Data
+Round
+Tripping
+</a>.
+</p>
+</section>
+<section>
+<h4 id="algorithm-17" aria-level="3" role="heading">
+Algorithm
+</h4>
+<p>
+This
+algorithm
+takes
+two
+required
+inputs:
+a
+<i>
+value
+</i>
+to
+be
+converted
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+and
+a
+flag
+<i>
+use
+native
+types
+</i>.
+</p>
+<ol class="algorithm">
+<li>
+If
+<i>
+value
+</i>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+return
+a
+new
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+consisting
+of
+a
+single
+member
+<code>
+@id
+</code>
+whose
+value
+is
+set
+to
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise
+<i>
+value
+</i>
+is
+an
+<a class="tref externalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literal
+</a>:
+<ol class="algorithm">
+<li>
+Initialize
+a
+new
+empty
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+result.
+</li>
+<li>
+Initialize
+<i>
+converted
+value
+</i>
+to
+<i>
+value
+</i>.
+</li>
+<li>
+Initialize
+<i>
+type
+</i>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+</li>
+<li>
+If
+<i>
+use
+native
+types
+</i>
+is
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+<ol class="algorithm">
+<li>
+If
+the
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+value
+</i>
+equals
+<code>
+xsd:string
+</code>,
+set
+<i>
+converted
+value
+</i>
+to
+the
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+of
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+if
+the
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+value
+</i>
+equals
+<code>
+xsd:boolean
+</code>,
+set
+<i>
+converted
+value
+</i>
+to
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+if
+the
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+of
+<i>
+value
+</i>
+matches
+<code>
+true
+</code>,
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+if
+it
+matches
+<code>
+false
+</code>.
+If
+it
+matches
+neither,
+set
+<i>
+type
+</i>
+to
+<code>
+xsd:boolean
+</code>.
+</li>
+<li>
+Otherwise,
+if
+the
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+value
+</i>
+equals
+<code>
+xsd:integer
+</code>
+or
+<code>
+xsd:double
+</code>
+and
+its
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+is
+a
+valid
+<code>
+xsd:integer
+</code>
+or
+<code>
+xsd:double
+</code>
+according
+[
+<cite>
+<a class="bibref" href="#bib-XMLSCHEMA11-2">
+XMLSCHEMA11-2
+</a>
+</cite>
+],
+set
+<i>
+converted
+value
+</i>
+to
+the
+result
+of
+converting
+the
+<a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">
+lexical
+form
+</a>
+to
+a
+JSON
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>.
+</li>
+</ol>
+</li>
+<li>
+Otherwise,
+if
+<i>
+value
+</i>
+is
+a
+<a class="tref externalDFN" title="language-tagged-string" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string">
+language-tagged
+string
+</a>
+add
+a
+member
+<code>
+@language
+</code>
+to
+<i>
+result
+</i>
+and
+set
+its
+value
+to
+the
+<a class="tref externalDFN" title="language-tag" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tag">
+language
+tag
+</a>
+of
+<i>
+value
+</i>.
+</li>
+<li>
+Otherwise,
+set
+<i>
+type
+</i>
+to
+the
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+<i>
+value
+</i>,
+unless
+it
+equals
+<code>
+xsd:string
+</code>
+which
+is
+ignored.
+</li>
+<li>
+Add
+a
+member
+<code>
+@value
+</code>
+to
+<i>
+result
+</i>
+whose
+value
+is
+set
+to
+<i>
+converted
+value
+</i>.
+</li>
+<li>
+If
+<i>
+type
+</i>
+is
+not
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+add
+a
+member
+<code>
+@type
+</code>
+to
+<i>
+result
+</i>
+whose
+value
+is
+set
+to
+<i>
+type
+</i>.
+</li>
+<li>
+Return
+<i>
+result
+</i>.
+</li>
+</ol>
+</li>
+</ol>
+</section>
+</section>
+<section id="data-round-tripping">
+<h3 aria-level="2" role="heading" id="h3_data-round-tripping">
+<span class="secno">
+10.6
+</span>
+Data
+Round
+Tripping
+</h3>
+<p>
+When
+<a href="#deserialize-json-ld-to-rdf-algorithm">
+deserializing
+JSON-LD
+to
+RDF
+</a>
+JSON-native
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+are
+automatically
+type-coerced
+to
+<code>
+xsd:integer
+</code>
+or
+<code>
+xsd:double
+</code>
+depending
+on
+whether
+the
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+has
+a
+non-zero
+fractional
+part
+or
+not
+(the
+result
+of
+a
+modulo‑1
+operation),
+the
+boolean
+values
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+are
+coerced
+to
+<code>
+xsd:boolean
+</code>,
+and
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+are
+coerced
+to
+<code>
+xsd:string
+</code>.
+The
+numeric
+or
+boolean
+values
+themselves
+are
+converted
+to
+<dfn title="canonical-lexical-form" id="dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</dfn>,
+i.e.,
+a
+deterministic
+string
+representation
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href= "#bib-XMLSCHEMA11-2">
+XMLSCHEMA11-2
+</a>
+</cite>
+].
+</p>
+<p>
+The
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+of
+an
+<em>
+integer
+</em>,
+i.e.,
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+with
+no
+non-zero
+fractional
+part
+or
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+coerced
+to
+<code>
+xsd:integer
+</code>,
+is
+a
+finite-length
+sequence
+of
+decimal
+digits
+(
+<code>
+0-9
+</code>
+)
+with
+an
+optional
+leading
+minus
+sign;
+leading
+zeros
+are
+prohibited.
+In
+JavaScript,
+implementers
+can
+use
+the
+following
+snippet
+of
+code
+to
+convert
+an
+integer
+to
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>:
+</p>
+<div class="example">
+<div class="example-title">
+<span>
+Example
+12
+</span>:
+Sample
+integer
+serialization
+implementation
+in
+JavaScript
+</div>
+<pre class="example">
+(value).toFixed(0).toString()
+</pre>
+</div>
+<p>
+The
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+of
+a
+<em>
+double
+</em>,
+i.e.,
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+with
+a
+non-zero
+fractional
+part
+or
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+coerced
+to
+<code>
+xsd:double
+</code>,
+consists
+of
+a
+mantissa
+followed
+by
+the
+character
+<code>
+E
+</code>,
+followed
+by
+an
+exponent.
+The
+mantissa
+is
+a
+decimal
+number
+and
+the
+exponent
+is
+an
+integer.
+Leading
+zeros
+and
+a
+preceding
+plus
+sign
+(
+<code>
++
+</code>
+)
+are
+prohibited
+in
+the
+exponent.
+If
+the
+exponent
+is
+zero,
+it
+is
+indicated
+by
+<code>
+E0
+</code>.
+For
+the
+mantissa,
+the
+preceding
+optional
+plus
+sign
+is
+prohibited
+and
+the
+decimal
+point
+is
+required.
+Leading
+and
+trailing
+zeros
+are
+prohibited
+subject
+to
+the
+following:
+number
+representations
+must
+be
+normalized
+such
+that
+there
+is
+a
+single
+digit
+which
+is
+non-zero
+to
+the
+left
+of
+the
+decimal
+point
+and
+at
+least
+a
+single
+digit
+to
+the
+right
+of
+the
+decimal
+point
+unless
+the
+value
+being
+represented
+is
+zero.
+The
+canonical
+representation
+for
+zero
+is
+<code>
+0.0E0
+</code>.
+<code>
+xsd:double
+</code>
+'s
+value
+space
+is
+defined
+by
+the
+IEEE
+double-precision
+64-bit
+floating
+point
+type
+[
+<cite>
+<del class="diff-old">IEEE-754-1985
+</del>
+<a class="bibref" href="#bib-IEEE-754-2008">
+<ins class="diff-chg">IEEE-754-2008
+</ins>
+</a>
+</cite>
+]
+whereas
+the
+value
+space
+of
+JSON
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+is
+not
+specified;
+when
+deserializing
+JSON-LD
+to
+RDF
+the
+mantissa
+is
+rounded
+to
+<del class="diff-old">15&nbsp;digits
+</del>
+<ins class="diff-chg">15&#160;digits
+</ins>
+after
+the
+decimal
+point.
+In
+JavaScript,
+implementers
+can
+use
+the
+following
+snippet
+of
+code
+to
+convert
+a
+double
+to
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>:
+</p>
+<div class="example">
+<div class="example-title">
+<span>
+Example
+13
+</span>:
+Sample
+floating
+point
+number
+serialization
+implementation
+in
+JavaScript
+</div>
+<pre class="example">
+(value).toExponential(15).replace(/(\d)0*e\+?/,'$1E')
+</pre>
+</div>
+<p>
+The
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+of
+the
+<em>
+boolean
+</em>
+values
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+are
+the
+strings
+<code>
+true
+</code>
+and
+<code>
+false
+</code>.
+</p>
+<p>
+When
+JSON-native
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+are
+deserialized
+to
+RDF,
+lossless
+data
+round-tripping
+cannot
+be
+guaranteed,
+as
+rounding
+errors
+might
+occur.
+When
+<a href="#serialize-rdf-as-json-ld-algorithm">
+serializing
+RDF
+as
+JSON-LD
+</a>,
+similar
+rounding
+errors
+might
+occur.
+Furthermore,
+the
+datatype
+or
+the
+lexical
+representation
+might
+be
+lost.
+An
+<code>
+xsd:double
+</code>
+with
+a
+value
+of
+<code>
+2.0
+</code>
+will,
+e.g.,
+result
+in
+an
+<code>
+xsd:integer
+</code>
+with
+a
+value
+of
+<code>
+2
+</code>
+in
+<a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">
+canonical
+lexical
+form
+</a>
+when
+converted
+from
+RDF
+to
+JSON-LD
+and
+back
+to
+RDF.
+It
+is
+important
+to
+highlight
+that
+in
+practice
+it
+might
+be
+impossible
+to
+losslessly
+convert
+an
+<code>
+xsd:integer
+</code>
+to
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+because
+its
+value
+space
+is
+not
+limited.
+While
+the
+JSON
+specification
+[
+<cite>
+<a class= "bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+]
+does
+not
+limit
+the
+value
+space
+of
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+either,
+concrete
+implementations
+typically
+do
+have
+a
+limited
+value
+space.
+</p>
+<p>
+To
+ensure
+lossless
+round-tripping
+the
+<a href="#serialize-rdf-as-json-ld-algorithm">
+Serialize
+RDF
+as
+JSON-LD
+algorithm
+</a>
+specifies
+a
+<i>
+use
+native
+types
+</i>
+flag
+which
+controls
+whether
+<a class="tref externalDFN" title="rdf-literals" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">
+RDF
+literals
+</a>
+with
+a
+<a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">
+datatype
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+equal
+to
+<code>
+xsd:integer
+</code>,
+<code>
+xsd:double
+</code>,
+or
+<code>
+xsd:boolean
+</code>
+are
+converted
+to
+their
+JSON-native
+counterparts.
+If
+the
+<i>
+use
+native
+types
+</i>
+flag
+is
+set
+to
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+all
+literals
+remain
+in
+their
+original
+string
+representation.
+</p>
+<p>
+Some
+JSON
+serializers,
+such
+as
+PHP's
+native
+implementation
+in
+some
+versions,
+backslash-escape
+the
+forward
+slash
+character.
+For
+example,
+the
+value
+<code>
+http://example.com/
+</code>
+would
+be
+serialized
+as
+<code>
+http:\/\/example.com\/
+</code>.
+This
+is
+problematic
+as
+other
+JSON
+parsers
+might
+not
+understand
+those
+escaping
+characters.
+There
+is
+no
+need
+to
+backslash-escape
+forward
+slashes
+in
+JSON-LD.
+To
+aid
+interoperability
+between
+JSON-LD
+processors,
+forward
+slashes
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+be
+backslash-escaped.
+</p>
+</section>
+</section>
+<section class="informative" id="the-application-programming-interface">
+<h2 aria-level="1" role="heading" id="h2_the-application-programming-interface">
+<span class="secno">
+11.
+</span>
+The
+Application
+Programming
+Interface
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+This
+API
+provides
+a
+clean
+mechanism
+that
+enables
+developers
+to
+convert
+JSON-LD
+data
+into
+a
+variety
+of
+output
+formats
+that
+are
+often
+easier
+to
+work
+with.
+</p>
+<p>
+The
+JSON-LD
+API
+uses
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promises
+</a>
+to
+represent
+the
+result
+of
+the
+various
+asynchronous
+operations.
+<dfn title="promise" id="dfn-promise">
+Promises
+</dfn>
+are
+temporarily
+being
+drafted
+on
+<cite>
+<a href="https://github.com/domenic/promises-unwrapping/blob/master/README.md">
+GitHub
+</a>
+</cite>
+[
+<cite>
+<a class="bibref" href="#bib-PROMISES">
+PROMISES
+</a>
+</cite>
+]
+but
+are
+expected
+to
+be
+standardized
+as
+part
+of
+<del class="diff-old">ECMAScript&nbsp;6.
+</del>
+<ins class="diff-chg">ECMAScript&#160;6.
+</ins>
+</p>
+<section class="informative" id="the-jsonldprocessor-interface">
+<h3 aria-level="2" role="heading" id="h3_the-jsonldprocessor-interface">
+<span class="secno">
+11.1
+</span>
+The
+<a href="#idl-def-JsonLdProcessor" class="idlType">
+<code>
+JsonLdProcessor
+</code>
+</a>
+Interface
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-JsonLdProcessor" class="idlType">
+<code>
+JsonLdProcessor
+</code>
+</a>
+interface
+is
+the
+high-level
+programming
+structure
+that
+developers
+use
+to
+access
+the
+JSON-LD
+transformation
+methods.
+</p>
+<p>
+It
+is
+important
+to
+highlight
+that
+implementations
+do
+not
+modify
+the
+input
+parameters.
+If
+an
+error
+is
+detected,
+the
+Promise
+is
+rejected
+passing
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+with
+the
+corresponding
+error
+<code class="idlMemberName">
+<a href="#widl-JsonLdError-code">
+code
+</a>
+</code>
+and
+processing
+is
+stopped.
+</p>
+<p>
+If
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-documentLoader">
+documentLoader
+</a>
+</code>
+option
+is
+specified,
+it
+is
+used
+to
+dereference
+remote
+documents
+and
+contexts.
+The
+<code class="idlMemberName">
+<a href="#widl-RemoteDocument-documentUrl">
+documentUrl
+</a>
+</code>
+in
+the
+returned
+<code class="idlMemberName">
+<a href="#idl-def-RemoteDocument">
+RemoteDocument
+</a>
+</code>
+is
+used
+as
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+and
+the
+<code class="idlMemberName">
+<a href="#widl-RemoteDocument-contextUrl">
+contextUrl
+</a>
+</code>
+is
+used
+instead
+of
+looking
+at
+the
+HTTP
+Link
+Header
+directly.
+For
+the
+sake
+of
+simplicity,
+none
+of
+the
+algorithms
+in
+this
+document
+mention
+this
+directly.
+</p>
+<del class="diff-old">    ]
+</del>
+<pre class="idl">
+<span class="idlInterface" id="idl-def-JsonLdProcessor">[<span class="extAttr">Constructor</span>]
+interface <span class="idlInterfaceID">JsonLdProcessor</span> {
+<del class="diff-old">};
+</del>
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">compact</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam"><span class="idlParamType"><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a></span> <span class="idlParamName">context</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options">expand</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">flatten</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a>?</span> <span class="idlParamName">context</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+<ins class="diff-chg">};</span>
+</ins>
+</pre>
+<section>
+<h4 id="methods" aria-level="3" role="heading">
+Methods
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<dl class="methods">
+<dt id="widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">
+<code>
+compact
+</code>
+</dt>
+<dd>
+<p>
+<a href="#compaction">
+Compacts
+</a>
+the
+given
+<i>
+input
+</i>
+using
+the
+<i>
+context
+</i>
+according
+to
+the
+steps
+in
+the
+<a href="#compaction-algorithm">
+Compaction
+algorithm
+</a>:
+</p>
+<ol class="algorithm">
+<li>
+Create
+a
+new
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promise
+</a>
+<i>
+promise
+</i>
+and
+return
+it.
+The
+following
+steps
+are
+then
+executed
+asynchronously.
+</li>
+<li>
+If
+the
+passed
+<i>
+input
+</i>
+is
+a
+<span class="idlParamType">
+DOMString
+</span>
+representing
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+a
+remote
+document,
+dereference
+it.
+If
+the
+retrieved
+document's
+content
+type
+is
+neither
+<code>
+application/json
+</code>,
+nor
+<code>
+application/ld+json
+</code>,
+nor
+any
+other
+media
+type
+using
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+]
+or
+if
+the
+document
+cannot
+be
+parsed
+as
+JSON,
+reject
+the
+<i>
+promise
+</i>
+passing
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.loading-document-failed">
+loading
+document
+failed
+</a>
+</code>
+error.
+</li>
+<li>
+Initialize
+a
+new
+empty
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+The
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+set
+to
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+of
+the
+currently
+being
+processed
+document,
+if
+available;
+otherwise
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+set,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-base">
+base
+</a>
+</code>
+option
+overrides
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+If
+an
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+has
+been
+passed,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+If
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+having
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+member,
+pass
+that
+member's
+value
+instead.
+</li>
+<li>
+If
+the
+<i>
+input
+</i>
+has
+been
+retrieved,
+the
+response
+has
+an
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+and
+a
+content
+type
+of
+<code>
+application/json
+</code>
+or
+any
+media
+type
+with
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+]
+except
+<code>
+application/ld+json
+</code>,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+context
+referenced
+in
+the
+HTTP
+Link
+Header
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+The
+HTTP
+Link
+Header
+is
+ignored
+for
+documents
+served
+as
+<code>
+application/ld+json
+</code>
+If
+multiple
+HTTP
+Link
+Headers
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+are
+found,
+the
+<i>
+promise
+</i>
+is
+rejected
+with
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+whose
+code
+is
+set
+to
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</a>
+</code>
+and
+processing
+is
+terminated.
+</li>
+<li>
+Set
+<i>
+expanded
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>,
+passing
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+<i>
+input
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+having
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+member,
+set
+<i>
+context
+</i>
+to
+that
+member's
+value.
+</li>
+<li>
+Set
+<i>
+compacted
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#compaction-algorithm">
+Compaction
+algorithm
+</a>,
+passing
+<i>
+context
+</i>,
+<i>
+expanded
+</i>
+as
+<i>
+element
+</i>,
+and
+if
+passed,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+flag
+in
+<i>
+options
+</i>.
+</li>
+<li>
+Fulfill
+the
+<i>
+promise
+</i>
+passing
+<i>
+compacted
+</i>.
+</li>
+</ol>
+<table class="parameters">
+<tr>
+<th>
+Parameter
+</th>
+<th>
+Type
+</th>
+<th>
+Nullable
+</th>
+<th>
+Optional
+</th>
+<th>
+Description
+</th>
+</tr>
+<tr>
+<td class="prmName">
+input
+</td>
+<td class="prmType">
+<code>
+<a>
+any
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptFalse">
+✘
+</td>
+<td class="prmDesc">
+The
+JSON-LD
+object
+or
+array
+of
+JSON-LD
+objects
+to
+perform
+the
+compaction
+upon
+or
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+referencing
+the
+JSON-LD
+document
+to
+compact.
+</td>
+</tr>
+<tr>
+<td class="prmName">
+context
+</td>
+<td class="prmType">
+<code>
+<a href="#idl-def-JsonLdContext" class="idlType">
+<code>
+JsonLdContext
+</code>
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptFalse">
+✘
+</td>
+<td class="prmDesc">
+The
+context
+to
+use
+when
+compacting
+the
+<code>
+input
+</code>
+;
+it
+can
+be
+specified
+by
+using
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+an
+array
+consisting
+of
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+s
+and
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+s.
+</td>
+</tr>
+<tr>
+<td class="prmName">
+options
+</td>
+<td class="prmType">
+<code>
+<a href="#idl-def-JsonLdOptions" class="idlType">
+<code>
+JsonLdOptions
+</code>
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptTrue">
+✔
+</td>
+<td class="prmDesc">
+A
+set
+of
+options
+to
+configure
+the
+algorithms.
+This
+allows,
+e.g.,
+to
+set
+the
+input
+document's
+base
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</td>
+</tr>
+</table>
+<div>
+<em>
+Return
+type:
+</em>
+<code>
+<a href="#dfn-promise" class="internalDFN">
+Promise
+</a>
+</code>
+</div>
+</dd>
+<dt id="widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options">
+<code>
+expand
+</code>
+</dt>
+<dd>
+<p>
+<a href="#expansion">
+Expands
+</a>
+the
+given
+<i>
+input
+</i>
+according
+to
+the
+steps
+in
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>:
+</p>
+<ol class="algorithm">
+<li>
+Create
+a
+new
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promise
+</a>
+<i>
+promise
+</i>
+and
+return
+it.
+The
+following
+steps
+are
+then
+executed
+asynchronously.
+</li>
+<li>
+If
+the
+passed
+<i>
+input
+</i>
+is
+a
+<span class="idlParamType">
+DOMString
+</span>
+representing
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+a
+remote
+document,
+dereference
+it.
+If
+the
+retrieved
+document's
+content
+type
+is
+neither
+<code>
+application/json
+</code>,
+nor
+<code>
+application/ld+json
+</code>,
+nor
+any
+other
+media
+type
+using
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+],
+reject
+the
+<i>
+promise
+</i>
+passing
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.loading-document-failed">
+loading
+document
+failed
+</a>
+</code>
+error.
+</li>
+<li>
+Initialize
+a
+new
+empty
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+The
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+set
+to
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+of
+the
+currently
+being
+processed
+document,
+if
+available;
+otherwise
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+set,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-base">
+base
+</a>
+</code>
+option
+overrides
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+If
+an
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+has
+been
+passed,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+If
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+having
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+member,
+pass
+that
+member's
+value
+instead.
+</li>
+<li>
+If
+the
+<i>
+input
+</i>
+has
+been
+retrieved,
+the
+response
+has
+an
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+and
+a
+content
+type
+of
+<code>
+application/json
+</code>
+or
+any
+media
+type
+with
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+]
+except
+<code>
+application/ld+json
+</code>,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+context
+referenced
+in
+the
+HTTP
+Link
+Header
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+The
+HTTP
+Link
+Header
+is
+ignored
+for
+documents
+served
+as
+<code>
+application/ld+json
+</code>
+If
+multiple
+HTTP
+Link
+Headers
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+are
+found,
+the
+<i>
+promise
+</i>
+is
+rejected
+with
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+whose
+code
+is
+set
+to
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</a>
+</code>
+and
+processing
+is
+terminated.
+</li>
+<li>
+Set
+<i>
+expanded
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>,
+passing
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+<i>
+input
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+Fulfill
+the
+<i>
+promise
+</i>
+passing
+<i>
+expanded
+</i>.
+</li>
+</ol>
+<table class="parameters">
+<tr>
+<th>
+Parameter
+</th>
+<th>
+Type
+</th>
+<th>
+Nullable
+</th>
+<th>
+Optional
+</th>
+<th>
+Description
+</th>
+</tr>
+<tr>
+<td class="prmName">
+input
+</td>
+<td class="prmType">
+<code>
+<a>
+any
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptFalse">
+✘
+</td>
+<td class="prmDesc">
+The
+JSON-LD
+object
+or
+array
+of
+JSON-LD
+objects
+to
+perform
+the
+expansion
+upon
+or
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+referencing
+the
+JSON-LD
+document
+to
+expand.
+</td>
+</tr>
+<tr>
+<td class="prmName">
+options
+</td>
+<td class="prmType">
+<code>
+<a href="#idl-def-JsonLdOptions" class="idlType">
+<code>
+JsonLdOptions
+</code>
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptTrue">
+✔
+</td>
+<td class="prmDesc">
+A
+set
+of
+options
+to
+configure
+the
+used
+algorithms
+such.
+This
+allows,
+e.g.,
+to
+set
+the
+input
+document's
+base
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</td>
+</tr>
+</table>
+<div>
+<em>
+Return
+type:
+</em>
+<code>
+<a href="#dfn-promise" class="internalDFN">
+Promise
+</a>
+</code>
+</div>
+</dd>
+<dt id="widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">
+<code>
+flatten
+</code>
+</dt>
+<dd>
+<p>
+<a href="#flattening">
+Flattens
+</a>
+the
+given
+<i>
+input
+</i>
+and
+<a href="#compaction">
+compacts
+</a>
+it
+using
+the
+passed
+<i>
+context
+</i>
+according
+to
+the
+steps
+in
+the
+<a href="#flattening-algorithm">
+Flattening
+algorithm
+</a>:
+</p>
+<ol class="algorithm">
+<li>
+Create
+a
+new
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promise
+</a>
+<i>
+promise
+</i>
+and
+return
+it.
+The
+following
+steps
+are
+then
+executed
+asynchronously.
+</li>
+<li>
+If
+the
+passed
+<i>
+input
+</i>
+is
+a
+<span class="idlParamType">
+DOMString
+</span>
+representing
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+a
+remote
+document,
+dereference
+it.
+If
+the
+retrieved
+document's
+content
+type
+is
+neither
+<code>
+application/json
+</code>,
+nor
+<code>
+application/ld+json
+</code>,
+nor
+any
+other
+media
+type
+using
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+],
+reject
+the
+<i>
+promise
+</i>
+passing
+an
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.loading-document-failed">
+loading
+document
+failed
+</a>
+</code>
+error.
+</li>
+<li>
+Initialize
+a
+new
+empty
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+The
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+of
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+set
+to
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+of
+the
+currently
+being
+processed
+document,
+if
+available;
+otherwise
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+set,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-base">
+base
+</a>
+</code>
+option
+overrides
+the
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+If
+an
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+has
+been
+passed,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+If
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-expandContext">
+expandContext
+</a>
+</code>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+having
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+member,
+pass
+that
+member's
+value
+instead.
+</li>
+<li>
+If
+the
+<i>
+input
+</i>
+has
+been
+retrieved,
+the
+response
+has
+an
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+and
+a
+content
+type
+of
+<code>
+application/json
+</code>
+or
+any
+media
+type
+with
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+]
+except
+<code>
+application/ld+json
+</code>,
+update
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+using
+the
+<a href="#context-processing-algorithm">
+Context
+Processing
+algorithm
+</a>,
+passing
+the
+context
+referenced
+in
+the
+HTTP
+Link
+Header
+as
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>.
+The
+HTTP
+Link
+Header
+is
+ignored
+for
+documents
+served
+as
+<code>
+application/ld+json
+</code>
+If
+multiple
+HTTP
+Link
+Headers
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+are
+found,
+the
+<i>
+promise
+</i>
+is
+rejected
+with
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+whose
+code
+is
+set
+to
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</a>
+</code>
+and
+processing
+is
+terminated.
+</li>
+<li>
+Set
+<i>
+expanded
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#expansion-algorithm">
+Expansion
+algorithm
+</a>,
+passing
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+<i>
+input
+</i>
+as
+<i>
+element
+</i>.
+</li>
+<li>
+If
+<i>
+context
+</i>
+is
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+having
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+member,
+set
+<i>
+context
+</i>
+to
+that
+member's
+value.
+</li>
+<li>
+Initialize
+an
+empty
+<i>
+identifier
+map
+</i>
+and
+a
+<i>
+counter
+</i>
+(set
+to
+<code>
+0
+</code>
+)
+to
+be
+used
+by
+the
+<a href="#generate-blank-node-identifier">
+Generate
+Blank
+Node
+Identifier
+algorithm
+</a>.
+</li>
+<li>
+Set
+<i>
+flattened
+</i>
+to
+the
+result
+of
+using
+the
+<a href="#flattening-algorithm">
+Flattening
+algorithm
+</a>,
+passing
+<i>
+expanded
+</i>
+as
+<i>
+element
+</i>,
+<i>
+context
+</i>,
+and
+if
+passed,
+the
+<code class="idlMemberName">
+<a href="#widl-JsonLdOptions-compactArrays">
+compactArrays
+</a>
+</code>
+flag
+in
+<i>
+options
+</i>
+(which
+is
+internally
+passed
+to
+the
+<a href="#compaction-algorithm">
+Compaction
+algorithm
+</a>
+).
+</li>
+<li>
+Fulfill
+the
+<i>
+promise
+</i>
+passing
+<i>
+flattened
+</i>.
+</li>
+</ol>
+<table class="parameters">
+<tr>
+<th>
+Parameter
+</th>
+<th>
+Type
+</th>
+<th>
+Nullable
+</th>
+<th>
+Optional
+</th>
+<th>
+Description
+</th>
+</tr>
+<tr>
+<td class="prmName">
+input
+</td>
+<td class="prmType">
+<code>
+<a>
+any
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptFalse">
+✘
+</td>
+<td class="prmDesc">
+The
+JSON-LD
+object
+or
+array
+of
+JSON-LD
+objects
+or
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+referencing
+the
+JSON-LD
+document
+to
+flatten.
+</td>
+</tr>
+<tr>
+<td class="prmName">
+context
+</td>
+<td class="prmType">
+<code>
+<a href="#idl-def-JsonLdContext" class="idlType">
+<code>
+JsonLdContext
+</code>
+</a>
+</code>
+</td>
+<td class="prmNullTrue">
+✔
+</td>
+<td class="prmOptTrue">
+✔
+</td>
+<td class="prmDesc">
+The
+context
+to
+use
+when
+compacting
+the
+flattened
+<code>
+input
+</code>
+;
+it
+can
+be
+specified
+by
+using
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+an
+array
+consisting
+of
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+s
+and
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+s.
+If
+not
+passed
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+is
+passed,
+the
+result
+will
+not
+be
+compacted
+but
+kept
+in
+expanded
+form.
+</td>
+</tr>
+<tr>
+<td class="prmName">
+options
+</td>
+<td class="prmType">
+<code>
+<a href="#idl-def-JsonLdOptions" class="idlType">
+<code>
+JsonLdOptions
+</code>
+</a>
+</code>
+</td>
+<td class="prmNullFalse">
+✘
+</td>
+<td class="prmOptTrue">
+✔
+</td>
+<td class="prmDesc">
+A
+set
+of
+options
+to
+configure
+the
+used
+algorithms
+such.
+This
+allows,
+e.g.,
+to
+set
+the
+input
+document's
+base
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</td>
+</tr>
+</table>
+<div>
+<em>
+Return
+type:
+</em>
+<code>
+<a href="#dfn-promise" class="internalDFN">
+Promise
+</a>
+</code>
+</div>
+</dd>
+</dl>
+</section>
+<pre class="idl">
+<del class="diff-old">typedef
+(
+object
+or
+DOMString
+or
+(object
+or
+DOMString[])
+)
+JsonLdContext
+;
+</del>
+<span class="idlTypedef" id="idl-def-JsonLdContext">typedef <span class="idlTypedefType">(<a>object</a> or <a>DOMString</a> or <a>(object</a> or <a>DOMString[])</a>)</span> <span class="idlTypedefID">JsonLdContext</span>;</span>
+</pre>
+<div class="idlTypedefDesc">
+<p>
+The
+<a href="#idl-def-JsonLdContext" class="idlType">
+<code>
+JsonLdContext
+</code>
+</a>
+type
+is
+used
+to
+refer
+to
+a
+value
+that
+that
+may
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+representing
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+an
+array
+of
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+and
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>.
+</p>
+</div>
+</section>
+<section class="informative" id="the-jsonldoptions-type">
+<h3 aria-level="2" role="heading" id="h3_the-jsonldoptions-type">
+<span class="secno">
+11.2
+</span>
+The
+<a href="#idl-def-JsonLdOptions" class="idlType">
+<code>
+JsonLdOptions
+</code>
+</a>
+Type
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-JsonLdOptions" class="idlType">
+<code>
+JsonLdOptions
+</code>
+</a>
+type
+is
+used
+to
+pass
+various
+options
+to
+the
+<a href="#idl-def-JsonLdProcessor" class="idlType">
+<code>
+JsonLdProcessor
+</code>
+</a>
+methods.
+</p>
+<del class="diff-old">     {
+</del>
+<pre class="idl">
+<span class="idlDictionary" id="idl-def-JsonLdOptions">dictionary <span class="idlDictionaryID">JsonLdOptions</span> {
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a>?</span>             <span class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>boolean</a></span>                <span class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></span> = <span class="idlMemberValue">true</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a></span>   <span class="idlMemberName"><a href="#widl-JsonLdOptions-documentLoader">documentLoader</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType">(<a>object?</a> or <a>DOMString</a>)</span> <span class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span>              <span class="idlMemberName"><a href="#widl-JsonLdOptions-processingMode">processingMode</a></span> = <span class="idlMemberValue">"json-ld-1.0"</span>;</span>
+<del class="diff-old">};
+</del>
+<ins class="diff-chg">};</span>
+</ins>
+</pre>
+<section>
+<h4 id="dictionary-jsonldoptions-members" aria-level="3" role="heading">
+Dictionary
+<a class="idlType" href="#idl-def-JsonLdOptions">
+<code>
+JsonLdOptions
+</code>
+</a>
+Members
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<dl class="dictionary-members">
+<dt id="widl-JsonLdOptions-base">
+<code>
+base
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>,
+nullable
+</dt>
+<dd>
+The
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+to
+use
+when
+expanding
+or
+compacting
+the
+document.
+If
+set,
+this
+overrides
+the
+input
+document's
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>.
+</dd>
+<dt id="widl-JsonLdOptions-compactArrays">
+<code>
+compactArrays
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+boolean
+</a>
+</span>,
+defaulting
+to
+<code>
+true
+</code>
+</dt>
+<dd>
+If
+set
+to
+<code>
+true
+</code>,
+the
+JSON-LD
+processor
+replaces
+arrays
+with
+just
+one
+element
+with
+that
+element
+during
+compaction.
+If
+set
+to
+<code>
+false
+</code>,
+all
+arrays
+will
+remain
+arrays
+even
+if
+they
+have
+just
+one
+element.
+</dd>
+<dt id="widl-JsonLdOptions-documentLoader">
+<code>
+documentLoader
+</code>
+of
+type
+<span class="idlMemberType">
+<a href="#idl-def-LoadDocumentCallback" class="idlType">
+<code>
+LoadDocumentCallback
+</code>
+</a>
+</span>,
+defaulting
+to
+<code>
+null
+</code>
+</dt>
+<dd>
+The
+callback
+of
+the
+loader
+to
+be
+used
+to
+retrieve
+remote
+documents
+and
+contexts.
+If
+specified,
+it
+is
+used
+to
+retrieve
+remote
+documents
+and
+contexts;
+otherwise,
+if
+not
+specified,
+the
+processor's
+built-in
+loader
+is
+used.
+</dd>
+<dt id="widl-JsonLdOptions-expandContext">
+<code>
+expandContext
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+(object?
+or
+DOMString)
+</a>
+</span>,
+defaulting
+to
+<code>
+null
+</code>
+</dt>
+<dd>
+A
+context
+that
+is
+used
+to
+initialize
+the
+active
+context
+when
+expanding
+a
+document.
+</dd>
+<dt id="widl-JsonLdOptions-processingMode">
+<code>
+processingMode
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>,
+defaulting
+to
+<code>
+"json-ld-1.0"
+</code>
+</dt>
+<dd>
+If
+set
+to
+<code>
+json-ld-1.0
+</code>,
+the
+implementation
+has
+to
+produce
+exactly
+the
+same
+results
+as
+the
+algorithms
+defined
+in
+this
+specification.
+If
+set
+to
+another
+value,
+the
+JSON-LD
+processor
+is
+allowed
+to
+extend
+or
+modify
+the
+algorithms
+defined
+in
+this
+specification
+to
+enable
+application-specific
+optimizations.
+The
+definition
+of
+such
+optimizations
+is
+beyond
+the
+scope
+of
+this
+specification
+and
+thus
+not
+defined.
+Consequently,
+different
+implementations
+may
+implement
+different
+optimizations.
+Developers
+must
+not
+define
+modes
+beginning
+with
+<code>
+json-ld
+</code>
+as
+they
+are
+reserved
+for
+future
+versions
+of
+this
+specification.
+</dd>
+</dl>
+</section>
+</section>
+<section class="informative" id="remote-document-and-context-retrieval">
+<h3 aria-level="2" role="heading" id="h3_remote-document-and-context-retrieval">
+<span class="secno">
+11.3
+</span>
+Remote
+Document
+and
+Context
+Retrieval
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Users
+of
+an
+API
+implementation
+can
+utilize
+a
+callback
+to
+control
+how
+remote
+documents
+and
+contexts
+are
+retrieved.
+This
+section
+details
+the
+parameters
+of
+that
+callback
+and
+the
+data
+structure
+used
+to
+return
+the
+retrieved
+context.
+</p>
+<section class="informative">
+<h4 id="loaddocumentcallback" aria-level="3" role="heading">
+LoadDocumentCallback
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-LoadDocumentCallback" class="idlType">
+<code>
+LoadDocumentCallback
+</code>
+</a>
+defines
+a
+callback
+that
+custom
+document
+loaders
+have
+to
+implement
+to
+be
+used
+to
+retrieve
+remote
+documents
+and
+contexts.
+</p>
+<pre class="idl">
+<del class="diff-old">callback
+LoadDocumentCallback
+=
+Promise
+(
+DOMString
+url
+);
+</del>
+<span class="idlCallback" id="idl-def-LoadDocumentCallback">callback <span class="idlCallbackID">LoadDocumentCallback</span> = <span class="idlCallbackType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">url</span></span>);</span>
+</pre>
+<section>
+<h5 id="callback-loaddocumentcallback-parameters" aria-level="4" role="heading">
+Callback
+<a class="idlType" href="#idl-def-LoadDocumentCallback">
+<code>
+LoadDocumentCallback
+</code>
+</a>
+Parameters
+</h5>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<dl class="callback-members">
+<dt id="widl-LoadDocumentCallback-url">
+<code>
+url
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>
+</dt>
+<dd>
+The
+URL
+of
+the
+remote
+document
+or
+context
+to
+load.
+</dd>
+</dl>
+</section>
+<p>
+All
+errors
+result
+in
+the
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promise
+</a>
+being
+rejected
+with
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+whose
+code
+is
+set
+to
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.loading-document-failed">
+loading
+document
+failed
+</a>
+</code>
+or
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</a>
+</code>
+as
+described
+in
+the
+next
+section.
+</p>
+</section>
+<section class="informative">
+<h4 id="remotedocument" aria-level="3" role="heading">
+RemoteDocument
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-RemoteDocument" class="idlType">
+<code>
+RemoteDocument
+</code>
+</a>
+type
+is
+used
+by
+a
+<a href="#idl-def-LoadDocumentCallback" class="idlType">
+<code>
+LoadDocumentCallback
+</code>
+</a>
+to
+return
+information
+about
+a
+remote
+document
+or
+context.
+</p>
+<del class="diff-old">       {
+</del>
+<pre class="idl">
+<span class="idlDictionary" id="idl-def-RemoteDocument">dictionary <span class="idlDictionaryID">RemoteDocument</span> {
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span> <span class="idlMemberName"><a href="#widl-RemoteDocument-contextUrl">contextUrl</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span> <span class="idlMemberName"><a href="#widl-RemoteDocument-documentUrl">documentUrl</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>any</a></span>       <span class="idlMemberName"><a href="#widl-RemoteDocument-document">document</a></span>;</span>
+<del class="diff-old">};
+</del>
+<ins class="diff-chg">};</span>
+</ins>
+</pre>
+<section>
+<h5 id="dictionary-remotedocument-members" aria-level="4" role="heading">
+Dictionary
+<a class="idlType" href="#idl-def-RemoteDocument">
+<code>
+RemoteDocument
+</code>
+</a>
+Members
+</h5>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<dl class="dictionary-members">
+<dt id="widl-RemoteDocument-contextUrl">
+<code>
+contextUrl
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>,
+defaulting
+to
+<code>
+null
+</code>
+</dt>
+<dd>
+If
+available,
+the
+value
+of
+the
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+in
+the
+response.
+If
+the
+response's
+content
+type
+is
+<code>
+application/ld+json
+</code>,
+the
+HTTP
+Link
+Header
+is
+ignored.
+If
+multiple
+HTTP
+Link
+Headers
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+are
+found,
+the
+<a class="tref internalDFN" title="promise" href="#dfn-promise">
+Promise
+</a>
+of
+the
+<a href="#idl-def-LoadDocumentCallback" class="idlType">
+<code>
+LoadDocumentCallback
+</code>
+</a>
+is
+rejected
+with
+a
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+whose
+code
+is
+set
+to
+<code class="error">
+<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</a>
+</code>.
+</dd>
+<dt id="widl-RemoteDocument-document">
+<code>
+document
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+any
+</a>
+</span>
+</dt>
+<dd>
+The
+retrieved
+document.
+This
+can
+either
+be
+the
+raw
+payload
+or
+the
+already
+parsed
+document.
+</dd>
+<dt id="widl-RemoteDocument-documentUrl">
+<code>
+documentUrl
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>
+</dt>
+<dd>
+The
+final
+URL
+of
+the
+loaded
+document.
+This
+is
+important
+to
+handle
+HTTP
+redirects
+properly.
+</dd>
+</dl>
+</section>
+</section>
+</section>
+<section class="informative" id="error-handling">
+<h3 aria-level="2" role="heading" id="h3_error-handling">
+<span class="secno">
+11.4
+</span>
+Error
+Handling
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+This
+section
+describes
+the
+datatype
+definitions
+used
+within
+the
+JSON-LD
+API
+for
+error
+handling.
+</p>
+<section>
+<h4 id="jsonlderror" aria-level="3" role="heading">
+JsonLdError
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-JsonLdError" class="idlType">
+<code>
+JsonLdError
+</code>
+</a>
+type
+is
+used
+to
+report
+processing
+errors.
+</p>
+<del class="diff-old">       {
+</del>
+<pre class="idl">
+<span class="idlDictionary" id="idl-def-JsonLdError">dictionary <span class="idlDictionaryID">JsonLdError</span> {
+<span class="idlMember">    <span class="idlMemberType"><a href="#idl-def-JsonLdErrorCode" class="idlType"><code>JsonLdErrorCode</code></a></span> <span class="idlMemberName"><a href="#widl-JsonLdError-code">code</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a>?</span>      <span class="idlMemberName"><a href="#widl-JsonLdError-message">message</a></span> = <span class="idlMemberValue">null</span>;</span>
+<del class="diff-old">};
+</del>
+<ins class="diff-chg">};</span>
+</ins>
+</pre>
+<section>
+<h5 id="dictionary-jsonlderror-members" aria-level="4" role="heading">
+Dictionary
+<a class="idlType" href="#idl-def-JsonLdError">
+<code>
+JsonLdError
+</code>
+</a>
+Members
+</h5>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<dl class="dictionary-members">
+<dt id="widl-JsonLdError-code">
+<code>
+code
+</code>
+of
+type
+<span class="idlMemberType">
+<a href="#idl-def-JsonLdErrorCode" class="idlType">
+<code>
+JsonLdErrorCode
+</code>
+</a>
+</span>
+</dt>
+<dd>
+a
+string
+representing
+the
+particular
+error
+type,
+as
+described
+in
+the
+various
+algorithms
+in
+this
+document.
+</dd>
+<dt id="widl-JsonLdError-message">
+<code>
+message
+</code>
+of
+type
+<span class="idlMemberType">
+<a>
+DOMString
+</a>
+</span>,
+nullable,
+defaulting
+to
+<code>
+null
+</code>
+</dt>
+<dd>
+an
+optional
+error
+message
+containing
+additional
+debugging
+information.
+The
+specific
+contents
+of
+error
+messages
+are
+outside
+the
+scope
+of
+this
+specification.
+</dd>
+</dl>
+</section>
+</section>
+<section class="informative">
+<h4 id="jsonlderrorcode" aria-level="3" role="heading">
+JsonLdErrorCode
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+<a href="#idl-def-JsonLdErrorCode" class="idlType">
+<code>
+JsonLdErrorCode
+</code>
+</a>
+represents
+the
+collection
+of
+valid
+JSON-LD
+error
+codes.
+</p>
+<del class="diff-old">       {
+</del>
+<pre class="idl">
+<span class="idlEnum" id="idl-def-JsonLdErrorCode">enum <span class="idlEnumID">JsonLdErrorCode</span> {
+    "<a href="#idl-def-JsonLdErrorCode.loading-document-failed" class="idlEnumItem">loading document failed</a>",
+    "<a href="#idl-def-JsonLdErrorCode.list-of-lists" class="idlEnumItem">list of lists</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--index-value" class="idlEnumItem">invalid @index value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.conflicting-indexes" class="idlEnumItem">conflicting indexes</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--id-value" class="idlEnumItem">invalid @id value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-local-context" class="idlEnumItem">invalid local context</a>",
+    "<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers" class="idlEnumItem">multiple context link headers</a>",
+    "<a href="#idl-def-JsonLdErrorCode.loading-remote-context-failed" class="idlEnumItem">loading remote context failed</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-remote-context" class="idlEnumItem">invalid remote context</a>",
+    "<a href="#idl-def-JsonLdErrorCode.recursive-context-inclusion" class="idlEnumItem">recursive context inclusion</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-base-IRI" class="idlEnumItem">invalid base IRI</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-vocab-mapping" class="idlEnumItem">invalid vocab mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-default-language" class="idlEnumItem">invalid default language</a>",
+    "<a href="#idl-def-JsonLdErrorCode.keyword-redefinition" class="idlEnumItem">keyword redefinition</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-term-definition" class="idlEnumItem">invalid term definition</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property" class="idlEnumItem">invalid reverse property</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping" class="idlEnumItem">invalid IRI mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.cyclic-IRI-mapping" class="idlEnumItem">cyclic IRI mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-keyword-alias" class="idlEnumItem">invalid keyword alias</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-type-mapping" class="idlEnumItem">invalid type mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-mapping" class="idlEnumItem">invalid language mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.colliding-keywords" class="idlEnumItem">colliding keywords</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-container-mapping" class="idlEnumItem">invalid container mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-type-value" class="idlEnumItem">invalid type value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-value-object" class="idlEnumItem">invalid value object</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-value-object-value" class="idlEnumItem">invalid value object value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-string" class="idlEnumItem">invalid language-tagged string</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-value" class="idlEnumItem">invalid language-tagged value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-typed-value" class="idlEnumItem">invalid typed value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-set-or-list-object" class="idlEnumItem">invalid set or list object</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-map-value" class="idlEnumItem">invalid language map value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.compaction-to-list-of-lists" class="idlEnumItem">compaction to list of lists</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-map" class="idlEnumItem">invalid reverse property map</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--reverse-value" class="idlEnumItem">invalid @reverse value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-value" class="idlEnumItem">invalid reverse property value</a>"
+<del class="diff-old">};
+</del>
+<ins class="diff-chg">};</span>
+</ins>
+</pre>
+<table class="simple">
+<tr>
+<th colspan="2">
+Enumeration
+description
+</th>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.loading-document-failed">
+loading
+document
+failed
+</code>
+</td>
+<td>
+The
+document
+could
+not
+be
+loaded
+or
+parsed
+as
+JSON.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.list-of-lists">
+list
+of
+lists
+</code>
+</td>
+<td>
+A
+list
+of
+lists
+was
+detected.
+List
+of
+lists
+are
+not
+supported
+in
+this
+version
+of
+JSON-LD
+due
+to
+the
+algorithmic
+complexity.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid--index-value">
+invalid
+@index
+value
+</code>
+</td>
+<td>
+An
+<code>
+@index
+</code>
+member
+was
+encountered
+whose
+value
+was
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.conflicting-indexes">
+conflicting
+indexes
+</code>
+</td>
+<td>
+Multiple
+conflicting
+indexes
+have
+been
+found
+for
+the
+same
+node.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid--id-value">
+invalid
+@id
+value
+</code>
+</td>
+<td>
+An
+<code>
+@id
+</code>
+member
+was
+encountered
+whose
+value
+was
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-local-context">
+invalid
+local
+context
+</code>
+</td>
+<td>
+In
+invalid
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+was
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.multiple-context-link-headers">
+multiple
+context
+link
+headers
+</code>
+</td>
+<td>
+Multiple
+HTTP
+Link
+Headers
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation
+have
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.loading-remote-context-failed">
+loading
+remote
+context
+failed
+</code>
+</td>
+<td>
+There
+was
+a
+problem
+encountered
+loading
+a
+remote
+context.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-remote-context">
+invalid
+remote
+context
+</code>
+</td>
+<td>
+No
+valid
+context
+document
+has
+been
+found
+for
+a
+referenced,
+remote
+context.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.recursive-context-inclusion">
+recursive
+context
+inclusion
+</code>
+</td>
+<td>
+A
+cycle
+in
+remote
+context
+inclusions
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-base-IRI">
+invalid
+base
+IRI
+</code>
+</td>
+<td>
+An
+invalid
+<a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+has
+been
+detected,
+i.e.,
+it
+is
+neither
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+nor
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-vocab-mapping">
+invalid
+vocab
+mapping
+</code>
+</td>
+<td>
+An
+invalid
+<a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">
+vocabulary
+mapping
+</a>
+has
+been
+detected,
+i.e.,
+it
+is
+neither
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+nor
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-default-language">
+invalid
+default
+language
+</code>
+</td>
+<td>
+The
+value
+of
+the
+<a class="tref internalDFN" title="default-language" href="#dfn-default-language">
+default
+language
+</a>
+is
+not
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+and
+thus
+invalid.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.keyword-redefinition">
+keyword
+redefinition
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+redefinition
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-term-definition">
+invalid
+term
+definition
+</code>
+</td>
+<td>
+An
+invalid
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-reverse-property">
+invalid
+reverse
+property
+</code>
+</td>
+<td>
+An
+invalid
+reverse
+property
+definition
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-IRI-mapping">
+invalid
+IRI
+mapping
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+contains
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+that
+has
+an
+invalid
+or
+missing
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mapping
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.cyclic-IRI-mapping">
+cyclic
+IRI
+mapping
+</code>
+</td>
+<td>
+A
+cycle
+in
+<a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+mappings
+</a>
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-keyword-alias">
+invalid
+keyword
+alias
+</code>
+</td>
+<td>
+An
+invalid
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+alias
+definition
+has
+been
+encountered.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-type-mapping">
+invalid
+type
+mapping
+</code>
+</td>
+<td>
+An
+<code>
+@type
+</code>
+member
+in
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+was
+encountered
+whose
+value
+could
+not
+be
+expanded
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-language-mapping">
+invalid
+language
+mapping
+</code>
+</td>
+<td>
+An
+<code>
+@language
+</code>
+member
+in
+a
+<a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">
+term
+definition
+</a>
+was
+encountered
+whose
+value
+was
+neither
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+nor
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+and
+thus
+invalid.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.colliding-keywords">
+colliding
+keywords
+</code>
+</td>
+<td>
+Two
+properties
+which
+expand
+to
+the
+same
+keyword
+have
+been
+detected.
+This
+might
+occur
+if
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+and
+an
+alias
+thereof
+are
+used
+at
+the
+same
+time.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-container-mapping">
+invalid
+container
+mapping
+</code>
+</td>
+<td>
+An
+<code>
+@container
+</code>
+member
+was
+encountered
+whose
+value
+was
+not
+one
+of
+the
+following
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>:
+<code>
+@list
+</code>,
+<code>
+@set
+</code>,
+or
+<code>
+@index
+</code>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-type-value">
+invalid
+type
+value
+</code>
+</td>
+<td>
+An
+invalid
+value
+for
+an
+<code>
+@type
+</code>
+member
+has
+been
+detected,
+i.e.,
+the
+value
+was
+neither
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+nor
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-value-object">
+invalid
+value
+object
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+with
+disallowed
+members
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-value-object-value">
+invalid
+value
+object
+value
+</code>
+</td>
+<td>
+An
+invalid
+value
+for
+the
+<code>
+@value
+</code>
+member
+of
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+has
+been
+detected,
+i.e.,
+it
+is
+neither
+a
+<a class="tref internalDFN" title="scalar" href="#dfn-scalar">
+scalar
+</a>
+nor
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-language-tagged-string">
+invalid
+language-tagged
+string
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="language-tagged-string" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string">
+language-tagged
+string
+</a>
+with
+an
+invalid
+language
+value
+was
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-language-tagged-value">
+invalid
+language-tagged
+value
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+with
+an
+associated
+language
+tag
+was
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-typed-value">
+invalid
+typed
+value
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>
+with
+an
+invalid
+type
+was
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-set-or-list-object">
+invalid
+set
+or
+list
+object
+</code>
+</td>
+<td>
+A
+<a class="tref internalDFN" title="set-object" href="#dfn-set-object">
+set
+object
+</a>
+or
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>
+with
+disallowed
+members
+has
+been
+detected.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-language-map-value">
+invalid
+language
+map
+value
+</code>
+</td>
+<td>
+An
+invalid
+value
+in
+a
+<a class="tref externalDFN" title="language-map" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#dfn-language-map">
+language
+map
+</a>
+has
+been
+detected.
+It
+has
+to
+be
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.compaction-to-list-of-lists">
+compaction
+to
+list
+of
+lists
+</code>
+</td>
+<td>
+The
+compacted
+document
+contains
+a
+list
+of
+lists
+as
+multiple
+lists
+have
+been
+compacted
+to
+the
+same
+term.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-reverse-property-map">
+invalid
+reverse
+property
+map
+</code>
+</td>
+<td>
+An
+invalid
+reverse
+property
+map
+has
+been
+detected.
+No
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+apart
+from
+<code>
+@context
+</code>
+are
+allowed
+in
+reverse
+property
+maps.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid--reverse-value">
+invalid
+@reverse
+value
+</code>
+</td>
+<td>
+An
+invalid
+value
+for
+an
+<code>
+@reverse
+</code>
+member
+has
+been
+detected,
+i.e.,
+the
+value
+was
+not
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</td>
+</tr>
+<tr>
+<td>
+<code id="idl-def-JsonLdErrorCode.invalid-reverse-property-value">
+invalid
+reverse
+property
+value
+</code>
+</td>
+<td>
+An
+invalid
+value
+for
+a
+reverse
+property
+has
+been
+detected.
+The
+value
+of
+an
+inverse
+property
+must
+be
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+</td>
+</tr>
+</table>
+</section>
+</section>
+</section>
+<section class="appendix informative" id="acknowledgements">
+<h2 aria-level="1" role="heading" id="h2_acknowledgements">
+<span class="secno">
+A.
+</span>
+Acknowledgements
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+A
+large
+amount
+of
+thanks
+goes
+out
+to
+the
+JSON-LD
+Community
+Group
+participants
+who
+worked
+through
+many
+of
+the
+technical
+issues
+on
+the
+mailing
+list
+and
+the
+weekly
+telecons
+-
+of
+special
+mention
+are
+Niklas
+Lindström,
+François
+Daoust,
+Lin
+Clark,
+and
+Zdenko
+'Denny'
+Vrandečić.
+The
+editors
+would
+like
+to
+thank
+Mark
+Birbeck,
+who
+provided
+a
+great
+deal
+of
+the
+initial
+push
+behind
+the
+JSON-LD
+work
+via
+his
+work
+on
+RDFj.
+The
+work
+of
+Dave
+Lehn
+and
+Mike
+Johnson
+are
+appreciated
+for
+reviewing,
+and
+performing
+several
+implementations
+of
+the
+specification.
+Ian
+Davis
+is
+thanked
+for
+his
+work
+on
+RDF/JSON.
+Thanks
+also
+to
+Nathan
+Rixham,
+Bradley
+P.
+Allen,
+Kingsley
+Idehen,
+Glenn
+McDonald,
+Alexandre
+Passant,
+Danny
+Ayers,
+Ted
+Thibodeau
+Jr.,
+Olivier
+Grisel,
+Josh
+Mandel,
+Eric
+Prud'hommeaux,
+David
+Wood,
+Guus
+Schreiber,
+Pat
+Hayes,
+Sandro
+Hawke,
+and
+Richard
+Cyganiak
+for
+their
+input
+on
+the
+specification.
+</p>
+</section>
+<section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_references">
+<span class="secno">
+B.
+</span>
+References
+</h2>
+<section id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter">
+<h3 aria-level="2" role="heading" id="h3_normative-references">
+<span class="secno">
+B.1
+</span>
+Normative
+references
+</h3>
+<del class="diff-old">[IEEE-754-1985]
+</del>
+<dl class="bibliography" about="">
+<dt id="bib-IEEE-754-2008">
+<ins class="diff-chg">[IEEE-754-2008]
+</ins>
+</dt>
+<dd rel="dcterms:requires">
+<del class="diff-old">IEEE.
+</del>
+<cite>
+IEEE
+<ins class="diff-new">754-2008
+</ins>
+Standard
+for
+<del class="diff-old">Binary
+</del>
+Floating-Point
+<del class="diff-old">Arithmetic.
+</del>
+<ins class="diff-chg">Arithmetic
+</ins></cite>.
+URL:
+<del class="diff-old">http://standards.ieee.org/reading/ieee/std_public/description/busarch/754-1985_desc.html
+</del>
+<a href="http://standards.ieee.org/findstds/standard/754-2008.html">
+<ins class="diff-chg">http://standards.ieee.org/findstds/standard/754-2008.html
+</ins>
+</a>
+</dd>
+<dt id="bib-JSON-LD">
+[JSON-LD]
+</dt>
+<dd rel="dcterms:requires">
+Manu
+Sporny,
+Gregg
+Kellogg,
+Markus
+Lanthaler,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/json-ld/">
+JSON-LD
+1.0
+<del class="diff-old">.
+5
+November
+2013.
+</del>
+</a>
+</cite>.
+<ins class="diff-chg">16
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Proposed
+</del>
+Recommendation.
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/PR-json-ld-20131105/
+.
+The
+latest
+edition
+is
+available
+at
+</del>
+<a href="http://www.w3.org/TR/json-ld/">
+http://www.w3.org/TR/json-ld/
+</a>
+<del class="diff-old">[RDF-MT]
+</del>
+</dd>
+<dt id="bib-RDF11-MT">
+<ins class="diff-chg">[RDF11-MT]
+</ins>
+</dt>
+<dd rel="dcterms:requires">
+Patrick
+<del class="diff-old">Hayes.
+</del>
+<ins class="diff-chg">J.
+Hayes,
+Peter
+F.
+Patel-Schneider,
+Editors.
+</ins>
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">
+RDF
+<ins class="diff-new">1.1
+</ins>
+Semantics
+</a>
+<del class="diff-old">.
+10
+February
+2004.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Recommendation.
+</del>
+<ins class="diff-chg">Proposed
+Recommendation
+(work
+in
+progress).
+</ins>
+URL:
+<del class="diff-old">http://www.w3.org/TR/rdf-mt/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/
+</ins></a>.<ins class="diff-chg">
+The
+latest
+edition
+is
+available
+at
+</ins><a href="http://www.w3.org/TR/rdf11-mt/"><ins class="diff-chg">
+http://www.w3.org/TR/rdf11-mt/
+</ins>
+</a>
+</dd>
+<dt id="bib-RFC2119">
+[RFC2119]
+</dt>
+<dd rel="dcterms:requires">
+S.
+Bradner.
+<a href="http://www.ietf.org/rfc/rfc2119.txt">
+<cite>
+Key
+words
+for
+use
+in
+RFCs
+to
+Indicate
+Requirement
+Levels.
+</cite>
+</a>
+March
+1997.
+Internet
+RFC
+2119.
+URL:
+<a href="http://www.ietf.org/rfc/rfc2119.txt">
+http://www.ietf.org/rfc/rfc2119.txt
+</a>
+</dd>
+<dt id="bib-RFC3986">
+[RFC3986]
+</dt>
+<dd rel="dcterms:requires">
+T.
+Berners-Lee;
+R.
+Fielding;
+L.
+Masinter.
+<a href="http://www.ietf.org/rfc/rfc3986.txt">
+<cite>
+Uniform
+Resource
+Identifier
+(URI):
+Generic
+Syntax
+(RFC
+3986)
+</cite>
+</a>.
+January
+2005.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc3986.txt">
+http://www.ietf.org/rfc/rfc3986.txt
+</a>
+</dd>
+<dt id="bib-RFC3987">
+[RFC3987]
+</dt>
+<dd rel="dcterms:requires">
+M.
+Dürst;
+M.
+Suignard.
+<a href="http://www.ietf.org/rfc/rfc3987.txt">
+<cite>
+Internationalized
+Resource
+Identifiers
+(IRIs)
+</cite>
+</a>.
+January
+2005.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc3987.txt">
+http://www.ietf.org/rfc/rfc3987.txt
+</a>
+</dd>
+<dt id="bib-RFC4627">
+[RFC4627]
+</dt>
+<dd rel="dcterms:requires">
+D.
+Crockford.
+<a href="http://www.ietf.org/rfc/rfc4627.txt">
+<cite>
+The
+application/json
+Media
+Type
+for
+JavaScript
+Object
+Notation
+(JSON)
+(RFC
+4627)
+</cite>
+</a>.
+July
+2006.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc4627.txt">
+http://www.ietf.org/rfc/rfc4627.txt
+</a>
+</dd>
+<dt id="bib-RFC5988">
+[RFC5988]
+</dt>
+<dd rel="dcterms:requires">
+M.
+Nottingham.
+<cite>
+<a href="http://www.ietf.org/rfc/rfc5988.txt">
+Web
+Linking
+<del class="diff-old">.
+</del>
+</a>
+</cite>.
+October
+2010.
+Internet
+RFC
+5988.
+URL:
+<a href="http://www.ietf.org/rfc/rfc5988.txt">
+http://www.ietf.org/rfc/rfc5988.txt
+</a>
+</dd>
+<dt id="bib-XMLSCHEMA11-2">
+[XMLSCHEMA11-2]
+</dt>
+<dd rel="dcterms:requires">
+David
+Peterson;
+Sandy
+Gao;
+Ashok
+Malhotra;
+Michael
+Sperberg-McQueen;
+Henry
+Thompson;
+Paul
+V.
+Biron
+et
+al.
+<a href="http://www.w3.org/TR/xmlschema11-2/">
+<cite>
+W3C
+XML
+Schema
+Definition
+Language
+(XSD)
+1.1
+Part
+2:
+Datatypes
+</cite>
+</a>.
+5
+April
+2012.
+W3C
+Recommendation.
+URL:
+<a href="http://www.w3.org/TR/xmlschema11-2/">
+http://www.w3.org/TR/xmlschema11-2/
+</a>
+</dd>
+</dl>
+</section>
+<section id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter">
+<h3 aria-level="2" role="heading" id="h3_informative-references">
+<span class="secno">
+B.2
+</span>
+Informative
+references
+</h3>
+<dl class="bibliography" about="">
+<dt id="bib-BCP47">
+[BCP47]
+</dt>
+<dd rel="dcterms:references">
+A.
+Phillips;
+M.
+Davis.
+<a href="http://tools.ietf.org/html/bcp47">
+<cite>
+Tags
+for
+Identifying
+Languages
+</cite>
+</a>.
+September
+2009.
+IETF
+Best
+Current
+Practice.
+URL:
+<a href="http://tools.ietf.org/html/bcp47">
+http://tools.ietf.org/html/bcp47
+</a>
+</dd>
+<dt id="bib-ECMA-262">
+[ECMA-262]
+</dt>
+<dd rel="dcterms:references">
+<a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">
+<cite>
+ECMAScript
+Language
+Specification,
+Edition
+5.1
+</cite>
+</a>.
+June
+2011.
+URL:
+<a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">
+http://www.ecma-international.org/publications/standards/Ecma-262.htm
+</a>
+</dd>
+<dt id="bib-JSON-LD-TESTS">
+[JSON-LD-TESTS]
+</dt>
+<dd rel="dcterms:references">
+<cite>
+<a href="http://www.w3.org/2013/json-ld-tests/">
+JSON-LD
+1.0
+Test
+Suite
+</a>
+</cite>.
+W3C
+Test
+Suite.
+URL:
+<a href="http://www.w3.org/2013/json-ld-tests/">
+http://www.w3.org/2013/json-ld-tests/
+</a>
+</dd>
+<dt id="bib-PROMISES">
+[PROMISES]
+</dt>
+<dd rel="dcterms:references">
+Domenic
+Denicola.
+<cite>
+<a href="https://github.com/domenic/promises-unwrapping">
+Promise
+Objects
+<del class="diff-old">.
+October
+2013.
+</del>
+</a>
+</cite>.
+<ins class="diff-chg">January
+2014
+</ins>
+(work
+in
+progress).
+URL:
+<a href="http://www.w3.org/2013/10/json-ld-api/snapshot-promises-draft">
+http://www.w3.org/2013/10/json-ld-api/snapshot-promises-draft
+</a>.
+The
+latest
+draft
+is
+available
+at
+<a href="https://github.com/domenic/promises-unwrapping">
+https://github.com/domenic/promises-unwrapping
+</a>
+</dd>
+<dt id="bib-RDF11-CONCEPTS">
+[RDF11-CONCEPTS]
+</dt>
+<dd rel="dcterms:references">
+Richard
+Cyganiak,
+David
+Wood,
+Markus
+Lanthaler,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">
+RDF
+1.1
+Concepts
+and
+Abstract
+<del class="diff-old">Syntax.
+</del>
+<ins class="diff-chg">Syntax
+</ins>
+</a>
+<del class="diff-old">5
+November
+2013.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Candidate
+</del>
+<ins class="diff-chg">Proposed
+</ins>
+Recommendation
+(work
+in
+progress).
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/
+</ins>
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/rdf11-concepts/">
+http://www.w3.org/TR/rdf11-concepts/
+</a>
+</dd>
+<dt id="bib-RFC6839">
+[RFC6839]
+</dt>
+<dd rel="dcterms:references">
+Tony
+Hansen,
+Alexey
+Melnikov.
+<cite>
+<a href="http://www.ietf.org/rfc/rfc6839.txt">
+Additional
+Media
+Type
+Structured
+Syntax
+Suffixes
+</a>.
+</cite>
+January
+2013.
+Internet
+RFC
+6839.
+URL:
+<a href="http://www.ietf.org/rfc/rfc6839.txt">
+http://www.ietf.org/rfc/rfc6839.txt
+</a>
+</dd>
+<dt id="bib-TURTLE">
+[TURTLE]
+</dt>
+<dd rel="dcterms:references">
+Eric
+Prud'hommeaux,
+Gavin
+Carothers,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">
+<ins class="diff-chg">RDF
+1.1
+</ins>
+Turtle:
+Terse
+RDF
+Triple
+<del class="diff-old">Language.
+</del>
+<ins class="diff-chg">Language
+</ins>
+</a>
+<del class="diff-old">19
+February
+2013.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Candidate
+</del>
+<ins class="diff-chg">Proposed
+</ins>
+Recommendation
+(work
+in
+progress).
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/CR-turtle-20130219/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-turtle-20140109/
+</ins>
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/turtle/">
+http://www.w3.org/TR/turtle/
+</a>
+</dd>
+<dt id="bib-WEBIDL">
+[WEBIDL]
+</dt>
+<dd rel="dcterms:references">
+Cameron
+McCormack,
+Editor.
+<cite>
+<a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">
+Web
+<del class="diff-old">IDL.
+</del>
+<ins class="diff-chg">IDL
+</ins>
+</a>
+</cite>.
+19
+April
+2012.
+W3C
+Candidate
+Recommendation
+(work
+in
+progress).
+URL:
+<a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">
+http://www.w3.org/TR/2012/CR-WebIDL-20120419/
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/WebIDL/">
+http://www.w3.org/TR/WebIDL/
+</a>
+</dd>
+</dl>
+</section>
+</section>
+</body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/REC/json-ld-api/20140116/index.html	Fri Jan 10 13:53:42 2014 +0100
@@ -0,0 +1,4549 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr" typeof="bibo:Document w3p:REC" about="" property="dcterms:language" content="en">
+<head>
+<title>JSON-LD 1.0 Processing Algorithms and API</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<style type="text/css">
+  .highlight {
+    font-weight: bold;
+    color: #0a3;
+  }
+  .comment {
+    color: #999;
+  }
+  .error a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+  }
+  ol.algorithm {
+    counter-reset: numsection;
+    list-style-type: none;
+  }
+  ol.algorithm li {
+    margin: 0.5em 0;
+  }
+  ol.algorithm li:before {
+    font-weight: bold;
+    counter-increment: numsection;
+    content: counters(numsection, ".") ") ";
+  }
+</style>
+<style>
+/* --- INLINES --- */
+em.rfc2119 {
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><style>/* --- EXAMPLES --- */
+div.example-title {
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.example-title span {
+    text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+    border-color: #e0cb52;
+    background: #fcfaee;
+}
+
+aside.example div.example {
+    border-left-width: .1em;
+    border-color: #999;
+    background: #fff;
+}
+aside.example div.example div.example-title {
+    color: #999;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 1em 1.2em 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><style>/* --- WEB IDL --- */
+pre.idl {
+    border-top: 1px solid #90b8de;
+    border-bottom: 1px solid #90b8de;
+    padding:    1em;
+    line-height:    120%;
+}
+
+pre.idl::before {
+    content:    "WebIDL";
+    display:    block;
+    width:      150px;
+    background: #90b8de;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+.idlType {
+    color:  #ff4500;
+    font-weight:    bold;
+    text-decoration:    none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID, .idlCallbackID, .idlEnumID {
+    font-weight:    bold;
+    color:  #005a9c;
+}
+a.idlEnumItem {
+    color:  #000;
+    border-bottom:  1px dotted #ccc;
+    text-decoration: none;
+}
+
+.idlSuperclass {
+    font-style: italic;
+    color:  #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+    color:  #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+    color:  #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType, .idlCallbackType {
+    color:  #005a9c;
+}
+.idlMethName {
+    color:  #ff4500;
+}
+.idlMethName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlCtor*/
+.idlCtorName {
+    color:  #ff4500;
+}
+.idlCtorName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+    color:  #005a9c;
+}
+.idlParamName, .idlDefaultValue {
+    font-style: italic;
+}
+
+.extAttr {
+    color:  #666;
+}
+
+/*.idlSectionComment*/
+.idlSectionComment {
+    color: gray;
+}
+
+/*.idlConst*/
+.idlConstType {
+    color:  #005a9c;
+}
+.idlConstName {
+    color:  #ff4500;
+}
+.idlConstName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+    font-weight:    bold;
+    color:  #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+    color:  #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+    color:  #c00;
+    font-weight:    normal;
+}
+
+.excName a {
+    font-family:    monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+    border-bottom:  1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+    width:  45px;
+    text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
+
+.idlImplements a {
+    font-weight:    bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.constructors, dl.fields, dl.dictionary-members {
+    margin-left:    2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .constructors dt, .fields dt, .dictionary-members dt {
+    font-weight:    normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .constructors dt code, .fields dt code, .dictionary-members dt code {
+    font-weight:    bold;
+    color:  #000;
+    font-family:    monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+    background:  #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+    color:  #005a9c;
+    background:  transparent;
+    font-family:    inherit;
+    font-weight:    normal;
+    font-style: italic;
+}
+
+.methods dt code {
+    background:  #d9e6f8;
+}
+
+.constants dt code {
+    background:  #ddffd2;
+}
+
+.constructors dt code {
+    background:  #cfc;
+}
+
+.attributes dd, .methods dd, .constants dd, .constructors dd, .fields dd, .dictionary-members dd {
+    margin-bottom:  1em;
+}
+
+table.parameters, table.exceptions {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    margin: 0.5em 0;
+    width:  100%;
+}
+table.parameters { border-bottom:  1px solid #90b8de; }
+table.exceptions { border-bottom:  1px solid #deb890; }
+
+.parameters th, .exceptions th {
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+    font-family:    initial;
+    font-weight:    normal;
+    text-shadow:    #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+    border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+    width:  100px;
+}
+
+.parameters td.prmType {
+    width:  120px;
+}
+
+table.exceptions table {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    width:  100%;
+}
+</style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-REC"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+
+<body class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader">
+  <p>
+
+      <a href="http://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+  </p>
+  <h1 class="title p-name" id="title" property="dcterms:title">JSON-LD 1.0 Processing Algorithms and API</h1>
+
+  <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-01-15T23:00:00.000Z" id="w3c-recommendation-16-january-2014"><abbr title="World Wide Web Consortium">W3C</abbr> Recommendation <time class="dt-published" datetime="2014-01-16">16 January 2014</time></h2>
+  <dl>
+
+      <dt>This version:</dt>
+      <dd><a class="u-url" href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/">http://www.w3.org/TR/2014/REC-json-ld-api-20140116/</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/json-ld-api/">http://www.w3.org/TR/json-ld-api/</a></dd>
+
+
+
+      <dt>Test suite:</dt>
+      <dd><a href="http://www.w3.org/2013/json-ld-tests/">http://www.w3.org/2013/json-ld-tests/</a></dd>
+
+
+
+
+      <dt>Previous version:</dt>
+      <dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/PR-json-ld-api-20131105/">http://www.w3.org/TR/2013/PR-json-ld-api-20131105/</a></dd>
+
+
+    <dt>Editors:</dt>
+    <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+
+
+      <dt>Authors:</dt>
+      <dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">Dave Longley</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+
+
+
+  </dl>
+
+    <p>
+      Please refer to the <a href="http://www.w3.org/2014/json-ld-errata/#api"><strong>errata</strong></a> for this document, which may include some normative corrections.
+    </p>
+
+
+    <p>
+
+        This document is also available in this non-normative format:
+
+      <a rel="alternate" href="diff-20131105.html">diff to previous version</a>
+    </p>
+
+
+    <p>
+      The English version of this specification is the only normative version. Non-normative
+      <a href="http://www.w3.org/Consortium/Translation/">translations</a> may also be available.
+    </p>
+
+
+
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+        2010-2014
+
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+
+
+  <hr>
+</div>
+<section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2>
+  <p>This specification defines a set of algorithms for programmatic transformations
+    of JSON-LD documents. Restructuring data according to the defined transformations
+    often dramatically simplifies its usage. Furthermore, this document proposes
+    an Application Programming Interface (API) for developers implementing the
+    specified algorithms.</p>
+</section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2>
+
+
+
+        <p>
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+          index</a> at http://www.w3.org/TR/.</em>
+        </p>
+
+  <p>This document has been reviewed by <abbr title="World Wide Web Consortium">W3C</abbr> Members, by software developers,
+    and by other <abbr title="World Wide Web Consortium">W3C</abbr> groups and interested parties, and is endorsed by the
+    Director as a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation. It is a stable document and may be
+    used as reference material or cited from another document. <abbr title="World Wide Web Consortium">W3C</abbr>'s role in
+    making the Recommendation is to draw attention to the specification and
+    to promote its widespread deployment. This enhances the functionality
+    and interoperability of the Web.</p>
+
+  <p>This specification has been developed by the JSON for Linking Data Community Group
+    before it has been transferred to the RDF Working Group for review,
+    improvement, and publication along the Recommendation track.
+    The document contains small editorial changes arising from comments received
+    during the Proposed Recommendation review; see the
+    <a href="diff-20131105.html">diff-marked version</a> for details.</p>
+
+  <p>There are several independent interoperable implementations of this specification. An
+    <a href="https://dvcs.w3.org/hg/json-ld/raw-file/default/test-suite/reports/cr-20131022.html">implementation report</a>
+    as of October&nbsp;2013 is available.</p>
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/rdf-wg/">RDF Working Group</a> as a Recommendation.
+
+
+          If you wish to make comments regarding this document, please send them to
+          <a href="mailto:public-rdf-comments@w3.org">public-rdf-comments@w3.org</a>
+          (<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">archives</a>).
+
+
+
+
+            All comments are welcome.</p>
+
+
+
+        <p>
+
+            This document was produced by a group operating under the
+
+                <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+
+
+
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">public list of any patent disclosures</a>
+
+            made in connection with the deliverables of the group; that page also includes instructions for
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+        </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#features" class="tocxref"><span class="secno">2. </span>Features</a><ul class="toc"><li class="tocline"><a href="#expansion" class="tocxref"><span class="secno">2.1 </span>Expansion</a></li><li class="tocline"><a href="#compaction" class="tocxref"><span class="secno">2.2 </span>Compaction</a></li><li class="tocline"><a href="#flattening" class="tocxref"><span class="secno">2.3 </span>Flattening</a></li><li class="tocline"><a href="#rdf-serialization-deserialization" class="tocxref"><span class="secno">2.4 </span>RDF Serialization/Deserialization</a></li></ul></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">3. </span>Conformance</a></li><li class="tocline"><a href="#general-terminology" class="tocxref"><span class="secno">4. </span>General Terminology</a></li><li class="tocline"><a href="#algorithm-terms" class="tocxref"><span class="secno">5. </span>Algorithm Terms</a></li><li class="tocline"><a href="#context-processing-algorithms" class="tocxref"><span class="secno">6. </span>Context Processing Algorithms</a><ul class="toc"><li class="tocline"><a href="#context-processing-algorithm" class="tocxref"><span class="secno">6.1 </span>Context Processing Algorithm</a></li><li class="tocline"><a href="#create-term-definition" class="tocxref"><span class="secno">6.2 </span>Create Term Definition</a></li><li class="tocline"><a href="#iri-expansion" class="tocxref"><span class="secno">6.3 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion</a></li></ul></li><li class="tocline"><a href="#expansion-algorithms" class="tocxref"><span class="secno">7. </span>Expansion Algorithms</a><ul class="toc"><li class="tocline"><a href="#expansion-algorithm" class="tocxref"><span class="secno">7.1 </span>Expansion Algorithm</a></li><li class="tocline"><a href="#value-expansion" class="tocxref"><span class="secno">7.2 </span>Value Expansion</a></li></ul></li><li class="tocline"><a href="#compaction-algorithms" class="tocxref"><span class="secno">8. </span>Compaction Algorithms</a><ul class="toc"><li class="tocline"><a href="#compaction-algorithm" class="tocxref"><span class="secno">8.1 </span>Compaction Algorithm</a></li><li class="tocline"><a href="#inverse-context-creation" class="tocxref"><span class="secno">8.2 </span>Inverse Context Creation</a></li><li class="tocline"><a href="#iri-compaction" class="tocxref"><span class="secno">8.3 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction</a></li><li class="tocline"><a href="#term-selection" class="tocxref"><span class="secno">8.4 </span>Term Selection</a></li><li class="tocline"><a href="#value-compaction" class="tocxref"><span class="secno">8.5 </span>Value Compaction</a></li></ul></li><li class="tocline"><a href="#flattening-algorithms" class="tocxref"><span class="secno">9. </span>Flattening Algorithms</a><ul class="toc"><li class="tocline"><a href="#flattening-algorithm" class="tocxref"><span class="secno">9.1 </span>Flattening Algorithm</a></li><li class="tocline"><a href="#node-map-generation" class="tocxref"><span class="secno">9.2 </span>Node Map Generation</a></li><li class="tocline"><a href="#generate-blank-node-identifier" class="tocxref"><span class="secno">9.3 </span>Generate Blank Node Identifier</a></li></ul></li><li class="tocline"><a href="#rdf-serialization-deserialization-algorithms" class="tocxref"><span class="secno">10. </span>RDF Serialization/Deserialization Algorithms</a><ul class="toc"><li class="tocline"><a href="#deserialize-json-ld-to-rdf-algorithm" class="tocxref"><span class="secno">10.1 </span>Deserialize JSON-LD to RDF algorithm</a></li><li class="tocline"><a href="#object-to-rdf-conversion" class="tocxref"><span class="secno">10.2 </span>Object to RDF Conversion</a></li><li class="tocline"><a href="#list-to-rdf-conversion" class="tocxref"><span class="secno">10.3 </span>List to RDF Conversion</a></li><li class="tocline"><a href="#serialize-rdf-as-json-ld-algorithm" class="tocxref"><span class="secno">10.4 </span>Serialize RDF as JSON-LD Algorithm</a></li><li class="tocline"><a href="#rdf-to-object-conversion" class="tocxref"><span class="secno">10.5 </span>RDF to Object Conversion</a></li><li class="tocline"><a href="#data-round-tripping" class="tocxref"><span class="secno">10.6 </span>Data Round Tripping</a></li></ul></li><li class="tocline"><a href="#the-application-programming-interface" class="tocxref"><span class="secno">11. </span>The Application Programming Interface</a><ul class="toc"><li class="tocline"><a href="#the-jsonldprocessor-interface" class="tocxref"><span class="secno">11.1 </span>The <span class="formerLink"><code>JsonLdProcessor</code></span> Interface</a></li><li class="tocline"><a href="#the-jsonldoptions-type" class="tocxref"><span class="secno">11.2 </span>The <span class="formerLink"><code>JsonLdOptions</code></span> Type</a></li><li class="tocline"><a href="#remote-document-and-context-retrieval" class="tocxref"><span class="secno">11.3 </span>Remote Document and Context Retrieval</a></li><li class="tocline"><a href="#error-handling" class="tocxref"><span class="secno">11.4 </span>Error Handling</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+<section class="informative" id="introduction">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_introduction"><span class="secno">1. </span>Introduction</h2><p><em>This section is non-normative.</em></p>
+
+  <p>This document is a detailed specification of the JSON-LD processing algorithms.
+    The document is primarily intended for the following audiences:</p>
+
+  <ul>
+    <li>Software developers who want to implement the algorithms to transform
+      JSON-LD documents.</li>
+    <li>Web authors and developers who want a very detailed view of how
+      a <a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">JSON-LD Processor</a> operates.</li>
+    <li>Developers who want an overview of the proposed JSON-LD API.</li>
+  </ul>
+
+  <p>To understand the basics in this specification you must first be familiar with
+    JSON, which is detailed in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]. You must also understand the
+    JSON-LD syntax defined in [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>], which is the base syntax used by all
+    of the algorithms in this document. To understand the API and how it is
+    intended to operate in a programming environment, it is useful to have working
+    knowledge of the JavaScript programming language [<cite><a class="bibref" href="#bib-ECMA-262">ECMA-262</a></cite>] and
+    WebIDL [<cite><a class="bibref" href="#bib-WEBIDL">WEBIDL</a></cite>]. To understand how JSON-LD maps to RDF, it is helpful to be
+    familiar with the basic RDF concepts [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</p>
+</section> <!-- end of Introduction -->
+
+
+<section class="informative" id="features">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_features"><span class="secno">2. </span>Features</h2><p><em>This section is non-normative.</em></p>
+
+  <p>The JSON-LD Syntax specification [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>] defines a syntax to
+    express Linked Data in JSON. Because there is more than one way to
+    express Linked Data using this syntax, it is often useful to be able to
+    transform JSON-LD documents so that they may be more easily consumed by
+    specific applications.</p>
+
+  <p>JSON-LD uses <a class="tref internalDFN" title="context" href="#dfn-context">contexts</a> to allow Linked Data
+    to be expressed in a way that is specifically tailored to a particular
+    person or application. By providing a <a class="tref internalDFN" title="context" href="#dfn-context">context</a>,
+    JSON data can be expressed in a way that is a natural fit for a particular
+    person or application whilst also indicating how the data should be
+    understood at a global scale. In order for people or applications to
+    share data that was created using a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> that is different
+    from their own, a JSON-LD processor must be able to transform a document
+    from one <a class="tref internalDFN" title="context" href="#dfn-context">context</a> to another. Instead of requiring JSON-LD
+    processors to write specific code for every imaginable
+    <a class="tref internalDFN" title="context" href="#dfn-context">context</a> switching scenario, it is much easier to specify a
+    single algorithm that can remove any <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. Similarly,
+    another algorithm can be specified to subsequently apply any
+    <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. These two algorithms represent the most basic
+    transformations of JSON-LD documents. They are referred to as
+    <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expansion</a> and <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compaction</a>, respectively.</p>
+
+  <p>There are four major types of transformation that are discussed in this
+    document: expansion, compaction, flattening, and RDF serialization/deserialization.</p>
+
+  <section class="informative" id="expansion">
+    <h3 aria-level="2" role="heading" id="h3_expansion"><span class="secno">2.1 </span>Expansion</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The algorithm that removes <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is
+      called <dfn title="expansion" id="dfn-expansion">expansion</dfn>. Before performing any other
+      transformations on a JSON-LD document, it is easiest to
+      remove any <a class="tref internalDFN" title="context" href="#dfn-context">context</a> from it and to make data structures
+      more regular.</p>
+
+    <p>To get an idea of how context and data structuring affects the same data,
+      here is an example of JSON-LD that uses only <a class="tref internalDFN" title="term" href="#dfn-term">terms</a>
+      and is fairly compact:</p>
+
+    <div class="example"><div class="example-title"><span>Example 1</span>: Sample JSON-LD document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/"
+}</pre></div>
+
+    <p>The next input example uses one <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> to express a property
+    and an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> to encapsulate another, but
+    leaves the rest of the information untouched.</p>
+
+    <div class="example"><div class="example-title"><span>Example 2</span>: Sample JSON-LD document using an IRI instead of a term to express a property</div><pre class="example">{
+  "@context": {
+    <span class="highlight">"website": "http://xmlns.com/foaf/0.1/homepage"</span>
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "<span class="highlight">http://xmlns.com/foaf/0.1/name</span>": "Markus Lanthaler",
+  <span class="highlight">"website"</span>: <span class="highlight">{ "@id":</span> "http://www.markus-lanthaler.com/" <span class="highlight">}</span>
+}</pre></div>
+
+    <p>Note that both inputs are valid JSON-LD and both represent the same
+      information. The difference is in their <a class="tref internalDFN" title="context" href="#dfn-context">context</a> information
+      and in the data structures used. A JSON-LD processor can remove
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> and ensure that the data is more regular by employing
+      <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expansion</a>.</p>
+
+    <p><a class="tref internalDFN" title="expansion" href="#dfn-expansion">Expansion</a> has two important goals: removing any contextual
+      information from the document, and ensuring all values are represented
+      in a regular form. These goals are accomplished by expanding all properties
+      to <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a> and by expressing all
+      values in <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a> in
+      <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a>. <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">Expanded form</a> is the most verbose
+      and regular way of expressing of values in JSON-LD; all contextual
+      information from the document is instead stored locally with each value.
+      Running the <a href="#expansion-algorithm">Expansion algorithm</a>
+      (<code class="idlMemberName"><a href="#widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options">expand</a></code>
+      operation) against the above examples results in the following output:</p>
+
+    <div class="example"><div class="example-title"><span>Example 3</span>: Expanded sample document</div><pre class="example">[
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]</pre></div>
+
+    <p>Note that in the output above all <a class="tref internalDFN" title="context" href="#dfn-context">context</a> definitions have
+      been removed, all <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> and
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> have been expanded to absolute
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>, and all
+      <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a> are expressed in
+      <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a> in <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a>. While the
+      output is more verbose and difficult for a human to read, it establishes a
+      baseline that makes JSON-LD processing easier because of its very regular
+      structure.</p>
+  </section> <!-- end of Expansion -->
+
+  <section class="informative" id="compaction">
+    <h3 aria-level="2" role="heading" id="h3_compaction"><span class="secno">2.2 </span>Compaction</h3><p><em>This section is non-normative.</em></p>
+
+    <p>While <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expansion</a> removes <a class="tref internalDFN" title="context" href="#dfn-context">context</a> from a given
+      input, <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compaction's</a> primary function is to
+      perform the opposite operation: to express a given input according to
+      a particular <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. <dfn title="compaction" id="dfn-compaction">Compaction</dfn> applies a
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> that specifically tailors the way information is
+      expressed for a particular person or application. This simplifies applications
+      that consume JSON or JSON-LD by expressing the data in application-specific
+      terms, and it makes the data easier to read by humans.</p>
+
+    <p><a class="tref internalDFN" title="compaction" href="#dfn-compaction">Compaction</a> uses a developer-supplied <a class="tref internalDFN" title="context" href="#dfn-context">context</a> to
+      shorten <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> to <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> and
+      <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a> expressed in
+      <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a> to simple values such as <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>
+      or <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a>.</p>
+
+    <p>For example, assume the following expanded JSON-LD input document:</p>
+
+    <div class="example"><div class="example-title"><span>Example 4</span>: Expanded sample document</div><pre class="example">[
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]</pre></div>
+
+    <p>Additionally, assume the following developer-supplied JSON-LD
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a>:</p>
+
+    <div class="example"><div class="example-title"><span>Example 5</span>: JSON-LD context</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  }
+}</pre></div>
+
+    <p>Running the <a href="#compaction-algorithm">Compaction Algorithm</a>
+      (<code class="idlMemberName"><a href="#widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">compact</a></code>
+      operation) given the context supplied above against the JSON-LD input
+      document provided above would result in the following output:</p>
+
+    <div class="example"><div class="example-title"><span>Example 6</span>: Compacted sample document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/"
+}</pre></div>
+
+    <p>Note that all <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> have been compacted to
+      <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> as specified in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>,
+      which has been injected into the output. While compacted output is
+      useful to humans, it is also used to generate structures that are easy to
+      program against. Compaction enables developers to map any expanded document
+      into an application-specific compacted document. While the context provided
+      above mapped <code>http://xmlns.com/foaf/0.1/name</code> to <code>name</code>, it
+      could also have been mapped to any other term provided by the developer.</p>
+  </section> <!-- end of Compaction -->
+
+  <section class="informative" id="flattening">
+    <h3 aria-level="2" role="heading" id="h3_flattening"><span class="secno">2.3 </span>Flattening</h3><p><em>This section is non-normative.</em></p>
+
+    <p>While expansion ensures that a document is in a uniform structure,
+      flattening goes a step further to ensure that the shape of the data
+      is deterministic. In expanded documents, the properties of a single
+      <a class="tref internalDFN" title="node" href="#dfn-node">node</a> may be spread across a number of different
+      <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a>. By flattening a
+      document, all properties of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> are collected in a single
+      <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> and all <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>
+      are labeled with a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. This may drastically
+      simplify the code required to process JSON-LD data in certain applications.</p>
+
+    <p>For example, assume the following JSON-LD input document:</p>
+
+    <div class="example"><div class="example-title"><span>Example 7</span>: Sample JSON-LD document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}</pre></div>
+
+    <p>Running the <a href="#flattening-algorithm">Flattening algorithm</a>
+      (<code class="idlMemberName"><a href="#widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">flatten</a></code>
+      operation) with a context set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> to prevent compaction
+      returns the following document:</p>
+
+    <div class="example"><div class="example-title"><span>Example 8</span>: Flattened sample document in expanded form</div><pre class="example">[
+  {
+    "@id": "_:t0",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Dave Longley" }
+    ]
+  },
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/knows": [
+      { "@id": "_:t0" }
+    ]
+  }
+]</pre></div>
+
+    <p>Note how in the output above all properties of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> are collected in a
+      single <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> and how the <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> representing
+      "Dave Longley" has been assigned the <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>
+      <code>_:t0</code>.</p>
+
+    <p>To make it easier for humans to read or for certain applications to
+      process it, a flattened document can be compacted by passing a context. Using
+      the same context as the input document, the flattened and compacted document
+      looks as follows:</p>
+
+    <div class="example"><div class="example-title"><span>Example 9</span>: Flattened and compacted sample document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@graph": [
+    {
+      "@id": "_:t0",
+      "name": "Dave Longley"
+    },
+    {
+      "@id": "http://me.markus-lanthaler.com/",
+      "name": "Markus Lanthaler",
+      "knows": { "@id": "_:t0" }
+    }
+  ]
+}</pre></div>
+
+    <p>Please note that the result of flattening and compacting a document
+      is always a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> which contains an <code>@graph</code>
+      member that represents the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a>.</p>
+  </section> <!-- end of Flattening -->
+
+  <section class="informative" id="rdf-serialization-deserialization">
+    <h3 aria-level="2" role="heading" id="h3_rdf-serialization-deserialization"><span class="secno">2.4 </span>RDF Serialization/Deserialization</h3><p><em>This section is non-normative.</em></p>
+
+    <p>JSON-LD can be used to serialize RDF data as described in
+      [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]. This ensures that data can be round-tripped to and from
+      any RDF syntax without any loss in fidelity.</p>
+
+    <p>For example, assume the following RDF input serialized in Turtle [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>]:</p>
+
+    <div class="example"><div class="example-title"><span>Example 10</span>: Sample Turtle document</div><pre class="example">&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .
+&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://www.markus-lanthaler.com/&gt; .</pre></div>
+
+    <p>Using the <a href="#serialize-rdf-as-json-ld-algorithm">Serialize RDF as JSON-LD algorithm</a>
+      a developer could transform this document into expanded JSON-LD:</p>
+
+    <div class="example"><div class="example-title"><span>Example 11</span>: Sample Turtle document converted to JSON-LD</div><pre class="example">[
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Markus Lanthaler" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://www.markus-lanthaler.com/" }
+    ]
+  }
+]</pre></div>
+
+    <p>Note that the output above could easily be compacted using the technique outlined
+      in the previous section. It is also possible to deserialize the JSON-LD document back
+      to RDF using the <a href="#deserialize-json-ld-to-rdf-algorithm">Deserialize JSON-LD to RDF algorithm</a>.</p>
+  </section> <!-- end of RDF Serialization/Deserialization -->
+</section> <!-- end of Features section -->
+
+
+<section id="conformance">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_conformance"><span class="secno">3. </span>Conformance</h2>
+
+  <p>All examples and notes as well as sections marked as non-normative in this
+    specification are non-normative. Everything else in this specification is
+    normative.</p>
+
+  <p>The keywords <em class="rfc2119" title="MUST">MUST</em>, <em class="rfc2119" title="MUST NOT">MUST NOT</em>, <em class="rfc2119" title="REQUIRED">REQUIRED</em>, <em class="rfc2119" title="SHOULD">SHOULD</em>, <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em>, <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em>,
+    <em class="rfc2119" title="MAY">MAY</em>, and <em class="rfc2119" title="OPTIONAL">OPTIONAL</em> in this specification are to be interpreted as described
+    in [<cite><a class="bibref" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+  <p>There are two classes of products that can claim conformance to this
+    specification: <a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">JSON-LD Processors</a>,
+    and <a class="tref internalDFN" title="rdf-serializer/deserializer" href="#dfn-rdf-serializer/deserializer">RDF Serializers/Deserializers</a>.</p>
+
+  <p>A conforming <dfn title="json-ld-processor" id="dfn-json-ld-processor">JSON-LD Processor</dfn> is a system which can perform the
+    <a href="#expansion-algorithm">Expansion</a>, <a href="#compaction-algorithm">Compaction</a>,
+    and <a href="#flattening-algorithm">Flattening</a> operations defined in this specification.</p>
+
+  <p><a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">JSON-LD Processors</a> <em class="rfc2119" title="MUST NOT">MUST NOT</em>
+    attempt to correct malformed <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> or language tags;
+    however, they <em class="rfc2119" title="MAY">MAY</em> issue validation warnings. IRIs are not modified other
+    than conversion between <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative</a> and
+    <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>.</p>
+
+  <p>A conforming <dfn title="rdf-serializer/deserializer" id="dfn-rdf-serializer/deserializer">RDF Serializer/Deserializer</dfn> is a system that can
+    <a href="#deserialize-json-ld-to-rdf-algorithm">deserialize JSON-LD to RDF</a> and
+    <a href="#serialize-rdf-as-json-ld-algorithm">serialize RDF as JSON-LD</a> as
+    defined in this specification.</p>
+
+  <p>The algorithms in this specification are generally written with more concern for clarity
+    than efficiency. Thus, <a class="tref internalDFN" title="json-ld-processor" href="#dfn-json-ld-processor">JSON-LD Processors</a> may
+    implement the algorithms given in this specification in any way desired,
+    so long as the end result is indistinguishable from the result that would
+    be obtained by the specification's algorithms.</p>
+
+  <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_1"><span>Note</span></div><p class="">Implementers can partially check their level of conformance to
+    this specification by successfully passing the test cases of the JSON-LD test
+    suite [<cite><a class="bibref" href="#bib-JSON-LD-TESTS">JSON-LD-TESTS</a></cite>]. Note, however, that passing all the tests in the test
+    suite does not imply complete conformance to this specification. It only implies
+    that the implementation conforms to aspects tested by the test suite.</p></div>
+</section> <!-- end of Conformance section -->
+
+
+<section id="general-terminology">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_general-terminology"><span class="secno">4. </span>General Terminology</h2>
+
+  <p>This document uses the following terms as defined in JSON [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]. Refer
+    to the <em>JSON Grammar</em> section in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>] for formal definitions.</p>
+
+  <dl>
+    <dt><dfn title="json-object" id="dfn-json-object">JSON object</dfn></dt>
+    <dd>An object structure is represented as a pair of curly brackets surrounding
+      zero or more key-value pairs. A key is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>.
+      A single colon comes after each key, separating the key from the value.
+      A single comma separates a value from a following key. In contrast to JSON,
+      in JSON-LD the keys in an object must be unique.</dd>
+    <dt><dfn title="array" id="dfn-array">array</dfn></dt>
+    <dd>An array structure is represented as square brackets surrounding zero
+      or more values. Values are separated by commas.
+      In JSON, an array is an <em>ordered</em> sequence of zero or more values.
+      While JSON-LD uses the same array representation as JSON,
+      the collection is <em>unordered</em> by default. While order is
+      preserved in regular JSON arrays, it is not in regular JSON-LD arrays
+      unless specifically defined (see
+      "<cite><a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#sets-and-lists">Sets and Lists</a></cite> in
+      the JSON-LD specification [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>]).</dd>
+    <dt><dfn title="string" id="dfn-string">string</dfn></dt>
+    <dd>A string is a sequence of zero or more Unicode characters,
+      wrapped in double quotes, using backslash escapes (if necessary). A
+      character is represented as a single character string.</dd>
+    <dt><dfn title="number" id="dfn-number">number</dfn></dt>
+    <dd>A number is similar to that used in most programming languages, except
+      that the octal and hexadecimal formats are not used and that leading
+      zeros are not allowed.</dd>
+    <dt><dfn title="true" id="dfn-true">true</dfn> and <dfn title="false" id="dfn-false">false</dfn></dt>
+    <dd>Values that are used to express one of two possible boolean states.</dd>
+    <dt><dfn title="null" id="dfn-null">null</dfn></dt>
+    <dd>The <a class="tref internalDFN" title="null" href="#dfn-null">null</a> value. A key-value pair in the
+      <code>@context</code> where the value, or the <code>@id</code> of the
+      value, is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> explicitly decouples a term's association
+      with an <abbr title="Internationalized Resource Identifier">IRI</abbr>. A key-value pair in the body of a JSON-LD document whose
+      value is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> has the same meaning as if the key-value pair
+      was not defined. If <code>@value</code>, <code>@list</code>, or
+      <code>@set</code> is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> in expanded form, then
+      the entire <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is ignored.</dd>
+  </dl>
+
+  <p>Furthermore, the following terminology is used throughout this document:</p>
+
+  <dl>
+    <dt><dfn title="keyword" id="dfn-keyword">keyword</dfn></dt>
+    <dd>A JSON key that is specific to JSON-LD, specified in the section
+      <cite><a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#syntax-tokens-and-keywords">Syntax Tokens and Keywords</a></cite>
+      of the JSON-LD specification [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>].</dd>
+    <dt><dfn title="context" id="dfn-context">context</dfn></dt>
+    <dd>A set of rules for interpreting a JSON-LD document as specified in the section
+      <cite><a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#the-context">The Context</a></cite> of the JSON-LD
+      specification [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>].</dd>
+    <dt><dfn title="json-ld-document" id="dfn-json-ld-document">JSON-LD document</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> is a serialization of a collection of
+      <a class="tref internalDFN" title="graph" href="#dfn-graph">graphs</a> and comprises exactly one
+      <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> and zero or more <a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">named graphs</a>.</dd>
+    <dt><dfn title="named-graph" id="dfn-named-graph">named graph</dfn></dt>
+    <dd>A named graph is a pair consisting of an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>
+      (the <dfn title="graph-name" id="dfn-graph-name">graph name</dfn>) and a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>.</dd>
+    <dt><dfn title="default-graph" id="dfn-default-graph">default graph</dfn></dt>
+    <dd>The default graph is the only graph in a JSON-LD document which has no <a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">graph name</a>.</dd>
+    <dt><dfn title="graph" id="dfn-graph">Graph</dfn></dt>
+    <dd>A labeled directed graph, i.e., a set of <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>
+      connected by <a class="tref internalDFN" title="edge" href="#dfn-edge">edges</a>,
+      as specified in the <cite><a href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#data-model">Data Model</a></cite>
+      section of the JSON-LD specification [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>].</dd>
+    <dt><dfn title="edge" id="dfn-edge">edge</dfn></dt>
+    <dd>Every <a class="tref internalDFN" title="edge" href="#dfn-edge">edge</a> has a direction associated with it and is labeled with
+      an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. Within the JSON-LD syntax
+      these edge labels are called <dfn title="property" id="dfn-property">properties</dfn>. Whenever possible, an
+      <a class="tref internalDFN" title="edge" href="#dfn-edge">edge</a> should be labeled with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</dd>
+    <dt><dfn title="node" id="dfn-node">node</dfn></dt>
+    <dd>Every <a class="tref internalDFN" title="node" href="#dfn-node">node</a> is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>,
+      a <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD value</a>, or a <a class="tref internalDFN" title="list" href="#dfn-list">list</a>.</dd>
+    <dt><dfn title="iri" id="dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt>
+    <dd>An <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> (Internationalized Resource Identifier) is a string that conforms to the syntax
+      defined in [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].</dd>
+    <dt><dfn title="absolute-iri" id="dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt>
+    <dd>An absolute <abbr title="Internationalized Resource Identifier">IRI</abbr> is defined in [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] containing a <em>scheme</em> along with a <em>path</em> and
+      optional <em>query</em> and fragment segments.</dd>
+    <dt><dfn title="relative-iri" id="dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt>
+    <dd>A relative <abbr title="Internationalized Resource Identifier">IRI</abbr> is an <abbr title="Internationalized Resource Identifier">IRI</abbr> that is relative to some other <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</dd>
+    <dt><dfn title="blank-node" id="dfn-blank-node">blank node</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> that is neither an
+      <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, nor a <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD value</a>, nor a <a class="tref internalDFN" title="list" href="#dfn-list">list</a>.</dd>
+    <dt><dfn title="blank-node-identifier" id="dfn-blank-node-identifier">blank node identifier</dfn></dt>
+    <dd>A blank node identifier is a string that can be used as an identifier for a
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> within the scope of a JSON-LD document. Blank node identifiers
+      begin with <code>_:</code>.</dd>
+    <dt><dfn title="json-ld-value" id="dfn-json-ld-value">JSON-LD value</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD value</a> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>,
+      <a class="tref internalDFN" title="true" href="#dfn-true">true</a> or <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, a <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a>, or a
+      <a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">language-tagged string</a>.</dd>
+    <dt><dfn title="typed-value" id="dfn-typed-value">typed value</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a> consists of a value, which is a string, and a type,
+      which is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</dd>
+    <dt><dfn title="language-tagged-string" id="dfn-language-tagged-string">language-tagged string</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">language-tagged string</a> consists of a string and a non-empty language
+      tag as defined by [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>]. The language tag must be well-formed according to
+      <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9 Classes of Conformance</a>
+      of [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>], and is normalized to lowercase.</dd>
+    <dt><dfn title="list" id="dfn-list">list</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="list" href="#dfn-list">list</a> is an ordered sequence of <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>, and
+      <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a>.</dd>
+  </dl>
+</section> <!-- end of General Terminology section -->
+
+
+<section id="algorithm-terms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_algorithm-terms"><span class="secno">5. </span>Algorithm Terms</h2>
+
+  <dl>
+    <dt><dfn title="active-graph" id="dfn-active-graph">active graph</dfn></dt>
+    <dd>The name of the currently active graph that the processor should use when
+      processing.</dd>
+    <dt><dfn title="active-subject" id="dfn-active-subject">active subject</dfn></dt>
+    <dd>The currently active subject that the processor should use when
+      processing.</dd>
+    <dt><dfn title="active-property" id="dfn-active-property">active property</dfn></dt>
+    <dd>The currently active <a class="tref internalDFN" title="property" href="#dfn-property">property</a> or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> that
+      the processor should use when processing.</dd>
+    <dt><dfn title="active-context" id="dfn-active-context">active context</dfn></dt>
+    <dd>A context that is used to resolve <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> while
+      the processing algorithm is running.</dd>
+    <dt><dfn title="local-context" id="dfn-local-context">local context</dfn></dt>
+    <dd>A context that is specified within a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>,
+      specified via the <code>@context</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>.</dd>
+    <dt><dfn title="json-ld-input" id="dfn-json-ld-input">JSON-LD input</dfn></dt>
+    <dd>The JSON-LD data structure that is provided as input to the algorithm.</dd>
+    <dt><dfn title="term" id="dfn-term">term</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is a short word defined in a context that may be expanded to
+      an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a></dd>
+    <dt><dfn title="compact-iri" id="dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt>
+    <dd>A compact <abbr title="Internationalized Resource Identifier">IRI</abbr> has the form of <dfn title="prefix" id="dfn-prefix">prefix</dfn>:<em>suffix</em> and is used as a way
+      of expressing an <abbr title="Internationalized Resource Identifier">IRI</abbr> without needing to define separate <a class="tref internalDFN" title="term" href="#dfn-term">term</a> definitions for
+      each <abbr title="Internationalized Resource Identifier">IRI</abbr> contained within a common vocabulary identified by <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>.</dd>
+    <dt><dfn title="node-object" id="dfn-node-object">node object</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> represents zero or more properties of a
+      <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in the <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> serialized by the
+      JSON-LD document. A <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>
+      if it exists outside of the JSON-LD <a class="tref internalDFN" title="context" href="#dfn-context">context</a> and:
+      <ul>
+        <li>it does not contain the <code>@value</code>, <code>@list</code>,
+          or <code>@set</code> keywords, or</li>
+        <li>it is not the top-most <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> in the JSON-LD document consisting
+          of no other members than <code>@graph</code> and <code>@context</code>.</li>
+      </ul>
+    </dd>
+    <dt><dfn title="value-object" id="dfn-value-object">value object</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that has an <code>@value</code>
+      member.</dd>
+    <dt><dfn title="list-object" id="dfn-list-object">list object</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that has an <code>@list</code>
+      member.</dd>
+    <dt><dfn title="set-object" id="dfn-set-object">set object</dfn></dt>
+    <dd>A <a class="tref internalDFN" title="set-object" href="#dfn-set-object">set object</a> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that has an <code>@set</code>
+      member.</dd>
+    <dt><dfn title="scalar" id="dfn-scalar">scalar</dfn></dt>
+    <dd>A scalar is either a JSON <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, <a class="tref internalDFN" title="number" href="#dfn-number">number</a>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+      or <a class="tref internalDFN" title="false" href="#dfn-false">false</a>.</dd>
+    <dt><dfn title="rdf-subject" id="dfn-rdf-subject">RDF subject</dfn></dt>
+    <dd>A <a class="tref externalDFN" title="subject" href="http://www.w3.org/TR/rdf11-concepts/#dfn-subject">subject</a>
+      as specified by [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</dd>
+    <dt><dfn title="rdf-predicate" id="dfn-rdf-predicate">RDF predicate</dfn></dt>
+    <dd>A <a class="tref externalDFN" title="predicate" href="http://www.w3.org/TR/rdf11-concepts/#dfn-predicate">predicate</a>
+      as specified by [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</dd>
+    <dt><dfn title="rdf-object" id="dfn-rdf-object">RDF object</dfn></dt>
+    <dd>An <a class="tref externalDFN" title="object" href="http://www.w3.org/TR/rdf11-concepts/#dfn-object">object</a>
+      as specified by [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</dd>
+    <dt><dfn title="rdf-triple" id="dfn-rdf-triple">RDF triple</dfn></dt>
+    <dd>A <a class="tref externalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a>
+      as specified by [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</dd>
+    <dt><dfn title="rdf-dataset" id="dfn-rdf-dataset">RDF dataset</dfn></dt>
+    <dd>A <a class="tref externalDFN" title="dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">dataset</a>
+      as specified by [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>] representing a collection of
+      <a class="tref externalDFN" title="rdf-graphs" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph">RDF graphs</a>.</dd>
+  </dl>
+</section> <!-- end of Algorithm Terms section -->
+
+
+<section id="context-processing-algorithms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_context-processing-algorithms"><span class="secno">6. </span>Context Processing Algorithms</h2>
+
+  <section id="context-processing-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_context-processing-algorithm"><span class="secno">6.1 </span>Context Processing Algorithm</h3>
+
+    <p>When processing a JSON-LD data structure, each processing rule is applied
+      using information provided by the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. This
+      section describes how to produce an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.</p>
+
+    <p>The <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> contains the active
+      <dfn title="term-definition" id="dfn-term-definition">term definitions</dfn> which specify how
+      properties and values have to be interpreted as well as the current <dfn title="base-iri" id="dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn>,
+      the <dfn title="vocabulary-mapping" id="dfn-vocabulary-mapping">vocabulary mapping</dfn> and the <dfn title="default-language" id="dfn-default-language">default language</dfn>. Each
+      <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> consists of an <dfn title="iri-mapping" id="dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</dfn>, a boolean
+      flag <dfn title="reverse-property" id="dfn-reverse-property">reverse property</dfn>, an optional <dfn title="type-mapping" id="dfn-type-mapping">type mapping</dfn>
+      or <dfn title="language-mapping" id="dfn-language-mapping">language mapping</dfn>, and an optional  <dfn title="container-mapping" id="dfn-container-mapping">container mapping</dfn>.
+      A <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> can not only be used to map a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+      to an <abbr title="Internationalized Resource Identifier">IRI</abbr>, but also to map a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> to a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>,
+      in which case it is referred to as a <dfn title="keyword-alias" id="dfn-keyword-alias">keyword alias</dfn>.</p>
+
+    <p>When processing, the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is initialized
+      without any <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definitions</a>,
+      <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, or <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>.
+      If a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> is encountered during processing, a new
+      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is created by cloning the existing
+      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. Then the information from the
+      <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> is merged into the new <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.
+      Given that <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local contexts</a> may contain
+      references to remote contexts, this includes their retrieval.</p>
+
+    <section class="informative">
+      <h4 id="overview" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>First we prepare a new <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> <i>result</i> by cloning
+        the current <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. Then we normalize the form of the passed
+        <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.
+        <a class="tref internalDFN" title="local-context" href="#dfn-local-context">Local contexts</a> may be in the form of a
+        <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, or an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing
+        a combination of the two. Finally we process each <a class="tref internalDFN" title="context" href="#dfn-context">context</a> contained
+        in the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> <a class="tref internalDFN" title="array" href="#dfn-array">array</a> as follows.</p>
+
+      <p>If <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, it represents a reference to
+        a remote context. We dereference the remote context and replace <a class="tref internalDFN" title="context" href="#dfn-context">context</a>
+        with the value of the <code>@context</code> key of the top-level object in the
+        retrieved JSON-LD document. If there's no such key, an invalid remote context has
+        been detected. Otherwise, we process <a class="tref internalDFN" title="context" href="#dfn-context">context</a> by recursively using
+        this algorithm ensuring that there is no cyclical reference.</p>
+
+      <p>If <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, we first update the
+        <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, the <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, and the
+        <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a> by processing three specific keywords:
+        <code>@base</code>, <code>@vocab</code>, and <code>@language</code>.
+        These are handled before any other keys in the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> because
+        they affect how the other keys are processed. Please note that <code>@base</code> is
+        ignored when processing remote contexts.</p>
+
+      <p>Then, for every other key in <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, we update
+        the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in <i>result</i>. Since
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definitions</a> in a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>
+        may themselves contain <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or
+        <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>, we may need to recurse.
+        When doing so, we must ensure that there is no cyclical dependency,
+        which is an error. After we have processed any
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> dependencies,
+        we update the current <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>,
+        which may be a <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword alias</a>.</p>
+
+      <p>Finally, we return <i>result</i> as the new <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>This algorithm specifies how a new <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is updated
+        with a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. The algorithm takes three input variables:
+        an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, and an  <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+        <i>remote contexts</i> which is used to detect cyclical context inclusions.
+        If <i>remote contexts</i> is not passed, it is initialized to an empty
+        <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>result</i> to the result of cloning
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.</li>
+        <li>If <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+          set it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only
+          <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>.</li>
+        <li>
+          For each item <i>context</i> in <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>:
+          <ol class="algorithm">
+            <li>If <i>context</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set <i>result</i> to a
+              newly-initialized <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and continue with the
+              next <i>context</i>. The <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> of the
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is set to the <abbr title="Internationalized Resource Identifier">IRI</abbr> of the currently being processed
+              document (which might be different from the currently being processed context),
+              if available; otherwise to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If set, the
+              <code class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></code>
+              option of a JSON-LD API Implementation overrides the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+            <li>If <i>context</i> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>,
+              <ol class="algorithm">
+                <li>Set <i>context</i> to the result of resolving <i>value</i> against
+                  the base <abbr title="Internationalized Resource Identifier">IRI</abbr> which is established as specified in
+                  <cite><a href="http://tools.ietf.org/html/rfc3986#section-5.1">section 5.1 Establishing a Base URI</a></cite>
+                  of [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>]. Only the basic algorithm in
+                  <cite><a href="http://tools.ietf.org/html/rfc3986#section-5.2">section 5.2</a></cite>
+                  of [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] is used; neither
+                  <cite><a href="http://tools.ietf.org/html/rfc3986#section-6.2.2">Syntax-Based Normalization</a></cite> nor
+                  <cite><a href="http://tools.ietf.org/html/rfc3986#section-6.2.3">Scheme-Based Normalization</a></cite>
+                  are performed. Characters additionally allowed in <abbr title="Internationalized Resource Identifier">IRI</abbr>
+                  references are treated in the same way that unreserved
+                  characters are treated in URI references, per
+                  <cite><a href="http://tools.ietf.org/html/rfc3987#section-6.5">section 6.5</a></cite>
+                  of [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].</li>
+                <li>If <i>context</i> is in the <i>remote contexts</i> array, a
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.recursive-context-inclusion">recursive context inclusion</a></code>
+                  error has been detected and processing is aborted;
+                  otherwise, add <i>context</i> to <i>remote contexts</i>.</li>
+                <li>Dereference <i>context</i>. If <i>context</i> cannot be dereferenced, a
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.loading-remote-context-failed">loading remote context failed</a></code>
+                  error has been detected and processing is aborted. If the dereferenced document has no
+                  top-level <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with an <code>@context</code> member, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-remote-context">invalid remote context</a></code>
+                  has been detected and processing is aborted; otherwise,
+                  set <i>context</i> to the value of that member.</li>
+                <li>Set <i>result</i> to the result of recursively calling this algorithm,
+                  passing <i>result</i> for <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  <i>context</i> for <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, and <i>remote contexts</i>.</li>
+                <li>Continue with the next <i>context</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>context</i> is not a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-local-context">invalid local context</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If <i>context</i> has an <code>@base</code> key and <i>remote contexts</i> is empty, i.e., the currently
+              being processed context is not a remote context:
+              <ol class="algorithm">
+                <li>Initialize <i>value</i> to the value associated with the
+                  <code>@base</code> key.</li>
+                <li>If <i>value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, remove the
+                  <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> of <i>result</i>.</li>
+                <li>Otherwise, if <i>value</i> is an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+                  the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> of <i>result</i> is set to <i>value</i>.</li>
+                <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a> and
+                  the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> of <i>result</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+                  set the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> of <i>result</i> to the result of
+                  resolving <i>value</i> against the current <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+                  of <i>result</i>.</li>
+                <li>Otherwise, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-base-IRI">invalid base <abbr title="Internationalized Resource Identifier">IRI</abbr></a></code>
+                  error has been detected and processing is aborted.</li>
+              </ol>
+            </li>
+            <li>If <i>context</i> has an <code>@vocab</code> key:
+              <ol class="algorithm">
+                <li>Initialize <i>value</i> to the value associated with the
+                  <code>@vocab</code> key.</li>
+                <li>If <i>value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, remove
+                  any <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a> from <i>result</i>.</li>
+                <li>Otherwise, if <i>value</i> is an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+                  or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, the <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>
+                  of <i>result</i> is set to <i>value</i>. If it is not an
+                  <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-vocab-mapping">invalid vocab mapping</a></code>
+                  error has been detected and processing is aborted.</li>
+              </ol>
+            </li>
+            <li>If <i>context</i> has an <code>@language</code> key:
+              <ol class="algorithm">
+                <li>Initialize <i>value</i> to the value associated with the
+                  <code>@language</code> key.</li>
+                <li>If <i>value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, remove
+                  any <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a> from <i>result</i>.</li>
+                <li>Otherwise, if <i>value</i> is <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, the
+                  <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a> of <i>result</i> is set to
+                  lowercased <i>value</i>. If it is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-default-language">invalid default language</a></code>
+                  error has been detected and processing is aborted.</li>
+              </ol>
+            </li>
+            <li>Create a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>defined</i> to use to keep
+              track of whether or not a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> has already been defined
+              or currently being defined during recursion.</li>
+            <li>For each <i>key</i>-<i>value</i> pair in <i>context</i> where
+              <i>key</i> is not <code>@base</code>, <code>@vocab</code>, or
+              <code>@language</code>, invoke the
+              <a href="#create-term-definition">Create Term Definition algorithm</a>,
+              passing <i>result</i> for <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+              <i>context</i> for <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, <i>key</i>,
+              and <i>defined</i>.</li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Context Processing -->
+
+  <section id="create-term-definition">
+    <h3 aria-level="2" role="heading" id="h3_create-term-definition"><span class="secno">6.2 </span>Create Term Definition</h3>
+
+    <p>This algorithm is called from the
+      <a href="#context-processing-algorithm">Context Processing algorithm</a>
+      to create a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>
+      for a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> being processed in a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-1" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p><a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">Term definitions</a> are created by
+        parsing the information in the given <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> for the
+        given <a class="tref internalDFN" title="term" href="#dfn-term">term</a>. If the given <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is a
+        <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, it may omit an <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> by
+        depending on its <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> having its own
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>. If the <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> is
+        a key in the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, then its <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+        must first be created, through recursion, before continuing. Because a
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> can depend on other
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definitions</a>, a mechanism must
+        be used to detect cyclical dependencies. The solution employed here
+        uses a map, <i>defined</i>, that keeps track of whether or not a
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a> has been defined or is currently in the process of
+        being defined. This map is checked before any recursion is attempted.</p>
+
+      <p>After all dependencies for a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> have been defined, the rest of
+        the information in the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> for the given
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is taken into account, creating the appropriate
+        <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>, <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>, and
+        <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> for the
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-1" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm has four required inputs which are:
+        an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>,
+        a <i>term</i>, and a map <i>defined</i>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>defined</i> contains the key <i>term</i> and the associated
+          value is <a class="tref internalDFN" title="true" href="#dfn-true">true</a> (indicating that the
+          <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> has already been created), return. Otherwise,
+          if the value is <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, a
+          <code class="error"><a href="#idl-def-JsonLdErrorCode.cyclic-IRI-mapping">cyclic <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+          error has been detected and processing is aborted.</li>
+        <li>Set the value associated with <i>defined</i>'s <i>term</i> key to
+          <a class="tref internalDFN" title="false" href="#dfn-false">false</a>. This indicates that the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+          is now being created but is not yet complete.</li>
+        <li>Since <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> cannot be overridden,
+          <i>term</i> must not be a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. Otherwise, a
+          <code class="error"><a href="#idl-def-JsonLdErrorCode.keyword-redefinition">keyword redefinition</a></code>
+          error has been detected and processing is aborted.</li>
+        <li>Remove any existing <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> for <i>term</i> in
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.</li>
+        <li>Initialize <i>value</i> to a copy of the value associated with the key
+          <i>term</i> in <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>.</li>
+        <li>If <i>value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or <i>value</i>
+          is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing the key-value pair
+          <code>@id</code>-<a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set the
+          <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> to
+          <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set the value associated with <i>defined</i>'s
+          key <i>term</i> to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, and return.</li>
+        <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, convert it
+          to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting of a single member whose
+          key is <code>@id</code> and whose value is <i>value</i>.</li>
+        <li>Otherwise, <i>value</i> must be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, if not, an
+          <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-term-definition">invalid term definition</a></code>
+          error has been detected and processing is aborted.</li>
+        <li>Create a new <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>, <i>definition</i>.</li>
+        <li>If <i>value</i> contains the key <code>@type</code>:
+          <ol class="algorithm">
+            <li>Initialize <i>type</i> to the value associated with the
+              <code>@type</code> key, which must be a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>. Otherwise, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-type-mapping">invalid type mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>Set <i>type</i> to the result of using the
+              <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>, passing
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <i>type</i> for <i>value</i>,
+              <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>,
+              <a class="tref internalDFN" title="false" href="#dfn-false">false</a> for <i>document relative</i>,
+              <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, and <i>defined</i>. If the expanded <i>type</i> is
+              neither <code>@id</code>, nor <code>@vocab</code>, nor an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-type-mapping">invalid type mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>Set the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> for <i>definition</i> to <i>type</i>.</li>
+          </ol>
+        </li>
+        <li>If <i>value</i> contains the key <code>@reverse</code>:
+          <ol class="algorithm">
+            <li>If <i>value</i> contains an <code>@id</code>, member, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-reverse-property">invalid reverse property</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If the value associated with the <code>@reverse</code> key
+              is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>Otherwise, set the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> of <i>definition</i> to the
+              result of using the <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>,
+              passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, the value associated with
+              the <code>@reverse</code> key for <i>value</i>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a>
+              for <i>vocab</i>, <a class="tref internalDFN" title="false" href="#dfn-false">false</a> for <i>document relative</i>,
+              <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, and <i>defined</i>. If the result
+              is neither an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> nor a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+              i.e., it contains no colon (<code>:</code>), an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If <i>value</i> contains an <code>@container</code> member,
+              set the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> of <i>definition</i>
+              to its value; if its value is neither <code>@set</code>, nor
+              <code>@index</code>, nor <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-reverse-property">invalid reverse property</a></code>
+              error has been detected (reverse properties only support set- and
+              index-containers) and processing is aborted.</li>
+            <li>Set the <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a> flag of <i>definition</i>
+              to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>.</li>
+            <li>Set the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> of <i>term</i> in
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> to <i>definition</i> and the
+              value associated with <i>defined</i>'s key <i>term</i> to
+              <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and return.</li>
+          </ol>
+        </li>
+        <li>Set the <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a> flag of <i>definition</i>
+          to <a class="tref internalDFN" title="false" href="#dfn-false">false</a>.</li>
+        <li>If <i>value</i> contains the key <code>@id</code> and its value
+          does not equal <i>term</i>:
+          <ol class="algorithm">
+            <li>If the value associated with the <code>@id</code> key is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>Otherwise, set the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> of <i>definition</i> to the
+              result of using the <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>, passing
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, the value associated with the <code>@id</code> key for
+              <i>value</i>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>,
+              <a class="tref internalDFN" title="false" href="#dfn-false">false</a> for <i>document relative</i>,
+              <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, and <i>defined</i>. If the resulting
+              <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> is neither a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>, nor an
+              <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, nor a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+              error has been detected and processing is aborted; if it equals <code>@context</code>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-keyword-alias">invalid keyword alias</a></code>
+              error has been detected and processing is aborted.</li>
+          </ol>
+        </li>
+        <li>
+          Otherwise if the <i>term</i> contains a colon (<code>:</code>):
+          <ol class="algorithm">
+            <li>If <i>term</i> is a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> with a
+              <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> that is a key in <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>
+              a dependency has been found. Use this algorithm recursively passing
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, the
+              <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> as <i>term</i>, and <i>defined</i>.</li>
+            <li>If <i>term</i>'s <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> has a
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, set
+              the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> of <i>definition</i> to the result of
+              concatenating the value associated with the <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>'s
+              <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> and the <i>term</i>'s <i>suffix</i>.</li>
+            <li>Otherwise, <i>term</i> is an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+              <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. Set the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>
+              of <i>definition</i> to <i>term</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise, if <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a
+          <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>
+          of <i>definition</i> is set to the result of concatenating the value
+          associated with the <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a> and <i>term</i>.
+          If it does not have a <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, an
+          <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid <abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a></code>
+          error been detected and processing is aborted.</li>
+        <li>If <i>value</i> contains the key <code>@container</code>:
+          <ol class="algorithm">
+            <li>Initialize <i>container</i> to the value associated with the
+              <code>@container</code> key, which must be either
+              <code>@list</code>, <code>@set</code>, <code>@index</code>,
+              or <code>@language</code>. Otherwise, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-container-mapping">invalid container mapping</a></code> error
+              has been detected and processing is aborted.</li>
+            <li>Set the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> of <i>definition</i> to
+              <i>container</i>.</li>
+          </ol>
+        </li>
+        <li>If <i>value</i> contains the key <code>@language</code> and
+          does not contain the key <code>@type</code>:
+          <ol class="algorithm">
+            <li>Initialize <i>language</i> to the value associated with the
+              <code>@language</code> key, which must be either <a class="tref internalDFN" title="null" href="#dfn-null">null</a>
+              or a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>. Otherwise, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-mapping">invalid language mapping</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If <i>language</i> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> set it to
+              lowercased <i>language</i>. Set the <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>
+              of <i>definition</i> to <i>language</i>.</li>
+          </ol>
+        </li>
+        <li>Set the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> of <i>term</i> in
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> to <i>definition</i> and set the value
+          associated with <i>defined</i>'s key <i>term</i> to
+          <a class="tref internalDFN" title="true" href="#dfn-true">true</a>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Term Creation -->
+
+  <section id="iri-expansion">
+    <h3 aria-level="2" role="heading" id="h3_iri-expansion"><span class="secno">6.3 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion</h3>
+
+    <p>In JSON-LD documents, some keys and values may represent
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>. This section defines an algorithm for
+      transforming a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> that represents an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> into
+      an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.
+      It also covers transforming <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword aliases</a>
+      into <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a>.</p>
+
+    <p><a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> expansion may occur during context processing or during
+      any of the other JSON-LD algorithms. If <abbr title="Internationalized Resource Identifier">IRI</abbr> expansion occurs during context
+      processing, then the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> and its related <i>defined</i>
+      map from the <a href="#context-processing-algorithm">Context Processing algorithm</a>
+      are passed to this algorithm. This allows for <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+      dependencies to be processed via the
+      <a href="#create-term-definition">Create Term Definition algorithm</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-2" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>In order to expand <i>value</i> to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, we must
+        first determine if it is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, a
+        <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword alias</a>, or some form of <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Based on what
+        we find, we handle the specific kind of expansion; for example, we expand
+        a <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword alias</a> to a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> and a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+        to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> according to its <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>
+        in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. While inspecting <i>value</i> we
+        may also find that we need to create <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+        dependencies because we're running this algorithm during context processing.
+        We can tell whether or not we're running during context processing by
+        checking <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> against <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.
+        We know we need to create a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> when <i>value</i> is
+        a key in the <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> and the <i>defined</i> map
+        does not have a key for <i>value</i> with an associated value of
+        <a class="tref internalDFN" title="true" href="#dfn-true">true</a>. The <i>defined</i> map is used during
+        <a href="#context-processing-algorithm">Context Processing</a> to keep track of
+        which <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> have already been defined or are
+        in the process of being defined. We create a
+        <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> by using the
+        <a href="#create-term-definition">Create Term Definition algorithm</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-2" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes two required and four optional input variables. The
+        required inputs are an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and a <i>value</i>
+        to be expanded. The optional inputs are two flags,
+        <i>document relative</i> and <i>vocab</i>, that specifying
+        whether <i>value</i> can be interpreted as a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        against the document's base <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a>
+        <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, respectively, and
+        a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> and a map <i>defined</i> to be used when
+        this algorithm is used during <a href="#context-processing-algorithm">Context Processing</a>.
+        If not passed, the two flags are set to <code>false</code> and
+        <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> and <i>defined</i> are initialized to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>value</i> is a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+          return <i>value</i> as is.</li>
+        <li>If <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, it contains
+          a key that equals <i>value</i>, and the value associated with the key
+          that equals <i>value</i> in <i>defined</i> is not <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+          invoke the <a href="#create-term-definition">Create Term Definition algorithm</a>,
+          passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>,
+          <i>value</i> as <i>term</i>, and <i>defined</i>. This will ensure that
+          a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> is created for <i>value</i> in
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> during <a href="#context-processing-algorithm">Context Processing</a>.
+        </li>
+        <li>If <i>vocab</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and the
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> for
+          <i>value</i>, return the associated <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>.</li>
+        <li>If <i>value</i> contains a colon (<code>:</code>), it is either
+          an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or a
+          <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>:
+          <ol class="algorithm">
+            <li>Split <i>value</i> into a <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> and <i>suffix</i>
+              at the first occurrence of a colon (<code>:</code>).</li>
+            <li>If <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> is underscore (<code>_</code>)
+              or <i>suffix</i> begins with double-forward-slash
+              (<code>//</code>), return <i>value</i> as it is already an
+              <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</li>
+            <li>If <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, it
+              contains a key that equals <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>, and the value
+              associated with the key that equals <i>prefix</i> in <i>defined</i>
+              is not <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, invoke the
+              <a href="#create-term-definition">Create Term Definition algorithm</a>,
+              passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+              <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>, <i>prefix</i> as <i>term</i>,
+              and <i>defined</i>. This will ensure that a
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> is created for <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>
+              in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> during
+              <a href="#context-processing-algorithm">Context Processing</a>.</li>
+            <li>If <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> contains a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+              for <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>, return the result of concatenating
+              the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> associated with <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> and
+              <i>suffix</i>.</li>
+            <li>Return <i>value</i> as it is already an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+          </ol>
+        </li>
+        <li>If <i>vocab</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, and
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>,
+          return the result of concatenating the <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>
+          with <i>value</i>.</li>
+        <li>Otherwise, if <i>document relative</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+          set <i>value</i> to the result of resolving <i>value</i> against
+          the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Only the basic algorithm in
+          <cite><a href="http://tools.ietf.org/html/rfc3986#section-5.2">section 5.2</a></cite>
+          of [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] is used; neither
+          <cite><a href="http://tools.ietf.org/html/rfc3986#section-6.2.2">Syntax-Based Normalization</a></cite> nor
+          <cite><a href="http://tools.ietf.org/html/rfc3986#section-6.2.3">Scheme-Based Normalization</a></cite>
+          are performed. Characters additionally allowed in <abbr title="Internationalized Resource Identifier">IRI</abbr> references are treated
+          in the same way that unreserved characters are treated in URI references, per
+          <cite><a href="http://tools.ietf.org/html/rfc3987#section-6.5">section 6.5</a></cite>
+          of [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].</li>
+        <li>Return <i>value</i> as is.</li>
+      </ol>
+    </section>
+  </section> <!-- end of IRI Expansion -->
+</section> <!-- end of Context Processing section -->
+
+
+<section id="expansion-algorithms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_expansion-algorithms"><span class="secno">7. </span>Expansion Algorithms</h2>
+
+  <section id="expansion-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_expansion-algorithm"><span class="secno">7.1 </span>Expansion Algorithm</h3>
+
+    <p>This algorithm expands a JSON-LD document, such that all <a class="tref internalDFN" title="context" href="#dfn-context">context</a>
+      definitions are removed, all <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> and
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> are expanded to
+      <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>,
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>, or
+      <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> and all
+      <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a> are expressed in
+      <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a> in <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-3" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>Starting with its root <i>element</i>, we can process the
+        JSON-LD document recursively, until we have a fully
+        <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expanded</a> <i>result</i>. When
+        <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expanding</a> an <i>element</i>, we can treat
+        each one differently according to its type, in order to break down the
+        problem:</p>
+
+      <ol>
+        <li>If the <i>element</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, there is nothing
+          to expand.</li>
+        <li>Otherwise, if <i>element</i> is a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a>, we expand it
+          according to the <a href="#value-expansion">Value Expansion algorithm</a>.</li>
+        <li>Otherwise, if the <i>element</i> is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, then we expand
+          each of its items recursively and return them in a new
+          <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+        <li>Otherwise, <i>element</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. We expand
+          each of its keys, adding them to our <i>result</i>, and then we expand
+          each value for each key recursively. Some of the keys will be
+          <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or
+          <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> and others will be
+          <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> or simply ignored because
+          they do not have definitions in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. Any
+          <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> will be expanded using the
+          <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>.
+        </li>
+      </ol>
+
+      <p>Finally, after ensuring <i>result</i> is in an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+        we return <i>result</i>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-3" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes three input variables: an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+        an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and an <i>element</i> to be expanded.
+        To begin, the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+        and <i>element</i> is set to the <a class="tref internalDFN" title="json-ld-input" href="#dfn-json-ld-input">JSON-LD input</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>element</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, return <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+        <li>If <i>element</i> is a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a>,
+          <ol class="algorithm">
+            <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or <code>@graph</code>,
+              drop the free-floating <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a> by returning <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+            <li>Return the result of the
+              <a href="#value-expansion">Value Expansion algorithm</a>, passing the
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and
+              <i>element</i> as <i>value</i>.</li>
+          </ol>
+        </li>
+        <li>If <i>element</i> is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+          <ol class="algorithm">
+            <li>Initialize an empty array, <i>result</i>.</li>
+            <li>For each <i>item</i> in <i>element</i>:
+              <ol class="algorithm">
+                <li>Initialize <i>expanded item</i> to the result of using this
+                  algorithm recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>item</i> as <i>element</i>.</li>
+                <li>If the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is <code>@list</code> or its
+                  <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> is set to <code>@list</code>, the
+                  <i>expanded item</i> must not be an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> or a
+                  <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, otherwise a
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.list-of-lists">list of lists</a></code>
+                  error has been detected and processing is aborted.</li>
+                <li>If <i>expanded item</i> is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, append each
+                  of its items to <i>result</i>. Otherwise, if
+                  <i>expanded item</i> is not null, append it to <i>result</i>.</li>
+              </ol>
+            </li>
+            <li>Return <i>result</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise <i>element</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>If <i>element</i> contains the key <code>@context</code>, set
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> to the result of the
+          <a href="#context-processing-algorithm">Context Processing algorithm</a>,
+          passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and the value of the
+          <code>@context</code> key as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>.</li>
+        <li>Initialize an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, <i>result</i>.</li>
+        <li>For each <i>key</i> and <i>value</i> in <i>element</i>,
+          ordered lexicographically by <i>key</i>:
+          <ol class="algorithm">
+            <li>If <i>key</i> is <code>@context</code>, continue to
+              the next <i>key</i>.</li>
+            <li>Set <i>expanded property</i> to the result of
+              using the <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>,
+              passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <i>key</i> for
+              <i>value</i>, and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>.</li>
+            <li>If <i>expanded property</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or it neither
+              contains a colon (<code>:</code>) nor it is a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>,
+              drop <i>key</i> by continuing to the next <i>key</i>.</li>
+            <li>If <i>expanded property</i> is a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>:
+              <ol class="algorithm">
+                <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> equals <code>@reverse</code>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-map">invalid reverse property map</a></code>
+                  error has been detected and processing is aborted.</li>
+                <li>If <i>result</i> has already an <i>expanded property</i> member, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.colliding-keywords">colliding keywords</a></code>
+                  error has been detected and processing is aborted.</li>
+                <li>If <i>expanded property</i> is <code>@id</code> and
+                  <i>value</i> is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--id-value">invalid @id value</a></code>
+                  error has been detected and processing is aborted. Otherwise,
+                  set <i>expanded value</i> to the result of using the
+                  <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>,
+                  passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <i>value</i>, and <a class="tref internalDFN" title="true" href="#dfn-true">true</a>
+                  for <i>document relative</i>.</li>
+                <li>If <i>expanded property</i> is <code>@type</code> and <i>value</i>
+                  is neither a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> nor an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of
+                  <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-type-value">invalid type value</a></code>
+                  error has been detected and processing is aborted. Otherwise,
+                  set <i>expanded value</i> to the result of using the
+                  <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>, passing
+                  <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>,
+                  and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>document relative</i> to expand the <i>value</i>
+                  or each of its items.</li>
+                <li>If <i>expanded property</i> is <code>@graph</code>, set
+                  <i>expanded value</i> to the result of using this algorithm
+                  recursively passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <code>@graph</code>
+                  for <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>value</i> for <i>element</i>.</li>
+                <li>If <i>expanded property</i> is <code>@value</code> and
+                  <i>value</i> is not a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a> or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-value-object-value">invalid value object value</a></code>
+                  error has been detected and processing is aborted. Otherwise,
+                  set <i>expanded value</i> to <i>value</i>. If <i>expanded value</i>
+                  is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set the <code>@value</code>
+                  member of <i>result</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> and continue with the
+                  next <i>key</i> from <i>element</i>. Null values need to be preserved
+                  in this case as the meaning of an <code>@type</code> member depends
+                  on the existence of an <code>@value</code> member.</li>
+                <li>If <i>expanded property</i> is <code>@language</code> and
+                  <i>value</i> is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-string">invalid language-tagged string</a></code>
+                  error has been detected and processing is aborted. Otherwise,
+                  set <i>expanded value</i> to lowercased <i>value</i>.</li>
+                <li>If <i>expanded property</i> is <code>@index</code> and
+                  <i>value</i> is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--index-value">invalid @index value</a></code>
+                  error has been detected and processing is aborted. Otherwise,
+                  set <i>expanded value</i> to <i>value</i>.</li>
+                <li>If <i>expanded property</i> is <code>@list</code>:
+                  <ol class="algorithm">
+                    <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or
+                      <code>@graph</code>, continue with the next <i>key</i>
+                      from <i>element</i> to remove the free-floating list.</li>
+                    <li>Otherwise, initialize <i>expanded value</i> to the result of using
+                      this algorithm recursively passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                      <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>value</i> for <i>element</i>.</li>
+                    <li>If <i>expanded value</i> is a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, a
+                      <code class="error"><a href="#idl-def-JsonLdErrorCode.list-of-lists">list of lists</a></code>
+                      error has been detected and processing is aborted.</li>
+                  </ol>
+                </li>
+                <li>If <i>expanded property</i> is <code>@set</code>, set
+                  <i>expanded value</i> to the result of using this algorithm
+                  recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>value</i> for
+                  <i>element</i>.</li>
+                <li>If <i>expanded property</i> is <code>@reverse</code> and
+                  <i>value</i> is not a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, an
+                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">invalid @reverse value</a></code>
+                  error has been detected and processing is aborted. Otherwise
+                  <ol class="algorithm">
+                    <li>Initialize <i>expanded value</i> to the result of using this
+                      algorithm recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                      <code>@reverse</code> as <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and
+                      <i>value</i> as <i>element</i>.</li>
+                    <li>If <i>expanded value</i> contains an <code>@reverse</code> member,
+                      i.e., properties that are reversed twice, execute for each of its
+                      <i>property</i> and <i>item</i> the following steps:
+                      <ol class="algorithm">
+                        <li>If <i>result</i> does not have a <i>property</i> member, create
+                          one and set its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                        <li>Append <i>item</i> to the value of the <i>property</i> member
+                          of <i>result</i>.</li>
+                      </ol>
+                    </li>
+                    <li>If <i>expanded value</i> contains members other than <code>@reverse</code>:
+                      <ol class="algorithm">
+                        <li>If <i>result</i> does not have an <code>@reverse</code> member, create
+                          one and set its value to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+                        <li>Reference the value of the <code>@reverse</code> member in <i>result</i>
+                          using the variable <i>reverse map</i>.</li>
+                        <li>For each <i>property</i> and <i>items</i> in <i>expanded value</i>
+                          other than <code>@reverse</code>:
+                          <ol class="algorithm">
+                            <li>For each <i>item</i> in <i>items</i>:
+                              <ol class="algorithm">
+                                <li>If <i>item</i> is a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> or <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, an
+                                  <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">invalid reverse property value</a></code>
+                                  has been detected and processing is aborted.</li>
+                                <li>If <i>reverse map</i> has no <i>property</i> member, create one
+                                  and initialize its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                                <li>Append <i>item</i> to the value of the <i>property</i>
+                                  member in <i>reverse map</i>.</li>
+                              </ol>
+                            </li>
+                          </ol>
+                        </li>
+                      </ol>
+                    </li>
+                    <li>Continue with the next <i>key</i> from <i>element</i>.</li>
+                  </ol>
+                </li>
+                <li>Unless <i>expanded value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set
+                  the <i>expanded property</i> member of <i>result</i> to
+                  <i>expanded value</i>.</li>
+                <li>Continue with the next <i>key</i> from <i>element</i>.</li>
+              </ol>
+            </li>
+            <li>Otherwise, if <i>key</i>'s <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> in
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is <code>@language</code> and
+              <i>value</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> then <i>value</i>
+              is expanded from a <a class="tref externalDFN" title="language-map" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#dfn-language-map">language map</a>
+              as follows:
+              <ol class="algorithm">
+                <li>Initialize <i>expanded value</i> to an empty
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>For each key-value pair <i>language</i>-<i>language value</i>
+                  in <i>value</i>, ordered lexicographically by <i>language</i>:
+                  <ol class="algorithm">
+                    <li>If <i>language value</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                      set it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only
+                      <i>language value</i>.</li>
+                    <li>For each <i>item</i> in <i>language value</i>:
+                      <ol class="algorithm">
+                        <li><i>item</i> must be a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>,
+                          otherwise an
+                          <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-map-value">invalid language map value</a></code>
+                          error has been detected and processing is aborted.</li>
+                        <li>Append a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> to
+                          <i>expanded value</i> that consists of two
+                          key-value pairs: (<code>@value</code>-<i>item</i>)
+                          and (<code>@language</code>-lowercased
+                          <i>language</i>).</li>
+                      </ol>
+                    </li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+            <li>Otherwise, if <i>key</i>'s <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> in
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is <code>@index</code> and
+              <i>value</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> then <i>value</i>
+              is expanded from an index map as follows:
+              <ol class="algorithm">
+                <li>Initialize <i>expanded value</i> to an empty
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>For each key-value pair <i>index</i>-<i>index value</i>
+                  in <i>value</i>, ordered lexicographically by <i>index</i>:
+                  <ol class="algorithm">
+                    <li>If <i>index value</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                      set it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only
+                      <i>index value</i>.</li>
+                    <li>Initialize <i>index value</i> to the result of
+                      using this algorithm recursively, passing
+                      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                      <i>key</i> as <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>,
+                      and <i>index value</i> as <i>element</i>.</li>
+                    <li>For each <i>item</i> in <i>index value</i>:
+                      <ol class="algorithm">
+                        <li>If <i>item</i> does not have the key
+                          <code>@index</code>, add the key-value pair
+                          (<code>@index</code>-<i>index</i>) to
+                          <i>item</i>.</li>
+                        <li>Append <i>item</i> to <i>expanded value</i>.</li>
+                      </ol>
+                    </li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+            <li>Otherwise, initialize <i>expanded value</i> to the result of
+              using this algorithm recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+              <i>key</i> for <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>value</i>
+              for <i>element</i>.</li>
+            <li>If <i>expanded value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, ignore <i>key</i>
+              by continuing to the next <i>key</i> from <i>element</i>.</li>
+            <li>If the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> associated to <i>key</i> in
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is <code>@list</code> and
+              <i>expanded value</i> is not already a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>,
+              convert <i>expanded value</i> to a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>
+              by first setting it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only
+              <i>expanded value</i> if it is not already an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+              and then by setting it to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing
+              the key-value pair <code>@list</code>-<i>expanded value</i>.</li>
+            <li>Otherwise, if the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> associated to
+              <i>key</i> indicates that it is a <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a>
+              <ol class="algorithm">
+                <li>If <i>result</i> has no <code>@reverse</code> member, create
+                  one and initialize its value to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+                <li>Reference the value of the <code>@reverse</code> member in <i>result</i>
+                  using the variable <i>reverse map</i>.</li>
+                <li>If <i>expanded value</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, set
+                  it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing <i>expanded value</i>.</li>
+                <li>For each <i>item</i> in <i>expanded value</i>
+                  <ol class="algorithm">
+                    <li>If <i>item</i> is a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> or <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, an
+                      <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">invalid reverse property value</a></code>
+                      has been detected and processing is aborted.</li>
+                    <li>If <i>reverse map</i> has no <i>expanded property</i> member,
+                      create one and initialize its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                    <li>Append <i>item</i> to the value of the <i>expanded property</i>
+                      member of <i>reverse map</i>.</li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+            <li>Otherwise, if <i>key</i> is not a <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a>:
+              <ol class="algorithm">
+                <li>If <i>result</i> does not have an <i>expanded property</i>
+                  member, create one and initialize its value to an empty
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>Append <i>expanded value</i> to value of the <i>expanded property</i>
+                  member of <i>result</i>.</li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>If <i>result</i> contains the key <code>@value</code>:
+          <ol class="algorithm">
+            <li>The <i>result</i> must not contain any keys other than
+              <code>@value</code>, <code>@language</code>, <code>@type</code>,
+              and <code>@index</code>. It must not contain both the
+              <code>@language</code> key and the <code>@type</code> key.
+              Otherwise, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-value-object">invalid value object</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If the value of <i>result</i>'s <code>@value</code> key is
+              <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, then set <i>result</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+            <li>Otherwise, if the value of <i>result</i>'s <code>@value</code> member
+              is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> and <i>result</i> contains the key
+              <code>@language</code>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-value">invalid language-tagged value</a></code>
+              error has been detected (only <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>
+              can be language-tagged) and processing is aborted.</li>
+            <li>Otherwise, if the <i>result</i> has an <code>@type</code> member
+              and its value is not an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-typed-value">invalid typed value</a></code>
+              error has been detected and processing is aborted.</li>
+          </ol>
+        </li>
+        <li>Otherwise, if <i>result</i> contains the key <code>@type</code>
+          and its associated value is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, set it to
+          an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only the associated value.</li>
+        <li>Otherwise, if <i>result</i> contains the key <code>@set</code>
+          or <code>@list</code>:
+          <ol class="algorithm">
+            <li>The <i>result</i> must contain at most one other key and that
+              key must be <code>@index</code>. Otherwise, an
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-set-or-list-object">invalid set or list object</a></code>
+              error has been detected and processing is aborted.</li>
+            <li>If <i>result</i> contains the key <code>@set</code>, then
+              set <i>result</i> to the key's associated value.</li>
+          </ol>
+        </li>
+        <li>If <i>result</i> contains only the key
+          <code>@language</code>, set <i>result</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+        <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or <code>@graph</code>,
+          drop free-floating values as follows:
+          <ol class="algorithm">
+            <li>If <i>result</i> is an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> or contains
+              the keys <code>@value</code> or <code>@list</code>, set <i>result</i> to
+              <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+            <li>Otherwise, if <i>result</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> whose only
+              key is <code>@id</code>, set <i>result</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+
+      <p>If, after the above algorithm is run, the result is a
+        <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that contains only an <code>@graph</code> key, set the
+        result to the value of <code>@graph</code>'s value. Otherwise, if the result
+        is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Finally, if
+        the result is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, then set the result to an
+        <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only the result.</p>
+    </section>
+  </section> <!-- end of Expansion Algorithm -->
+
+
+  <section id="value-expansion">
+    <h3 aria-level="2" role="heading" id="h3_value-expansion"><span class="secno">7.2 </span>Value Expansion</h3>
+
+    <p>Some values in JSON-LD can be expressed in a
+      <a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">compact form</a>. These values are required
+      to be <a class="tref internalDFN" title="expansion" href="#dfn-expansion">expanded</a> at times when processing
+      JSON-LD documents. A value is said to be in <dfn title="expanded-form" id="dfn-expanded-form">expanded form</dfn>
+      after the application of this algorithm.</p>
+
+    <section class="informative">
+      <h4 id="overview-4" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> in the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> set to <code>@id</code> or <code>@vocab</code>,
+        a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with a single member <code>@id</code> whose
+        value is the result of using the
+        <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a> on <i>value</i>
+        is returned.</p>
+
+      <p>Otherwise, the result will be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing
+        an <code>@value</code> member whose value is the passed <i>value</i>.
+        Additionally, an <code>@type</code> member will be included if there is a
+        <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> associated with the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+        or an <code>@language</code> member if <i>value</i> is a
+        <a class="tref internalDFN" title="string" href="#dfn-string">string</a> and there is <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> associated
+        with the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-4" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes three required inputs: an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+        an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and a <i>value</i> to expand.</p>
+
+      <ol class="algorithm">
+        <li>If the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>
+          in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> that is <code>@id</code>, return a new
+          <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing a single key-value pair where the
+          key is <code>@id</code> and the value is the result of using the
+          <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>, passing
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <i>value</i>, and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for
+          <i>document relative</i>.</li>
+        <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> in
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> that is <code>@vocab</code>, return
+          a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing a single key-value pair
+          where the key is <code>@id</code> and the value is the result of
+          using the <a href="#iri-expansion"><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion algorithm</a>, passing
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <i>value</i>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for
+          <i>vocab</i>, and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for
+          <i>document relative</i>.</li>
+        <li>Otherwise, initialize <i>result</i> to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+          with an <code>@value</code> member whose value is set to
+          <i>value</i>.</li>
+        <li>If <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> in
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, add an <code>@type</code> member to
+          <i>result</i> and set its value to the value associated with the
+          <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>.</li>
+        <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>:
+          <ol class="algorithm">
+            <li>If a <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> is associated with
+              <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+              add an <code>@language</code> to <i>result</i> and set its
+              value to the language code associated with the
+              <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>; unless the
+              <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> in
+              which case no member is added.</li>
+            <li>Otherwise, if the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a
+              <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>, add an <code>@language</code>
+              to <i>result</i> and set its value to the
+              <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>.</li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Value Expansion -->
+
+</section> <!-- end of Expansion section -->
+
+
+<section id="compaction-algorithms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_compaction-algorithms"><span class="secno">8. </span>Compaction Algorithms</h2>
+
+  <section id="compaction-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_compaction-algorithm"><span class="secno">8.1 </span>Compaction Algorithm</h3>
+
+    <p>This algorithm compacts a JSON-LD document, such that the given
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is applied. This must result in shortening
+      any applicable <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> to
+      <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>, any applicable
+      <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> to
+      <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword aliases</a>, and
+      any applicable <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a>
+      expressed in <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a> to simple values such as
+      <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> or
+      <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-5" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>Starting with its root <i>element</i>, we can process the
+        JSON-LD document recursively, until we have a fully
+        <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compacted</a> <i>result</i>. When
+        <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compacting</a> an <i>element</i>, we can treat
+        each one differently according to its type, in order to break down the
+        problem:</p>
+
+      <ol>
+        <li>If the <i>element</i> is a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a>, it is
+          already in <a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">compacted form</a>, so we simply return it.</li>
+        <li>If the <i>element</i> is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, we compact
+          each of its items recursively and return them in a new
+          <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+        <li>Otherwise <i>element</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. The value
+          of each key in element is compacted recursively. Some of the keys will be
+          compacted, using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+          to <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>
+          and others will be compacted from <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> to
+          <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword aliases</a> or simply left
+          unchanged because they do not have definitions in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>.
+          Values will be converted to <a class="tref internalDFN" title="compacted-form" href="#dfn-compacted-form">compacted form</a> via the
+          <a href="#value-compaction">Value Compaction algorithm</a>. Some data
+          will be reshaped based on <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>
+          specified in the context such as <code>@index</code> or <code>@language</code>
+          maps.</li>
+      </ol>
+
+      <p>The final output is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with an <code>@context</code>
+        key, if a non-empty <a class="tref internalDFN" title="context" href="#dfn-context">context</a> was given, where the <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+        is either <i>result</i> or a wrapper for it where <i>result</i> appears
+        as the value of an (aliased) <code>@graph</code> key because <i>result</i>
+        contained two or more items in an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-5" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes five required input variables: an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+        an <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, an
+        <i>element</i> to be compacted, and a flag
+        <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>.
+        To begin, the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is set to the result of
+        performing <a href="#context-processing-algorithm">Context Processing</a>
+        on the passed <a class="tref internalDFN" title="context" href="#dfn-context">context</a>, the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> is
+        set to the result of performing the
+        <a href="#inverse-context-creation">Inverse Context Creation algorithm</a>
+        on <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is
+        set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, <i>element</i> is set to the result of
+        performing the <a href="#expansion-algorithm">Expansion algorithm</a>
+        on the <a class="tref internalDFN" title="json-ld-input" href="#dfn-json-ld-input">JSON-LD input</a>, and, if not passed,
+        <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+        is set to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>element</i> is a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a>, it is already in its most
+          compact form, so simply return <i>element</i>.</li>
+        <li>If <i>element</i> is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>:
+          <ol class="algorithm">
+            <li>Initialize <i>result</i> to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+            <li>For each <i>item</i> in <i>element</i>:
+              <ol class="algorithm">
+                <li>Initialize <i>compacted item</i> to the result of using this
+                  algorithm recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and
+                  <em>item</em> for <i>element</i>.</li>
+                <li>If <i>compacted item</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, then append
+                  it to <i>result</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>result</i> contains only one item (it has a length of
+              <code>1</code>), <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has no
+              <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, and
+              <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+              is <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, set <i>result</i> to its only item.</li>
+            <li>Return <i>result</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise <i>element</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>If <i>element</i> has an <code>@value</code> or <code>@id</code>
+          member and the result of using the
+          <a href="#value-compaction">Value Compaction algorithm</a>,
+          passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+          <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>,and <i>element</i> as <i>value</i> is
+          a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a>, return that result.</li>
+        <li>Initialize <i>inside reverse</i> to <a class="tref internalDFN" title="true" href="#dfn-true">true</a> if
+          <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> equals <code>@reverse</code>,
+          otherwise to <a class="tref internalDFN" title="false" href="#dfn-false">false</a>.</li>
+        <li>Initialize <i>result</i> to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>For each key <i>expanded property</i> and value <i>expanded value</i>
+          in <i>element</i>,  ordered lexicographically by <i>expanded property</i>:
+          <ol class="algorithm">
+            <li>If <i>expanded property</i> is <code>@id</code> or
+              <code>@type</code>:
+                <ol class="algorithm">
+                  <li>If <i>expanded value</i> is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>,
+                    then initialize <i>compacted value</i> to the result
+                    of using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                    passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                    <i>expanded value</i> for <i>iri</i>,
+                    and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i> if
+                    <i>expanded property</i> is <code>@type</code>,
+                    <a class="tref internalDFN" title="false" href="#dfn-false">false</a> otherwise.</li>
+                  <li>Otherwise, <i>expanded value</i> must be a
+                    <code>@type</code> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>:
+                    <ol class="algorithm">
+                      <li>Initialize <i>compacted value</i> to an empty
+                        <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                      <li>For each item <i>expanded type</i> in
+                        <i>expanded value</i>, append the result of
+                        of using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                        passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                        <i>expanded type</i> for <i>iri</i>, and
+                        <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>,
+                        to <i>compacted value</i>.</li>
+                      <li>If <i>compacted value</i> contains only one
+                        item (it has a length of <code>1</code>), then
+                        set <i>compacted value</i> to its only item.</li>
+                    </ol>
+                  </li>
+                  <li>Initialize <i>alias</i> to the result of using the
+                    <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                    passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                    <i>expanded property</i> for <i>iri</i>,
+                    and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>.</li>
+                  <li>Add a member <i>alias</i> to <i>result</i> whose value is
+                    set to <i>compacted value</i> and continue to the next
+                    <i>expanded property</i>.</li>
+                </ol>
+              </li>
+            <li>If <i>expanded property</i> is <code>@reverse</code>:
+              <ol class="algorithm">
+                <li>Initialize <i>compacted value</i> to the result of using this
+                  algorithm recursively, passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, <code>@reverse</code> for
+                  <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>expanded value</i>
+                  for <i>element</i>.</li>
+                <li>For each <i>property</i> and <i>value</i> in <i>compacted value</i>:
+                  <ol class="algorithm">
+                    <li>If the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> for <i>property</i> in the
+                      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> indicates that <i>property</i> is
+                      a <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a>
+                      <ol class="algorithm">
+                        <li>If the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> for <i>property</i> in
+                          the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a
+                          <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> of <code>@set</code> or
+                          <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+                          is <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, and <i>value</i> is not an
+                          <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, set <i>value</i> to a new
+                          <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only <i>value</i>.</li>
+                        <li>If <i>property</i> is not a member of
+                          <i>result</i>, add one and set its value to <i>value</i>.</li>
+                        <li>Otherwise, if the value of the <i>property</i> member of
+                          <i>result</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, set it to a new
+                          <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only the value. Then
+                          append <i>value</i> to its value if <i>value</i>
+                          is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, otherwise append each
+                          of its items.</li>
+                        <li>Remove the <i>property</i> member from
+                          <i>compacted value</i>.</li>
+                      </ol>
+                    </li>
+                  </ol>
+                </li>
+                <li>If <i>compacted value</i> has some remaining members, i.e.,
+                  it is not an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>:
+                  <ol class="algorithm">
+                    <li>Initialize <i>alias</i> to the result of using the
+                      <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                      passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                      <code>@reverse</code> for <i>iri</i>,
+                      and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>.</li>
+                    <li>Set the value of the <i>alias</i> member of <i>result</i> to
+                      <i>compacted value</i>.</li>
+                  </ol>
+                </li>
+                <li>Continue with the next <i>expanded property</i> from <i>element</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>expanded property</i> is <code>@index</code> and
+              <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>
+              in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> that is <code>@index</code>,
+              then the compacted result will be inside of an <code>@index</code>
+              container, drop the <code>@index</code> property by continuing
+              to the next <i>expanded property</i>.</li>
+            <li>Otherwise, if <i>expanded property</i> is <code>@index</code>,
+              <code>@value</code>, or <code>@language</code>:
+              <ol class="algorithm">
+                <li>Initialize <i>alias</i> to the result of using
+                  the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                  passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                  <i>expanded property</i> for <i>iri</i>,
+                  and <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>.</li>
+                <li>Add a member <i>alias</i> to <i>result</i> whose value is
+                  set to <i>expanded value</i> and continue with the next
+                  <i>expanded property</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>expanded value</i> is an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>:
+              <ol class="algorithm">
+                <li>Initialize <i>item active property</i> to the result of
+                  using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                  passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                  <i>expanded property</i> for <i>iri</i>,
+                  <i>expanded value</i> for <i>value</i>,
+                  <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>, and
+                  <i>inside reverse</i>.</li>
+                <li>If <i>result</i> does not have the key that equals
+                  <i>item active property</i>, set this key's value in
+                  <i>result</i> to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Otherwise, if
+                  the key's value is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, then set it
+                  to one containing only the value.</li>
+              </ol>
+            </li>
+            <li>
+              At this point, <i>expanded value</i> must be an
+              <a class="tref internalDFN" title="array" href="#dfn-array">array</a> due to the
+              <a href="#expansion-algorithm">Expansion algorithm</a>.
+              For each item <i>expanded item</i> in <i>expanded value</i>:
+              <ol class="algorithm">
+                <li>Initialize <i>item active property</i> to the result of using
+                  the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                  passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                  <i>expanded property</i> for <i>iri</i>,
+                  <i>expanded item</i> for <i>value</i>,
+                  <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>, and
+                  <i>inside reverse</i>.</li>
+                <li>Initialize <i>container</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If there
+                  is a <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> for
+                  <i>item active property</i> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+                  set <i>container</i> to its value.</li>
+                <li>Initialize <i>compacted item</i> to the result of using
+                  this algorithm recursively, passing
+                  <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                  <i>item active property</i> for <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>,
+                  <i>expanded item</i> for <i>element</i> if it does
+                  not contain the key <code>@list</code>, otherwise pass
+                  the key's associated value for <i>element</i>.</li>
+                <li>
+                  If <i>expanded item</i> is a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>:
+                  <ol class="algorithm">
+                    <li>If <i>compacted item</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+                      then set it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only
+                      <i>compacted item</i>.</li>
+                    <li>If <i>container</i> is not <code>@list</code>:
+                      <ol class="algorithm">
+                        <li>Convert <i>compacted item</i> to a
+                          <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a> by setting it to a
+                          <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing key-value pair
+                          where the key is the result of the
+                          <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                          passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                          <code>@list</code> for <i>iri</i>, and <i>compacted item</i>
+                          for <i>value</i>.</li>
+                        <li>If <i>expanded item</i> contains the key
+                          <code>@index</code>, then add a key-value pair
+                          to <i>compacted item</i> where the key is the
+                          result of the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+                          passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                          <code>@index</code> as <i>iri</i>, and the value associated with the
+                          <code>@index</code> key in <i>expanded item</i> as <i>value</i>.</li>
+                      </ol>
+                    </li>
+                    <li>Otherwise, <i>item active property</i> must not be a key
+                      in <i>result</i> because there cannot be two
+                      <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list objects</a> associated
+                      with an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> that has a
+                      <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>; a
+                      <code class="error"><a href="#idl-def-JsonLdErrorCode.compaction-to-list-of-lists">compaction to list of lists</a></code>
+                      error has been detected and processing is aborted.</li>
+                  </ol>
+                </li>
+                <li>
+                  If <i>container</i> is <code>@language</code> or
+                  <code>@index</code>:
+                  <ol class="algorithm">
+                    <li>If <i>item active property</i> is not a key in
+                      <i>result</i>, initialize it to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.
+                      Initialize <i>map object</i> to the value of <i>item active property</i>
+                      in <i>result</i>.</li>
+                    <li>If <i>container</i> is <code>@language</code> and
+                      <i>compacted item</i> contains the key
+                      <code>@value</code>, then set <i>compacted item</i>
+                      to the value associated with its <code>@value</code> key.</li>
+                    <li>Initialize <i>map key</i> to the value associated with
+                      with the key that equals <i>container</i> in
+                      <i>expanded item</i>.</li>
+                    <li>If <i>map key</i> is not a key in <i>map object</i>,
+                      then set this key's value in <i>map object</i>
+                      to <i>compacted item</i>. Otherwise, if the value
+                      is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, then set it to one
+                      containing only the value and then append
+                      <i>compacted item</i> to it.</li>
+                  </ol>
+                </li>
+                <li>
+                  Otherwise,
+                  <ol class="algorithm">
+                    <li>If
+                      <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+                      is <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, <i>container</i> is <code>@set</code> or
+                      <code>@list</code>, or <i>expanded property</i> is
+                      <code>@list</code> or <code>@graph</code> and
+                      <i>compacted item</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+                      set it to a new <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                      containing only <i>compacted item</i>.</li>
+                    <li>If <i>item active property</i> is not a key in
+                      <i>result</i> then add the key-value pair,
+                      (<i>item active property</i>-<i>compacted item</i>),
+                      to <i>result</i>.</li>
+                    <li>Otherwise, if the value associated with the key that
+                      equals <i>item active property</i> in <i>result</i>
+                      is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, set it to a new
+                      <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing only the value. Then
+                      append <i>compacted item</i> to the value if
+                      <i>compacted item</i> is not an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+                      otherwise, concatenate it.</li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+
+      <p>If, after the algorithm outlined above is run, the result <i>result</i>
+        is an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, replace it with a new
+        <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with a single member whose key is the result
+        of using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+        passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, and
+        <code>@graph</code> as <i>iri</i> and whose value is the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+        <i>result</i>. Finally, if a non-empty <i>context</i> has been passed,
+        add an <code>@context</code> member to <i>result</i> and set its value
+        to the passed <i>context</i>.</p>
+    </section>
+  </section> <!-- end of Compaction -->
+
+  <section id="inverse-context-creation">
+    <h3 aria-level="2" role="heading" id="h3_inverse-context-creation"><span class="secno">8.2 </span>Inverse Context Creation</h3>
+
+    <p>When there is more than one <a class="tref internalDFN" title="term" href="#dfn-term">term</a> that could be chosen
+      to compact an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, it has to be ensured that the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+      selection is both deterministic and represents the most context-appropriate
+      choice whilst taking into consideration algorithmic complexity.</p>
+
+    <p>In order to make <a class="tref internalDFN" title="term" href="#dfn-term">term</a> selections, the concept of an
+      <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> is introduced. An <dfn title="inverse-context" id="dfn-inverse-context">inverse context</dfn>
+      is essentially a reverse lookup table that maps
+      <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>,
+      <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mappings</a>, and
+      <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mappings</a> to a simple
+      <a class="tref internalDFN" title="term" href="#dfn-term">term</a> for a given <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. A
+      <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> only needs to be generated for an
+      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> if it is being used for <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compaction</a>.</p>
+
+    <p>To make use of an <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, a list of preferred
+      <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a> and the
+      <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> are gathered
+      for a particular value associated with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. These parameters
+      are then fed to the <a href="#term-selection">Term Selection algorithm</a>,
+      which will find the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> that most appropriately
+      matches the value's mappings.</p>
+
+    <section class="informative">
+      <h4 id="overview-6" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>To create an <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> for a given
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, each <a class="tref internalDFN" title="term" href="#dfn-term">term</a> in the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is visited, ordered by length, shortest
+        first (ties are broken by choosing the lexicographically least
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a>). For each <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, an entry is added to
+        the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> for each possible combination of
+        <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> and <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>
+        or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> that would legally match the
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a>. Illegal matches include differences between a
+        value's <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> and
+        that of the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>. If a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> has no
+        <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>, <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>, or
+        <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> (or some combination of these), then it
+        will have an entry in the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> using the special
+        key <code>@none</code>. This allows the
+        <a href="#term-selection">Term Selection algorithm</a> to fall back
+        to choosing more generic <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> when a more
+        specifically-matching <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is not available for a particular
+        <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> and value combination.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-6" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes one required input: the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> that
+        the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> is being created for.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>result</i> to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>Initialize <i>default language</i> to <code>@none</code>. If the
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>,
+          set <i>default language</i> to it.</li>
+        <li>For each key <a class="tref internalDFN" title="term" href="#dfn-term">term</a> and value <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in
+          the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, ordered by shortest <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+          first (breaking ties by choosing the lexicographically least
+          <a class="tref internalDFN" title="term" href="#dfn-term">term</a>):
+          <ol class="algorithm">
+            <li>If the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+              <a class="tref internalDFN" title="term" href="#dfn-term">term</a> cannot be selected during <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compaction</a>,
+              so continue to the next <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.</li>
+            <li>Initialize <i>container</i> to <code>@none</code>. If there
+              is a <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> in
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>, set <i>container</i> to
+              its associated value.</li>
+            <li>Initialize <i>iri</i> to the value of the <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>
+              for the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>.</li>
+            <li>If <i>iri</i> is not a key in <i>result</i>, add
+              a key-value pair where the key is <i>iri</i> and the value
+              is an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> to <i>result</i>.</li>
+            <li>Reference the value associated with the <i>iri</i> member in
+              <i>result</i> using the variable <i>container map</i>.</li>
+            <li>If <i>container map</i> has no <i>container</i> member,
+              create one and set its value to a new
+              <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with two members. The first member is
+              <code>@language</code> and its value is a new empty
+              <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, the second member is <code>@type</code>
+              and its value is a new empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+            <li>Reference the value associated with the <i>container</i> member
+              in <i>container map</i> using the variable <i>type/language map</i>.</li>
+            <li>If the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> indicates that the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+              represents a <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a>:
+              <ol class="algorithm">
+                <li>Reference the value associated with the <code>@type</code>
+                  member in <i>type/language map</i> using the variable
+                  <i>type map</i>.</li>
+                <li>If <i>type map</i> does not have an <code>@reverse</code>
+                  member, create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+              </ol>
+            </li>
+            <li>Otherwise, if <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> has a
+              <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>:
+              <ol class="algorithm">
+                <li>Reference the value associated with the <code>@type</code>
+                  member in <i>type/language map</i> using the variable
+                  <i>type map</i>.</li>
+                <li>If <i>type map</i> does not have a member corresponding
+                  to the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> in <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>,
+                  create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+              </ol>
+            </li>
+            <li>Otherwise, if <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> has a
+              <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> (might be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>):
+              <ol class="algorithm">
+                <li>Reference the value associated with the <code>@language</code>
+                  member in <i>type/language map</i> using the variable
+                  <i>language map</i>.</li>
+                <li>If the <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> equals <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+                  set <i>language</i> to <code>@null</code>; otherwise set it
+                  to the language code in <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>.</li>
+                <li>If <i>language map</i> does not have a <i>language</i> member,
+                  create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+              </ol>
+            </li>
+            <li>Otherwise:
+              <ol class="algorithm">
+                <li>Reference the value associated with the <code>@language</code>
+                  member in <i>type/language map</i> using the variable
+                  <i>language map</i>.</li>
+                <li>If <i>language map</i> does not have a <i>default language</i>
+                  member, create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+                <li>If <i>language map</i> does not have an <code>@none</code>
+                  member, create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+                <li>Reference the value associated with the <code>@type</code>
+                  member in <i>type/language map</i> using the variable
+                  <i>type map</i>.</li>
+                <li>If <i>type map</i> does not have an <code>@none</code>
+                  member, create one and set its value to the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+                  being processed.</li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Inverse Context Creation -->
+
+  <section id="iri-compaction">
+    <h3 aria-level="2" role="heading" id="h3_iri-compaction"><span class="secno">8.3 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction</h3>
+
+    <p>This algorithm compacts an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> to a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> or
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> to a
+      <a class="tref internalDFN" title="keyword-alias" href="#dfn-keyword-alias">keyword alias</a>. A value that is associated with the
+      <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> may be passed in order to assist in selecting the most
+      context-appropriate <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-7" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>If the passed <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, we simply
+        return <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. Otherwise, we first try to find a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+        that the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> can be compacted to if
+        it is relative to <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a>
+        <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>. In order to select the most appropriate
+        <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, we may have to collect information about the passed
+        <i>value</i>. This information includes which
+        <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>
+        would be preferred for expressing the <i>value</i>, and what its
+        <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> is. For
+        <a class="tref internalDFN" title="list-object" href="#dfn-list-object">JSON-LD lists</a>, the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>
+        or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> will be chosen based on the most
+        specific values that work for all items in the list. Once this
+        information is gathered, it is passed to the
+        <a href="#term-selection">Term Selection algorithm</a>, which will
+        return the most appropriate <a class="tref internalDFN" title="term" href="#dfn-term">term</a> to use.</p>
+
+      <p>If no <a class="tref internalDFN" title="term" href="#dfn-term">term</a> was found that could be used to compact the
+        <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, an attempt is made to compact the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> using the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a> <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>,
+        if there is one. If the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> could not be compacted, an
+        attempt is made to find a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>. If there is no
+        appropriate <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> is
+        transformed to a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a> using the document's
+        <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Finally, if the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+        <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> still could not be compacted, it is returned
+        as is.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-7" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>This algorithm takes three required inputs and three optional inputs.
+        The required inputs are an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, an <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+        and the <i>iri</i> to be compacted. The optional inputs are a <i>value</i> associated
+        with the <i>iri</i>, a <i>vocab</i> flag which specifies whether the
+        passed <i>iri</i> should be compacted using the
+        <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a>
+        <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>, and a <i>reverse</i> flag which specifies whether
+        a <a class="tref internalDFN" title="reverse-property" href="#dfn-reverse-property">reverse property</a> is being compacted. If not passed, <i>value</i> is set to
+        <a class="tref internalDFN" title="null" href="#dfn-null">null</a> and <i>vocab</i> and <i>reverse</i> are both set to
+        <code>false</code>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>iri</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, return <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+        <li>If <i>vocab</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and <i>iri</i> is a
+          key in <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>:
+          <ol class="algorithm">
+            <li>Initialize <i>default language</i> to
+              <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a>
+              <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>, if it has one, otherwise to
+              <code>@none</code>.</li>
+            <li>Initialize <i>containers</i> to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. This
+              <a class="tref internalDFN" title="array" href="#dfn-array">array</a> will be used to keep track of an ordered list of
+              preferred <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>
+              for a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, based on what is compatible with
+              <i>value</i>.</li>
+            <li>Initialize <i>type/language</i> to <code>@language</code>,
+              and <i>type/language value</i> to <code>@null</code>. These two
+              variables will keep track of the preferred
+              <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> for
+              a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, based on what is compatible with <i>value</i>.</li>
+            <li>If <i>value</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that contains the
+              key <code>@index</code>, then append the value <code>@index</code>
+              to <i>containers</i>.</li>
+            <li>If <i>reverse</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, set <i>type/language</i>
+              to <code>@type</code>, <i>type/language value</i> to
+              <code>@reverse</code>, and append <code>@set</code> to <i>containers</i>.</li>
+            <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, then set
+              <i>type/language</i> and <i>type/language value</i>
+              to the most specific values that work for all items in
+              the list as follows:
+              <ol class="algorithm">
+                <li>If <code>@index</code> is a not key in <i>value</i>, then
+                  append <code>@list</code> to <i>containers</i>.</li>
+                <li>Initialize <i>list</i> to the <a class="tref internalDFN" title="array" href="#dfn-array">array</a> associated
+                  with the key <code>@list</code> in <i>value</i>.</li>
+                <li>Initialize <i>common type</i> and <i>common language</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If
+                  <i>list</i> is empty, set <i>common language</i> to
+                  <i>default language</i>.</li>
+                <li>For each <i>item</i> in <i>list</i>:
+                  <ol class="algorithm">
+                    <li>Initialize <i>item language</i> to <code>@none</code> and
+                      <i>item type</i> to <code>@none</code>.</li>
+                    <li>If <i>item</i> contains the key <code>@value</code>:
+                      <ol class="algorithm">
+                        <li>If <i>item</i> contains the key <code>@language</code>,
+                          then set <i>item language</i> to its associated
+                          value.</li>
+                        <li>Otherwise, if <i>item</i> contains the key
+                          <code>@type</code>, set <i>item type</i> to its
+                          associated value.</li>
+                        <li>Otherwise, set <i>item language</i> to
+                          <code>@null</code>.</li>
+                      </ol>
+                    </li>
+                    <li>Otherwise, set <i>item type</i> to <code>@id</code>.</li>
+                    <li>If <i>common language</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it
+                      to <i>item language</i>.</li>
+                    <li>Otherwise, if <i>item language</i> does not equal
+                      <i>common language</i> and <i>item</i> contains the
+                      key <code>@value</code>, then set <i>common language</i>
+                      to <code>@none</code> because list items have conflicting
+                      languages.</li>
+                    <li>If <i>common type</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it
+                      to <i>item type</i>.</li>
+                    <li>Otherwise, if <i>item type</i> does not equal
+                      <i>common type</i>, then set <i>common type</i>
+                      to <code>@none</code> because list items have conflicting
+                      types.</li>
+                    <li>If <i>common language</i> is <code>@none</code> and
+                      <i>common type</i> is <code>@none</code>, then
+                      stop processing items in the list because it has been
+                      detected that there is no common language or type amongst
+                      the items.</li>
+                  </ol>
+                </li>
+                <li>If <i>common language</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+                  <code>@none</code>.</li>
+                <li>If <i>common type</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+                  <code>@none</code>.</li>
+                <li>If <i>common type</i> is not <code>@none</code> then set
+                  <i>type/language</i> to <code>@type</code> and
+                  <i>type/language value</i> to <i>common type</i>.</li>
+                <li>Otherwise, set <i>type/language value</i> to
+                  <i>common language</i>.</li>
+              </ol>
+            </li>
+            <li>Otherwise:
+              <ol class="algorithm">
+                <li>If <i>value</i> is a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>:
+                  <ol class="algorithm">
+                    <li>If <i>value</i> contains the key <code>@language</code>
+                      and does not contain the key <code>@index</code>,
+                      then set <i>type/language value</i> to its associated
+                      value and append <code>@language</code> to
+                      <i>containers</i>.</li>
+                    <li>Otherwise, if <i>value</i> contains the key
+                      <code>@type</code>, then set <i>type/language value</i> to
+                      its associated value and set <i>type/language</i> to
+                      <code>@type</code>.</li>
+                  </ol>
+                </li>
+                <li>Otherwise, set <i>type/language</i> to <code>@type</code>
+                  and set <i>type/language value</i> to <code>@id</code>.</li>
+                <li>Append <code>@set</code> to <i>containers</i>.</li>
+              </ol>
+            </li>
+            <li>Append <code>@none</code> to <i>containers</i>. This represents
+              the non-existence of a <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>, and it will
+              be the last <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> value to be checked as it
+              is the most generic.</li>
+            <li>If <i>type/language value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+              <code>@null</code>. This is the key under which <a class="tref internalDFN" title="null" href="#dfn-null">null</a> values
+              are stored in the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> <i>entry</i>.</li>
+            <li>Initialize <i>preferred values</i> to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.
+              This <a class="tref internalDFN" title="array" href="#dfn-array">array</a> will indicate, in order, the preferred values for
+              a <a class="tref internalDFN" title="term" href="#dfn-term">term's</a> <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or
+              <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>.</li>
+            <li>If <i>type/language value</i> is <code>@reverse</code>, append
+              <code>@reverse</code> to <i>preferred values</i>.</li>
+            <li>If <i>type/language value</i> is <code>@id</code> or <code>@reverse</code>
+              and <i>value</i> has an <code>@id</code> member:
+              <ol class="algorithm">
+                <li>If the result of using the
+                  <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> compaction algorithm</a>,
+                  passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+                  the value associated with the <code>@id</code> key in <i>value</i> for
+                  <i>iri</i>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>, and
+                  <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>document relative</i> has a
+                  <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>
+                  with an <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> that equals the value associated
+                  with the <code>@id</code> key in <i>value</i>,
+                  then append <code>@vocab</code>, <code>@id</code>, and
+                  <code>@none</code>, in that order, to <i>preferred values</i>.</li>
+                <li>Otherwise, append <code>@id</code>, <code>@vocab</code>, and
+                  <code>@none</code>, in that order, to <i>preferred values</i>.</li>
+              </ol>
+            </li>
+            <li>Otherwise, append <i>type/language value</i> and <code>@none</code>, in
+              that order, to <i>preferred values</i>.</li>
+            <li>Initialize <i>term</i> to the result of the
+              <a href="#term-selection">Term Selection algorithm</a>, passing
+              <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, <i>iri</i>, <i>containers</i>,
+              <i>type/language</i>, and <i>preferred values</i>.</li>
+            <li>If <i>term</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, return <i>term</i>.</li>
+          </ol>
+        </li>
+        <li>At this point, there is no simple <a class="tref internalDFN" title="term" href="#dfn-term">term</a> that <i>iri</i>
+          can be compacted to. If <i>vocab</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has a <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>:
+          <ol class="algorithm">
+            <li>If <i>iri</i> begins with the
+              <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping's</a> value
+              but is longer, then initialize <i>suffix</i> to the substring
+              of <i>iri</i> that does not match. If <i>suffix</i> does not
+              have a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+              then return <i>suffix</i>.</li>
+          </ol>
+        </li>
+        <li>The <i>iri</i> could not be compacted using the
+          <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a> <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a>.
+          Try to create a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, starting by initializing
+          <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. This variable will be used to
+          tore the created <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, if any.</li>
+        <li>For each key <a class="tref internalDFN" title="term" href="#dfn-term">term</a> and value <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in
+          the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>:
+          <ol class="algorithm">
+            <li>If the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> contains a colon (<code>:</code>),
+              then continue to the next <a class="tref internalDFN" title="term" href="#dfn-term">term</a> because
+              <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> with colons can't be
+              used as <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefixes</a>.</li>
+            <li>If the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+              its <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> equals <i>iri</i>, or its
+              <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a> is not a substring at the beginning of
+              <i>iri</i>, the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> cannot be used as a <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a>
+              because it is not a partial match with <i>iri</i>.
+              Continue with the next <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.</li>
+            <li>Initialize <i>candidate</i> by concatenating <a class="tref internalDFN" title="term" href="#dfn-term">term</a>,
+              a colon (<code>:</code>), and the substring of <i>iri</i>
+              that follows after the value of the
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition's</a>
+              <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>.</li>
+            <li>If either <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> or <i>candidate</i> is
+              shorter or the same length but lexicographically less than
+              <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i> and <i>candidate</i> does not have a
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> or if the
+              <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> has an <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>
+              that equals <i>iri</i> and <i>value</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+              set <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i> to <i>candidate</i>.</li>
+          </ol>
+        </li>
+        <li>If <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, return <i>compact <abbr title="Internationalized Resource Identifier">IRI</abbr></i>.</li>
+        <li>If <i>vocab</i> is <a class="tref internalDFN" title="false" href="#dfn-false">false</a> then
+          transform <i>iri</i> to a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a> using
+          the document's base <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+        <li>Finally, return <i>iri</i> as is.</li>
+      </ol>
+    </section>
+  </section> <!-- end of IRI Compaction -->
+
+  <section id="term-selection">
+    <h3 aria-level="2" role="heading" id="h3_term-selection"><span class="secno">8.4 </span>Term Selection</h3>
+
+    <p>This algorithm, invoked via the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>,
+      makes use of an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a>
+      <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a> to find the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> that is best
+      used to <a class="tref internalDFN" title="compaction" href="#dfn-compaction">compact</a> an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Other
+      information about a value associated with the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> is given,
+      including which <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>
+      and which <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> would
+      be best used to express the value.</p>
+
+    <section class="informative">
+      <h4 id="overview-8" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context's</a> entry for
+        the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> will be first searched according to the preferred
+        <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>, in the order
+        that they are given. Amongst <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> with a matching
+        <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>, preference will be given to those
+        with a matching <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>,
+        over those without a <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or
+        <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>. If there is no <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+        with a matching <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> then the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+        without a <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> that matches the given
+        <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> is selected. If
+        there is still no selected <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, then a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+        with no <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> will
+        be selected if available. No <a class="tref internalDFN" title="term" href="#dfn-term">term</a> will be selected that
+        has a conflicting <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>.
+        Ties between <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> that have the same
+        mappings are resolved by first choosing the shortest terms, and then by
+        choosing the lexicographically least term. Note that these ties are
+        resolved automatically because they were previously resolved when the
+        <a href="#inverse-context-creation">Inverse Context Creation algorithm</a>
+        was used to create the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-8" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>This algorithm has five required inputs. They are:
+        an <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>, a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> or <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        <i>iri</i>, an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>containers</i> that represents an
+        ordered list of preferred <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mappings</a>,
+        a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> <i>type/language</i> that indicates whether
+        to look for a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> with a matching <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>
+        or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>, and an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> representing
+        an ordered list of <i>preferred values</i> for the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a>
+        or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> to look for.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>container map</i> to the value associated with
+          <i>iri</i> in the <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>.</li>
+        <li>For each item <i>container</i> in <i>containers</i>:
+          <ol class="algorithm">
+            <li>If <i>container</i> is not a key in <i>container map</i>, then
+              there is no <a class="tref internalDFN" title="term" href="#dfn-term">term</a> with a matching
+              <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> for it, so continue to the next
+              <i>container</i>.</li>
+            <li>Initialize <i>type/language map</i> to the value associated
+              with the <i>container</i> member in <i>container map</i>.</li>
+            <li>Initialize <i>value map</i> to the value associated
+              with <i>type/language</i> member in <i>type/language map</i>.</li>
+            <li>For each <i>item</i> in <i>preferred values</i>:
+              <ol class="algorithm">
+                <li>If <i>item</i> is not a key in <i>value map</i>,
+                  then there is no <a class="tref internalDFN" title="term" href="#dfn-term">term</a> with a matching
+                  <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a>,
+                  so continue to the next <i>item</i>.</li>
+                <li>Otherwise, a matching term has been found, return the value
+                  associated with the <i>item</i> member in
+                  <i>value map</i>.</li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>No matching term has been found. Return <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Term Selection -->
+
+  <section id="value-compaction">
+    <h3 aria-level="2" role="heading" id="h3_value-compaction"><span class="secno">8.5 </span>Value Compaction</h3>
+
+    <p><a class="tref internalDFN" title="expansion" href="#dfn-expansion">Expansion</a> transforms all values into <a class="tref internalDFN" title="expanded-form" href="#dfn-expanded-form">expanded form</a>
+      in JSON-LD. This algorithm performs the opposite operation, transforming
+      a value into <dfn title="compacted-form" id="dfn-compacted-form">compacted form</dfn>. This algorithm compacts a
+      value according to the <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> in the given
+      <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> that is associated with the value's associated
+      <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-9" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The <i>value</i> to compact has either an <code>@id</code> or an
+        <code>@value</code> member.</p>
+
+      <p>For the former case, if the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> of
+        <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is set to <code>@id</code> or <code>@vocab</code>
+        and <i>value</i> consists of only an <code>@id</code> member and, if
+        the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+        is set to <code>@index</code>, an <code>@index</code> member, <i>value</i>
+        can be compacted to a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> by returning the result of
+        using the <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> Compaction algorithm</a>
+        to compact the value associated with the <code>@id</code> member.
+        Otherwise, <i>value</i> cannot be compacted and is returned as is.</p>
+
+      <p>For the latter case, it might be possible to compact <i>value</i>
+        just into the value associated with the <code>@value</code> member.
+        This can be done if the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> has a matching
+        <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> or <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> and there
+        is either no <code>@index</code> member or the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>
+        of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is set to <code>@index</code>. It can
+        also be done if <code>@value</code> is the only member in <i>value</i>
+        (apart an <code>@index</code> member in case the <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a>
+        of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is set to <code>@index</code>) and
+        either its associated value is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, there is
+        no <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>, or there is an explicit
+        <a class="tref internalDFN" title="null" href="#dfn-null">null</a> <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> for the
+        <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-9" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>This algorithm has four required inputs: an <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, an
+        <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,  an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and a <i>value</i>
+        to be compacted.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>number members</i> to the number of members
+          <i>value</i> contains.</li>
+        <li>If <i>value</i> has an <code>@index</code> member and the
+          <a class="tref internalDFN" title="container-mapping" href="#dfn-container-mapping">container mapping</a> associated to <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+          is set to <code>@index</code>, decrease <i>number members</i> by
+          <code>1</code>.</li>
+        <li>If <i>number members</i> is greater than <code>2</code>, return
+          <i>value</i> as it cannot be compacted.</li>
+        <li>If <i>value</i> has an <code>@id</code> member:
+          <ol class="algorithm">
+            <li>If <i>number members</i> is <code>1</code> and
+              the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+              is set to <code>@id</code>, return the result of using the
+              <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> compaction algorithm</a>,
+              passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+              and the value of the <code>@id</code> member for <i>iri</i>.</li>
+            <li>Otherwise, if <i>number members</i> is <code>1</code> and
+              the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+              is set to <code>@vocab</code>, return the result of using the
+              <a href="#iri-compaction"><abbr title="Internationalized Resource Identifier">IRI</abbr> compaction algorithm</a>,
+              passing <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, <a class="tref internalDFN" title="inverse-context" href="#dfn-inverse-context">inverse context</a>,
+              the value of the <code>@id</code> member for <i>iri</i>, and
+              <a class="tref internalDFN" title="true" href="#dfn-true">true</a> for <i>vocab</i>.</li>
+            <li>Otherwise, return <i>value</i> as is.</li>
+          </ol>
+        </li>
+        <li>Otherwise, if <i>value</i> has an <code>@type</code> member whose
+          value matches the <a class="tref internalDFN" title="type-mapping" href="#dfn-type-mapping">type mapping</a> of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>,
+          return the value associated with the <code>@value</code> member
+          of <i>value</i>.</li>
+        <li>Otherwise, if <i>value</i> has an <code>@language</code> member whose
+          value matches the <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> of
+          <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, return the value associated with the
+          <code>@value</code> member of <i>value</i>.</li>
+        <li>Otherwise, if <i>number members</i> equals <code>1</code> and either
+          the value of the <code>@value</code> member is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>,
+          or the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> has no <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a>,
+          or the <a class="tref internalDFN" title="language-mapping" href="#dfn-language-mapping">language mapping</a> of <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+          is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,, return the value associated with the
+          <code>@value</code> member.</li>
+        <li>Otherwise, return <i>value</i> as is.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Value Compaction algorithm -->
+</section> <!-- end of Compaction section -->
+
+
+<section id="flattening-algorithms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_flattening-algorithms"><span class="secno">9. </span>Flattening Algorithms</h2>
+
+  <section id="flattening-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_flattening-algorithm"><span class="secno">9.1 </span>Flattening Algorithm</h3>
+
+    <p>This algorithm flattens an expanded JSON-LD document by collecting all
+      properties of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in a single <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+      and labeling all <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a> with
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>.
+      This resulting uniform shape of the document, may drastically simplify
+      the code required to process JSON-LD data in certain applications.</p>
+
+    <section class="informative">
+      <h4 id="overview-10" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>First, a <i>node map</i> is generated using the
+        <a href="#node-map-generation">Node Map Generation algorithm</a>
+        which collects all properties of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in a single
+        <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. In the next step, the <i>node map</i> is
+        converted to a JSON-LD document in
+        <a class="tref externalDFN" title="flattened-document-form" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#flattened-document-form">flattened document form</a>.
+        Finally, if a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> has been passed, the flattened document
+        is compacted using the <a href="#compaction-algorithm">Compaction algorithm</a>
+        before being returned.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-10" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes two input variables, an <i>element</i> to flatten and
+        an optional <i>context</i> used to compact the flattened document. If not
+        passed, <i>context</i> is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+      <p>This algorithm generates new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>
+        and relabels existing <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>.
+        The used <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>
+        keeps an <i>identifier map</i> and a <i>counter</i> to ensure consistent
+        relabeling and avoid collisions. Thus, before this algorithm is run,
+        the <i>identifier map</i> is reset and the <i>counter</i> is initialized
+        to <code>0</code>.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>node map</i> to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting of
+          a single member whose key is <code>@default</code> and whose value is
+          an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>Perform the <a href="#node-map-generation">Node Map Generation algorithm</a>, passing
+          <i>element</i> and <i>node map</i>.</li>
+        <li>Initialize <i>default graph</i> to the value of the <code>@default</code>
+          member of <i>node map</i>, which is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> representing
+          the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a>.</li>
+        <li>For each key-value pair <i>graph name</i>-<i>graph</i> in <i>node map</i>
+          where <i>graph name</i> is not <code>@default</code>,  perform the following steps:
+          <ol class="algorithm">
+            <li>If <i>default graph</i> does not have a <i>graph name</i> member, create
+              one and initialize its value to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting of an
+              <code>@id</code> member whose value is set to <i>graph name</i>.</li>
+            <li>Reference the value associated with the <i>graph name</i> member in
+              <i>default graph</i> using the variable <i>entry</i>.</li>
+            <li>Add an <code>@graph</code> member to <i>entry</i> and set it to an
+              empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+            <li>For each <i>id</i>-<i>node</i> pair in <i>graph</i> ordered by <i>id</i>,
+              add <i>node</i> to the <code>@graph</code> member of <i>entry</i>,
+              unless the only member of <i>node</i> is <code>@id</code>.</li>
+          </ol>
+        </li>
+        <li>Initialize an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>flattened</i>.</li>
+        <li>For each <i>id</i>-<i>node</i> pair in <i>default graph</i> ordered by <i>id</i>,
+          add <i>node</i> to <i>flattened</i>,
+          unless the only member of <i>node</i> is <code>@id</code>.</li>
+        <li>If <i>context</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, return <i>flattened</i>.</li>
+        <li>Otherwise, return the result of compacting <i>flattened</i> according the
+          <a href="#compaction-algorithm">Compaction algorithm</a> passing <i>context</i>
+          ensuring that the compaction result has only the <code>@graph</code> keyword (or its alias)
+          at the top-level other than <code>@context</code>, even if the context is empty or if there is only one element to
+          put in the <code>@graph</code> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. This ensures that the returned
+          document has a deterministic structure.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Flattening Algorithm -->
+
+  <section id="node-map-generation">
+    <h3 aria-level="2" role="heading" id="h3_node-map-generation"><span class="secno">9.2 </span>Node Map Generation</h3>
+
+    <p>This algorithm creates a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>node map</i> holding an indexed
+      representation of the <a class="tref internalDFN" title="graph" href="#dfn-graph">graphs</a> and <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>
+      represented in the passed expanded document. All <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> that are not
+      uniquely identified by an <abbr title="Internationalized Resource Identifier">IRI</abbr> get assigned a (new) <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.
+      The resulting <i>node map</i> will have a member for every graph in the document whose
+      value is another object with a member for every <a class="tref internalDFN" title="node" href="#dfn-node">node</a> represented in the document.
+      The default graph is stored under the <code>@default</code> member, all other graphs are
+      stored under their <a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">graph name</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-11" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The algorithm recursively runs over an expanded JSON-LD document to
+        collect all <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a>
+        in a single <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. The algorithm constructs a
+        <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>node map</i> whose keys represent the
+        <a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">graph names</a> used in the document
+        (the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> is stored under the key <code>@default</code>)
+        and whose associated values are <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a>
+        which index the <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> in the
+        <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>. If a
+        <a class="tref internalDFN" title="property" href="#dfn-property">property's</a> value is a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>,
+        it is replaced by a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> consisting of only an
+        <code>@id</code> member. If a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> has no <code>@id</code>
+        member or it is identified by a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+        a new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> is generated. This relabeling
+        of <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a> is
+        also done for <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> and values of
+        <code>@type</code>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-11" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes as input an expanded JSON-LD document <i>element</i> and a reference to
+        a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>node map</i>. Furthermore it has the optional parameters
+        <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a> (which defaults to <code>@default</code>), an <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>,
+        <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and a reference to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>list</i>. If
+        not passed, <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>, <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>list</i> are
+        set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>element</i> is an array, process each <i>item</i> in <i>element</i>
+          as follows and then return:
+          <ol class="algorithm">
+            <li>Run this algorithm recursively by passing <i>item</i> for <i>element</i>,
+              <i>node map</i>, <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a>, <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>,
+              <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and <i>list</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise <i>element</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. Reference the
+          <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> which is the value of the <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a>
+          member of <i>node map</i> using the variable <i>graph</i>. If the
+          <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set <i>node</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>
+          otherwise reference the <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> member of <i>graph</i> using the
+          variable <i>node</i>.</li>
+        <li>If <i>element</i> has an <code>@type</code> member, perform for each
+          <i>item</i> the following steps:
+          <ol class="algorithm">
+            <li>If <i>item</i> is a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, replace it with a newly
+              <a href="#generate-blank-node-identifier">generated blank node identifier</a>
+              passing <i>item</i> for <i>identifier</i>.</li>
+          </ol>
+        </li>
+        <li>If <i>element</i> has an <code>@value</code> member, perform the following steps:
+          <ol class="algorithm">
+            <li>If <i>list</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>:
+              <ol class="algorithm">
+                <li>If <i>node</i> does not have an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> member,
+                  create one and initialize its value to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                  containing <i>element</i>.</li>
+                <li>Otherwise, compare <i>element</i> against every item in the
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a> associated with the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+                  member of <i>node</i>. If there is no item equivalent to <i>element</i>,
+                  append <i>element</i> to the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Two
+                  <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a> are considered
+                  equal if they have equivalent key-value pairs.</li>
+              </ol>
+            </li>
+            <li>Otherwise, append <i>element</i> to the <code>@list</code> member of <i>list</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise, if <i>element</i> has an <code>@list</code> member, perform
+          the following steps:
+          <ol class="algorithm">
+            <li>Initialize a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>result</i> consisting of a single member
+              <code>@list</code> whose value is initialized to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+            <li>Recursively call this algorithm passing the value of <i>element's</i>
+              <code>@list</code> member for <i>element</i>, <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a>,
+              <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>, <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>, and
+              <i>result</i> for <i>list</i>.</li>
+            <li>Append <i>result</i> to the value of the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> member
+              of <i>node</i>.</li>
+          </ol>
+        </li>
+        <li>Otherwise <i>element</i> is a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>, perform
+          the following steps:
+          <ol class="algorithm">
+            <li>If <i>element</i> has an <code>@id</code> member, set <i>id</i>
+              to its value and remove the member from <i>element</i>. If <i>id</i>
+              is a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, replace it with a newly
+              <a href="#generate-blank-node-identifier">generated blank node identifier</a>
+              passing <i>id</i> for <i>identifier</i>.</li>
+            <li>Otherwise, set <i>id</i> to the result of the
+              <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>
+              passing <a class="tref internalDFN" title="null" href="#dfn-null">null</a> for <i>identifier</i>.</li>
+            <li>If <i>graph</i> does not contain a member <i>id</i>, create one and initialize
+              its value to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting of a single member <code>@id</code> whose
+              value is <i>id</i>.</li>
+            <li>Reference the value of the <i>id</i> member of <i>graph</i> using the
+              variable <i>node</i>.</li>
+            <li>If <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, a reverse property relationship
+              is being processed. Perform the following steps:
+              <ol class="algorithm">
+                <li>If <i>node</i> does not have an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> member,
+                  create one and initialize its value to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                  containing <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>.</li>
+                <li>Otherwise, compare <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> against every item in the
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a> associated with the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+                  member of <i>node</i>. If there is no item equivalent to <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>,
+                  append <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> to the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Two
+                  <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a> are considered
+                  equal if they have equivalent key-value pairs.</li>
+              </ol>
+            </li>
+            <li>Otherwise, if <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, perform the following steps:
+              <ol class="algorithm">
+                <li>Create a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>reference</i> consisting of a single member
+                  <code>@id</code> whose value is <i>id</i>.</li>
+                <li>If <i>list</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>:
+                  <ol class="algorithm">
+                    <li>If <i>node</i> does not have an <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a> member,
+                      create one and initialize its value to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                      containing <i>reference</i>.</li>
+                    <li>Otherwise, compare <i>reference</i> against every item in the
+                      <a class="tref internalDFN" title="array" href="#dfn-array">array</a> associated with the <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>
+                      member of <i>node</i>. If there is no item equivalent to <i>reference</i>,
+                      append <i>reference</i> to the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Two
+                      <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a> are considered
+                      equal if they have equivalent key-value pairs.</li>
+                  </ol>
+                </li>
+                <li>Otherwise, append <i>element</i> to the <code>@list</code> member of <i>list</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>element</i> has an <code>@type</code> key, append
+              each item of its associated <a class="tref internalDFN" title="array" href="#dfn-array">array</a> to the
+              <a class="tref internalDFN" title="array" href="#dfn-array">array</a> associated with the <code>@type</code> key of
+              <i>node</i> unless it is already in that <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Finally
+              remove the <code>@type</code> member from <i>element</i>.</li>
+            <li>If <i>element</i> has an <code>@index</code> member, set the <code>@index</code>
+              member of <i>node</i> to its value. If <a class="tref internalDFN" title="node" href="#dfn-node">node</a> has already an
+              <code>@index</code> member with a different value, a
+              <code class="error"><a href="#idl-def-JsonLdErrorCode.conflicting-indexes">conflicting indexes</a></code>
+              error has been detected and processing is aborted. Otherwise, continue by
+              removing the <code>@index</code> member from <i>element</i>.</li>
+            <li>If <i>element</i> has an <code>@reverse</code> member:
+              <ol class="algorithm">
+                <li>Create a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> <i>referenced node</i> with a single member <code>@id</code> whose
+                  value is <i>id</i>.</li>
+                <li>Set <i>reverse map</i> to the value of the <code>@reverse</code> member of
+                  <i>element</i>.</li>
+                <li>For each key-value pair <i>property</i>-<i>values</i> in <i>reverse map</i>:
+                  <ol class="algorithm">
+                    <li>For each <i>value</i> of <i>values</i>:
+                      <ol class="algorithm">
+                        <li>Recursively invoke this algorithm passing <i>value</i> for
+                          <i>element</i>, <i>node map</i>, <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a>,
+                          <i>referenced node</i> for <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>, and
+                          <i>property</i> for <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>. Passing a
+                          <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> for <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a> indicates to the
+                          algorithm that a reverse property relationship is being processed.</li>
+                      </ol>
+                    </li>
+                  </ol>
+                </li>
+                <li>Remove the <code>@reverse</code> member from <i>element</i>.</li>
+              </ol>
+            </li>
+            <li>If <i>element</i> has an <code>@graph</code> member, recursively invoke this
+              algorithm passing the value of the <code>@graph</code> member for <i>element</i>,
+              <i>node map</i>, and <i>id</i> for <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a> before removing
+              the <code>@graph</code> member from <i>element</i>.</li>
+            <li>Finally, for each key-value pair <i>property</i>-<i>value</i> in <i>element</i> ordered by
+              <i>property</i> perform the following steps:
+              <ol class="algorithm">
+                <li>If <i>property</i> is a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, replace it with a newly
+                  <a href="#generate-blank-node-identifier">generated blank node identifier</a>
+                  passing <i>property</i> for <i>identifier</i>.</li>
+                <li>If <i>node</i> does not have a <i>property</i> member, create one and initialize
+                  its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>Recursively invoke this algorithm passing <i>value</i> for <i>element</i>,
+                  <i>node map</i>, <a class="tref internalDFN" title="active-graph" href="#dfn-active-graph">active graph</a>, <i>id</i> for <a class="tref internalDFN" title="active-subject" href="#dfn-active-subject">active subject</a>,
+                  and <i>property</i> for <a class="tref internalDFN" title="active-property" href="#dfn-active-property">active property</a>.</li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+      </ol>
+    </section>
+  </section> <!-- end of Node Map Generation -->
+
+  <section id="generate-blank-node-identifier">
+    <h3 aria-level="2" role="heading" id="h3_generate-blank-node-identifier"><span class="secno">9.3 </span>Generate Blank Node Identifier</h3>
+
+    <p>This algorithm is used to generate new
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a> or to
+      relabel an existing <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> to avoid collision
+      by the introduction of new ones.</p>
+
+    <section class="informative">
+      <h4 id="overview-12" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The simplest case is if there exists already a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>
+        in the <i>identifier map</i> for the passed <i>identifier</i>, in which
+        case it is simply returned. Otherwise, a new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>
+        is generated by concatenating the string <code>_:b</code> and the
+        <i>counter</i>. If the passed <i>identifier</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+        an entry is created in the <i>identifier map</i> associating the
+        <i>identifier</i> with the <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. Finally,
+        the <i>counter</i> is increased by one and the new
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> is returned.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-12" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes a single input variable <i>identifier</i> which may
+        be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. Between its executions, the algorithm needs to
+        keep an <i>identifier map</i> to relabel existing
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>
+        consistently and a <i>counter</i> to generate new
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>. The
+        <i>counter</i> is initialized to <code>0</code> by default.</p>
+
+      <ol class="algorithm">
+        <li>If <i>identifier</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a> and has an entry in the
+          <i>identifier map</i>, return the mapped identifier.</li>
+        <li>Otherwise, generate a new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> by concatenating
+          the string <code>_:b</code> and <i>counter</i>.</li>
+        <li>Increment <i>counter</i> by <code>1</code>.</li>
+        <li>If <i>identifier</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, create a new entry
+          for <i>identifier</i> in <i>identifier map</i> and set its value
+          to the new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</li>
+        <li>Return the new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Generate Blank Node Identifier -->
+</section> <!-- end of Flattening section -->
+
+
+<section id="rdf-serialization-deserialization-algorithms">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_rdf-serialization-deserialization-algorithms"><span class="secno">10. </span>RDF Serialization/Deserialization Algorithms</h2>
+
+  <p>This section describes algorithms to deserialize a JSON-LD document to an
+    <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a> and vice versa. The algorithms are designed for in-memory
+    implementations with random access to <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> elements.</p>
+
+  <p>Throughout this section, the following vocabulary
+    <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefixes</a> are used in
+    <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>:</p>
+
+  <table class="simple">
+    <thead>
+      <tr><th>Prefix</th>
+      <th><abbr title="Internationalized Resource Identifier">IRI</abbr></th>
+    </tr></thead>
+    <tbody>
+      <tr>
+        <td>rdf</td>
+        <td>http://www.w3.org/1999/02/22-rdf-syntax-ns#</td>
+      </tr>
+      <tr>
+        <td>rdfs</td>
+        <td> http://www.w3.org/2000/01/rdf-schema#</td>
+      </tr>
+      <tr>
+        <td>xsd</td>
+        <td>http://www.w3.org/2001/XMLSchema#</td>
+      </tr>
+    </tbody>
+  </table>
+
+  <section id="deserialize-json-ld-to-rdf-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_deserialize-json-ld-to-rdf-algorithm"><span class="secno">10.1 </span>Deserialize JSON-LD to RDF algorithm</h3>
+
+    <p>This algorithm deserializes a JSON-LD document to an <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a>.
+      Please note that RDF does not allow a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> to be used
+      as a <a class="tref internalDFN" title="property" href="#dfn-property">property</a>, while JSON-LD does.  Therefore, by default
+      RDF triples that would have contained blank nodes as properties are
+      discarded when interpreting JSON-LD as RDF.</p>
+
+    <section class="informative">
+      <h4 id="overview-13" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The JSON-LD document is expanded and converted to a <i>node map</i> using the
+        <a href="#node-map-generation">Node Map Generation algorithm</a>.
+        This allows each graph represented within the document to be
+        extracted and flattened, making it easier to process each
+        <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>. Each graph from the <i>node map</i>
+        is processed to extract <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triples</a>,
+        to which any (non-default) graph name is applied to create an
+        <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a>. Each <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> in the
+        <i>node map</i> has an <code>@id</code> member which corresponds to the
+        <a class="tref internalDFN" title="rdf-subject" href="#dfn-rdf-subject">RDF subject</a>, the other members
+        represent <a class="tref internalDFN" title="rdf-predicate" href="#dfn-rdf-predicate">RDF predicates</a>. Each
+        member value is either an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> or can be transformed to an
+        <a class="tref externalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literal</a>
+        to generate an <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triple</a>. <a class="tref internalDFN" title="list" href="#dfn-list">Lists</a>
+        are transformed into an
+        <a class="tref externalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF Collection</a>
+        using the <a href="#list-to-rdf-conversion">List to RDF Conversion algorithm.</a></p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-13" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes a JSON-LD document <i>element</i> and returns an
+        <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a>. Unless the <i>produce generalized RDF</i> flag
+        is set to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triples</a>
+        containing a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> <a class="tref internalDFN" title="rdf-predicate" href="#dfn-rdf-predicate">predicate</a>
+        are excluded from output.</p>
+
+      <p>This algorithm generates new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>
+        and relabels existing <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>.
+        The used <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>
+        keeps an <i>identifier map</i> and a <i>counter</i> to ensure consistent
+        relabeling and avoid collisions. Thus, before this algorithm is run,
+        the <i>identifier map</i> is reset and the <i>counter</i> is initialized
+        to <code>0</code>.</p>
+
+      <ol class="algorithm">
+        <li>Expand <i>element</i> according to the
+          <a href="#expansion-algorithm">Expansion algorithm</a>.</li>
+        <li>Generate a <i>node map</i> according to the
+          <a href="#node-map-generation">Node Map Generation algorithm</a>.</li>
+        <li>Initialize an empty <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a> <i>dataset</i>.</li>
+        <li>For each <i>graph name</i> and <i>graph</i> in <i>node map</i>
+          ordered by <i>graph name</i>:
+          <ol class="algorithm">
+            <li>If <i>graph name</i> is a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, continue
+              with the next <i>graph name</i>-<i>graph</i> pair.</li>
+            <li>Initialize <i>triples</i> as an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+            <li>For each <i>subject</i> and <i>node</i> in <i>graph</i> ordered
+              by <i>subject</i>:
+              <ol class="algorithm">
+                <li>If <i>subject</i> is a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, continue
+                  with the next <i>subject</i>-<i>node</i> pair.</li>
+                <li>For each <i>property</i> and <i>values</i> in <i>node</i>
+                  ordered by <i>property</i>:
+                  <ol class="algorithm">
+                    <li>If <i>property</i> is <code>@type</code>, then for each
+                      <i>type</i> in <i>values</i>, append a <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a>
+                      composed of <i>subject</i>, <code>rdf:type</code>,
+                      and <i>type</i> to <i>triples</i>.</li>
+                    <li>Otherwise, if <i>property</i> is a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>
+                      continue with the next <i>property</i>-<i>values</i> pair.</li>
+                    <li>Otherwise, if <i>property</i> is a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> and
+                      the <i>produce generalized RDF</i> flag is not <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+                      continue with the next <i>property</i>-<i>values</i> pair.</li>
+                    <li>Otherwise, if <i>property</i> is a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+                      continue with the next <i>property</i>-<i>values</i> pair.</li>
+                    <li>Otherwise, <i>property</i> is an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+                      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. For each <i>item</i>
+                      in <i>values</i>:
+                      <ol class="algorithm">
+                        <li>If <i>item</i> is a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>, initialize
+                          <i>list triples</i> as an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a> and
+                          <i>list head</i> to the result of the <a href="#list-to-rdf-conversion">List Conversion algorithm</a>, passing
+                          the value associated with the <code>@list</code> key from
+                          <i>item</i> and <i>list triples</i>. Append first a
+                          <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a> composed of <i>subject</i>,
+                          <i>property</i>, and <i>list head</i> to <i>triples</i> and
+                          finally append all <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triples</a> from
+                          <i>list triples</i> to <i>triples</i>.</li>
+                        <li>Otherwise, <i>item</i> is a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>
+                          or a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>. Append a <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a>
+                          composed of <i>subject</i>, <i>property</i>, and
+                          the result of using the
+                          <a href="#object-to-rdf-conversion">Object to RDF Conversion algorithm</a>
+                          passing <i>item</i> to <i>triples</i>, unless the result is
+                          <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, indicating a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a> that has
+                          to be ignored.</li>
+                      </ol>
+                    </li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+            <li>If <i>graph name</i> is <code>@default</code>, add
+              <i>triples</i> to the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> in <i>dataset</i>.</li>
+            <li>Otherwise, create a <a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">named graph</a> in <i>dataset</i>
+              composed of <i>graph name</i> and add <i>triples</i>.</li>
+          </ol>
+        </li>
+        <li>Return <i>dataset</i>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Deserialize JSON-LD to RDF algorithm -->
+
+  <section id="object-to-rdf-conversion">
+    <h3 aria-level="2" role="heading" id="h3_object-to-rdf-conversion"><span class="secno">10.2 </span>Object to RDF Conversion</h3>
+
+    <p>This algorithm takes a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> or <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>
+      and transforms it into an
+      <a class="tref externalDFN" title="rdf-resource" href="http://www.w3.org/TR/rdf11-concepts/#dfn-resource">RDF resource</a>
+      to be used as the <a class="tref internalDFN" title="object" href="http://www.w3.org/TR/rdf11-concepts/#dfn-object">object</a> of an <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triple</a>. If a
+      <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> containing a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a> is passed to
+      the algorithm, <a class="tref internalDFN" title="null" href="#dfn-null">null</a> is returned which then causes the resulting
+      <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triple</a> to be ignored.</p>
+
+    <section class="informative">
+      <h4 id="overview-14" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p><a class="tref internalDFN" title="value-object" href="#dfn-value-object">Value objects</a> are transformed to
+        <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a> as described in
+        <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>
+        whereas <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> are transformed
+        to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>,
+        or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-14" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes as its sole argument <i>item</i> which must be
+        either a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> or <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>item</i> is a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> and the value of
+          its <code>@id</code> member is a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, return
+          <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</li>
+        <li>If <i>item</i> is a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>, return the
+          <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> associated
+          with its <code>@id</code> member.</li>
+        <li>Otherwise, <i>item</i> is a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>. Initialize
+          <i>value</i> to the value associated with the <code>@value</code>
+          member in <i>item</i>.
+        </li><li>Initialize <i>datatype</i> to the value associated with the
+          <code>@type</code> member of <i>item</i> or  <a class="tref internalDFN" title="null" href="#dfn-null">null</a> if
+          <i>item</i> does not have such a member.</li>
+        <li>If <i>value</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a> or
+          <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, set <i>value</i> to the <a class="tref internalDFN" title="string" href="#dfn-string">string</a>
+          <code>true</code> or <code>false</code> which is the
+          <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> as described in
+          <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>
+          If <i>datatype</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+          <code>xsd:boolean</code>.</li>
+        <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="number" href="#dfn-number">number</a> with a non-zero fractional
+          part (the result of a modulo‑1 operation) or <i>value</i> is a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>
+          and <i>datatype</i> equals <code>xsd:double</code>, convert <i>value</i> to a
+          <a class="tref internalDFN" title="string" href="#dfn-string">string</a> in <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> of
+          an <code>xsd:double</code> as defined in [<cite><a class="bibref" href="#bib-XMLSCHEMA11-2">XMLSCHEMA11-2</a></cite>]
+          and described in
+          <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>.
+          If <i>datatype</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+          <code>xsd:double</code>.</li>
+        <li>Otherwise, if <i>value</i> is a <a class="tref internalDFN" title="number" href="#dfn-number">number</a> with no non-zero
+          fractional part (the result of a modulo‑1 operation) or <i>value</i>
+          is a <a class="tref internalDFN" title="number" href="#dfn-number">number</a> and <i>datatype</i>
+          equals <code>xsd:integer</code>, convert <i>value</i> to a
+          <a class="tref internalDFN" title="string" href="#dfn-string">string</a> in <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> of
+          an <code>xsd:integer</code> as defined in [<cite><a class="bibref" href="#bib-XMLSCHEMA11-2">XMLSCHEMA11-2</a></cite>]
+          and described in
+          <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>.
+          If <i>datatype</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+          <code>xsd:integer</code>.</li>
+        <li>Otherwise, if <i>datatype</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, set it to
+          <code>xsd:string</code> or <code>rdf:langString</code>, depending on if
+          item has an <code>@language</code> member.</li>
+        <li>Initialize <i>literal</i> as an <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literal</a> using
+          <i>value</i> and <i>datatype</i>. If <i>item</i> has an
+          <code>@language</code> member, add the value associated with the
+          <code>@language</code> key as the language tag of <i>literal</i>.</li>
+        <li>Return <i>literal</i>.</li>
+
+      </ol>
+    </section>
+  </section> <!-- end of Object to RDF Conversion -->
+
+  <section id="list-to-rdf-conversion">
+    <h3 aria-level="2" role="heading" id="h3_list-to-rdf-conversion"><span class="secno">10.3 </span>List to RDF Conversion</h3>
+
+    <p>List Conversion is the process of taking a <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>
+      and transforming it into an
+      <a class="tref externalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF Collection</a>
+      as defined in RDF Semantics [<cite><a class="bibref" href="#bib-RDF11-MT">RDF11-MT</a></cite>].</p>
+
+    <section class="informative">
+      <h4 id="overview-15" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>For each element of the <a class="tref internalDFN" title="list" href="#dfn-list">list</a> a new <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>
+        is allocated which is used to generate <code>rdf:first</code> and
+        <code>rdf:rest</code> <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">triples</a>. The
+        algorithm returns the list head, which is either the first allocated
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> or <code>rdf:nil</code> if the
+        <a class="tref internalDFN" title="list" href="#dfn-list">list</a> is empty. If a list element represents a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+        the corresponding <code>rdf:first</code> triple is omitted.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-15" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes two inputs: an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>list</i>
+        and an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>list triples</i> used for returning
+        the generated <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">triples</a>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>list</i> is empty, return <code>rdf:nil</code>.</li>
+        <li>Otherwise, create an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>bnodes</i> composed of a
+          <a href="#generate-blank-node-identifier">newly generated blank node identifier</a>
+          for each entry in <i>list</i>.</li>
+        <li>Initialize an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>list triples</i>.</li>
+        <li>For each pair of <i>subject</i> from <i>bnodes</i> and <i>item</i> from <i>list</i>:
+          <ol class="algorithm">
+            <li>Initialize <i>object</i> to the result of using the
+              <a href="#object-to-rdf-conversion">Object to RDF Conversion algorithm</a>
+              passing <i>item</i> to <i>list triples</i>.</li>
+            <li>Unless <i>object</i> is <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, append a <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a>
+              composed of <i>subject</i>, <code>rdf:first</code>, and <i>object</i>.</li>
+            <li>Set <i>rest</i> as the next entry in <i>bnodes</i>, or if that
+              does not exist, <code>rdf:nil</code>. Append a
+              <a class="tref internalDFN" title="triple" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">triple</a> composed of <i>subject</i>,
+              <code>rdf:rest</code>, and <i>rest</i> to <i>list triples</i>.</li>
+          </ol>
+        </li>
+        <li>Return the first <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> from <i>bnodes</i> or
+          <code>rdf:nil</code> if <i>bnodes</i> is empty.</li>
+      </ol>
+    </section>
+  </section> <!-- end of List to RDF -->
+
+  <section id="serialize-rdf-as-json-ld-algorithm">
+    <h3 aria-level="2" role="heading" id="h3_serialize-rdf-as-json-ld-algorithm"><span class="secno">10.4 </span>Serialize RDF as JSON-LD Algorithm</h3>
+
+    <p>This algorithm serializes an <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a> consisting of a
+      <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> and zero or more
+      <a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">named graphs</a> into a JSON-LD document.</p>
+
+    <section class="informative">
+      <h4 id="overview-16" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p>Iterate through each graph in the dataset, converting each
+        <a class="tref internalDFN" title="rdf-collection" href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF Collection</a> into a <a class="tref internalDFN" title="list" href="#dfn-list">list</a>
+        and generating a JSON-LD document in expanded form for all
+        <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a>, <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+        and <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>.
+        If the <i>use native types</i> flag is set to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+        <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a> with a
+        <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        that equals <code>xsd:integer</code> or <code>xsd:double</code> are converted
+        to a <a class="tref internalDFN" title="number" href="#dfn-number">JSON numbers</a> and <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a>
+        with a <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        that equals <code>xsd:boolean</code> are converted to <a class="tref internalDFN" title="true" href="#dfn-true">true</a> or
+        <a class="tref internalDFN" title="false" href="#dfn-false">false</a> based on their
+        <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+        as described in
+        <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>.
+        Unless the <i>use <code>rdf:type</code></i> flag is set to true, <code>rdf:type</code>
+        predicates will be serialized as <code>@type</code> as long as the associated object is
+        either an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-16" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>The algorithm takes one required and two optional inputs: an <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a>
+        and the two flags <i>use native types</i> and <i>use <code>rdf:type</code></i>
+        that both default to <a class="tref internalDFN" title="false" href="#dfn-false">false</a>.</p>
+
+      <ol class="algorithm">
+        <li>Initialize <i>default graph</i> to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+        <li>Initialize <i>graph map</i> to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting
+          of a single member <code>@default</code> whose value references
+          <i>default graph</i>.</li>
+        <li>For each <i>graph</i> in <a class="tref internalDFN" title="rdf-dataset" href="#dfn-rdf-dataset">RDF dataset</a>:
+          <ol class="algorithm">
+            <li>If <i>graph</i> is the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a>,
+              set <i>name</i> to <code>@default</code>, otherwise to the
+              <a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">graph name</a> associated with <i>graph</i>.</li>
+            <li>If <i>graph map</i> has no <i>name</i> member, create one and set
+              its value to an empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</li>
+            <li>If <i>graph</i> is not the <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> and
+              <i>default graph</i> does not have a <i>name</i> member,
+              create such a member and initialize its value to a new
+              <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> with a single member <code>@id</code>
+              whose value is <i>name</i>.</li>
+            <li>Reference the value of the <i>name</i> member in <i>graph map</i>
+              using the variable <i>node map</i>.</li>
+            <li>For each <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triple</a> in <i>graph</i>
+              consisting of <i>subject</i>, <i>predicate</i>, and <i>object</i>:
+              <ol class="algorithm">
+                <li>If <i>node map</i> does not have a <i>subject</i> member,
+                  create one and initialize its value to a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+                  consisting of a single member <code>@id</code> whose value is
+                  set to <i>subject</i>.</li>
+                <li>Reference the value of the <i>subject</i> member in <i>node map</i>
+                  using the variable <i>node</i>.</li>
+                <li>If <i>object</i> is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+                  and <i>node map</i> does not have an <i>object</i> member,
+                  create one and initialize its value to a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+                  consisting of a single member <code>@id</code> whose value is
+                  set to <i>object</i>.</li>
+                <li>If <i>predicate</i> equals <code>rdf:type</code>, the
+                  <i>use <code>rdf:type</code></i> flag is not <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, and <i>object</i>
+                  is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+                  append <i>object</i> to the value of the <code>@type</code>
+                  member of <i>node</i>; unless such an item already exists.
+                  If no such member exists, create one
+                  and initialize it to an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> whose only item is
+                  <i>object</i>. Finally, continue to the next
+                  <a class="tref internalDFN" title="rdf-triple" href="#dfn-rdf-triple">RDF triple</a>.</li>
+                <li>Set <i>value</i> to the result of using the
+                  <a href="#rdf-to-object-conversion">RDF to Object Conversion algorithm</a>,
+                  passing <i>object</i> and <i>use native types</i>.</li>
+                <li>If <i>node</i> does not have an <i>predicate</i> member, create one
+                  and initialize its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>If there is no item equivalent to <i>value</i> in the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                  associated with the <i>predicate</i> member of <i>node</i>, append a
+                  reference to <i>value</i> to the <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. Two JSON objects
+                  are considered equal if they have equivalent key-value pairs.</li>
+                <li>If <i>object</i> is a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> or <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+                  it might represent the list node:
+                  <ol class="algorithm">
+                    <li>If the <i>object</i> member of <i>node map</i> has no
+                      <code>usages</code> member, create one and initialize it to
+                      an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                    <li>Reference the <code>usages</code> member of the <i>object</i>
+                      member of <i>node map</i> using the variable <i>usages</i>.</li>
+                    <li>Append a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> consisting of three
+                      members, <code>node</code>, <code>property</code>, and <code>value</code>
+                      to the <i>usages</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>. The <code>node</code> member
+                      is set to a reference to <i>node</i>, <code>property</code> to <i>predicate</i>,
+                      and <code>value</code> to a reference to <i>value</i>.</li>
+                  </ol>
+                </li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>For each <i>name</i> and <i>graph object</i> in <i>graph map</i>:
+          <ol class="algorithm">
+            <li>If <i>graph object</i> has no <code>rdf:nil</code> member, continue
+              with the next <i>name</i>-<i>graph object</i> pair as the graph does
+              not contain any lists that need to be converted.</li>
+            <li>Initialize <i>nil</i> to the value of the <code>rdf:nil</code> member
+              of <i>graph object</i>.</li>
+            <li>For each item <i>usage</i> in the <code>usages</code> member of
+              <i>nil</i>, perform the following steps:
+              <ol class="algorithm">
+                <li>Initialize <i>node</i> to the value of the value of the
+                  <code>node</code> member of <i>usage</i>, <i>property</i> to
+                  the value of the <code>property</code> member of <i>usage</i>,
+                  and <i>head</i> to the value of the <code>value</code> member
+                  of <i>usage</i>.</li>
+                <li>Initialize two empty <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a> <i>list</i>
+                  and <i>list nodes</i>.</li>
+                <li>While <i>property</i> equals <code>rdf:rest</code>, the value
+                  associated to the <code>usages</code> member of <i>node</i> has
+                  exactly 1 entry, <i>node</i> has a <code>rdf:first</code> and
+                  <code>rdf:rest</code> property, both of which have as value an
+                  <a class="tref internalDFN" title="array" href="#dfn-array">array</a> consisting of a single element, and <i>node</i>
+                  has no other members apart from an optional <code>@type</code>
+                  member whose value is an array with a single item equal to
+                  <code>rdf:List</code>, <i>node</i> represents a well-formed list
+                  node. Perform the following steps to traverse the list backwards
+                  towards its head:
+                  <ol class="algorithm">
+                    <li>Append the only item of <code>rdf:first</code> member of
+                      <i>node</i> to the <i>list</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                    <li>Append the value of the <code>@id</code> member of
+                      <i>node</i> to the <i>list nodes</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                    <li>Initialize <i>node usage</i> to the only item of the
+                      <code>usages</code> member of <i>node</i>.</li>
+                    <li>Set <i>node</i> to the value of the <code>node</code> member
+                      of <i>node usage</i>, <i>property</i> to the value of the
+                      <code>property</code> member of <i>node usage</i>, and
+                      <i>head</i> to the value of the <code>value</code> member
+                      of <i>node usage</i>.</li>
+                    <li>If the <code>@id</code> member of <i>node</i> is an
+                      <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> instead of a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+                      exit the while loop.</li>
+                  </ol>
+                </li>
+                <li>If <i>property</i> equals <code>rdf:first</code>, i.e., the
+                  detected list is nested inside another list
+                  <ol class="algorithm">
+                    <li>and the value of the <code>@id</code> of <i>node</i> equals
+                      <code>rdf:nil</code>, i.e., the detected list is empty,
+                      continue with the next <i>usage</i> item. The
+                      <code>rdf:nil</code> node cannot be converted to a
+                      <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a> as it would result in a list of
+                      lists, which isn't supported.</li>
+                    <li>Otherwise, the list consists of at least one item. We preserve the
+                      head node and transform the rest of the linked list to a
+                      <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>.</li>
+                    <li>Set <i>head id</i> to the value of the <code>@id</code>
+                      member of <i>head</i>.</li>
+                    <li>Set <i>head</i> to the value of the <i>head id</i> member of
+                      <i>graph object</i> so that all it's properties can be accessed.</li>
+                    <li>Then, set <i>head</i> to the only item in the value of the
+                      <code>rdf:rest</code> member of <i>head</i>.</li>
+                    <li>Finally, remove the last item of the <i>list</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+                      and the last item of the <i>list nodes</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                  </ol>
+                </li>
+                <li>Remove the <code>@id</code> member from <i>head</i>.</li>
+                <li>Reverse the order of the <i>list</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>Add an <code>@list</code> member to <i>head</i> and initialize
+                  its value to the <i>list</i> <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>For each item <i>node id</i> in <i>list nodes</i>, remove the
+                  <i>node id</i> member from <i>graph object</i>.</li>
+              </ol>
+            </li>
+          </ol>
+        </li>
+        <li>Initialize an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a> <i>result</i>.</li>
+        <li>For each <i>subject</i> and <i>node</i> in <i>default graph</i>
+          ordered by <i>subject</i>:
+          <ol class="algorithm">
+            <li>If <i>graph map</i> has a <i>subject</i> member:
+              <ol class="algorithm">
+                <li>Add an <code>@graph</code> member to <i>node</i> and initialize
+                  its value to an empty <a class="tref internalDFN" title="array" href="#dfn-array">array</a>.</li>
+                <li>For each key-value pair <i>s</i>-<i>n</i> in the <i>subject</i>
+                  member of <i>graph map</i> ordered by <i>s</i>, append <i>n</i>
+                  to the <code>@graph</code> member of <i>node</i> after
+                  removing its <code>usages</code> member, unless the only
+                  remaining member of <i>n</i> is <code>@id</code>.</li>
+              </ol>
+            </li>
+            <li>Append <i>node</i> to <i>result</i> after removing its
+              <code>usages</code> member, unless the only remaining member of
+              <i>node</i> is <code>@id</code>.</li>
+          </ol>
+        </li>
+        <li>Return <i>result</i>.</li>
+      </ol>
+    </section>
+  </section> <!-- end of Serialize RDF as JSON-LD Algorithm -->
+
+  <section id="rdf-to-object-conversion">
+    <h3 aria-level="2" role="heading" id="h3_rdf-to-object-conversion"><span class="secno">10.5 </span>RDF to Object Conversion</h3>
+
+    <p>This algorithm transforms an RDF literal to a JSON-LD <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>
+      and a RDF blank node or <abbr title="Internationalized Resource Identifier">IRI</abbr> to an JSON-LD <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>.</p>
+
+    <section class="informative">
+      <h4 id="overview-17" aria-level="3" role="heading">Overview</h4><p><em>This section is non-normative.</em></p>
+
+      <p><a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a> are transformed to
+        <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value objects</a> whereas <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> and
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a> are
+        transformed to <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a>.
+        If the <i>use native types</i> flag is set to <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+        <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a> with a
+        <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        that equals <code>xsd:integer</code> or <code>xsd:double</code> are converted
+        to a <a class="tref internalDFN" title="number" href="#dfn-number">JSON numbers</a> and <a class="tref internalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a>
+        with a <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+        that equals <code>xsd:boolean</code> are converted to <a class="tref internalDFN" title="true" href="#dfn-true">true</a> or
+        <a class="tref internalDFN" title="false" href="#dfn-false">false</a> based on their
+        <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+        as described in
+        <a class="sectionRef" href="#data-round-tripping">section 10.6 Data Round Tripping</a>.</p>
+    </section>
+
+    <section>
+      <h4 id="algorithm-17" aria-level="3" role="heading">Algorithm</h4>
+
+      <p>This algorithm takes two required inputs: a <i>value</i> to be converted
+        to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> and a flag <i>use native types</i>.</p>
+
+      <ol class="algorithm">
+        <li>If <i>value</i> is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a
+          <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, return a new <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+          consisting of a single member <code>@id</code> whose value is set to
+          <i>value</i>.</li>
+        <li>Otherwise <i>value</i> is an
+          <a class="tref externalDFN" title="rdf-literal" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literal</a>:
+          <ol class="algorithm">
+            <li>Initialize a new empty <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> result.</li>
+            <li>Initialize <i>converted value</i> to <i>value</i>.</li>
+            <li>Initialize <i>type</i> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a></li>
+            <li>If <i>use native types</i> is <a class="tref internalDFN" title="true" href="#dfn-true">true</a>
+              <ol class="algorithm">
+                <li>If the
+                  <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+                  of <i>value</i> equals <code>xsd:string</code>, set
+                  <i>converted value</i> to the
+                  <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+                  of <i>value</i>.</li>
+                <li>Otherwise, if the
+                  <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+                  of <i>value</i> equals <code>xsd:boolean</code>, set
+                  <i>converted value</i> to <a class="tref internalDFN" title="true" href="#dfn-true">true</a> if the
+                  <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+                  of <i>value</i> matches <code>true</code>, or <a class="tref internalDFN" title="false" href="#dfn-false">false</a>
+                  if it matches <code>false</code>. If it matches neither,
+                  set <i>type</i> to <code>xsd:boolean</code>.</li>
+                <li>Otherwise, if the
+                  <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+                  of <i>value</i> equals <code>xsd:integer</code> or
+                  <code>xsd:double</code> and its
+                  <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+                  is a valid <code>xsd:integer</code> or <code>xsd:double</code>
+                  according [<cite><a class="bibref" href="#bib-XMLSCHEMA11-2">XMLSCHEMA11-2</a></cite>], set <i>converted value</i>
+                  to the result of converting the
+                  <a class="tref externalDFN" title="lexical-form" href="http://www.w3.org/TR/rdf11-concepts/#dfn-lexical-form">lexical form</a>
+                  to a JSON <a class="tref internalDFN" title="number" href="#dfn-number">number</a>.</li>
+              </ol>
+            </li>
+            <li>Otherwise, if <i>value</i> is a
+              <a class="tref externalDFN" title="language-tagged-string" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string">language-tagged string</a>
+              add a member <code>@language</code> to <i>result</i> and set its value to the
+              <a class="tref externalDFN" title="language-tag" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tag">language tag</a>
+              of <i>value</i>.</li>
+            <li>Otherwise, set <i>type</i> to the
+              <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+              of <i>value</i>, unless it equals <code>xsd:string</code> which is ignored.</li>
+            <li>Add a member <code>@value</code> to <i>result</i> whose value
+              is set to <i>converted value</i>.</li>
+            <li>If <i>type</i> is not <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, add a member <code>@type</code>
+              to <i>result</i> whose value is set to <i>type</i>.</li>
+            <li>Return <i>result</i>.</li>
+          </ol>
+        </li>
+      </ol>
+    </section>
+  </section>
+
+  <section id="data-round-tripping">
+    <h3 aria-level="2" role="heading" id="h3_data-round-tripping"><span class="secno">10.6 </span>Data Round Tripping</h3>
+
+    <p>When <a href="#deserialize-json-ld-to-rdf-algorithm">deserializing JSON-LD to RDF</a>
+      JSON-native <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a> are automatically
+      type-coerced to <code>xsd:integer</code> or <code>xsd:double</code>
+      depending on whether the <a class="tref internalDFN" title="number" href="#dfn-number">number</a> has a non-zero fractional part
+      or not (the result of a modulo‑1 operation), the boolean values
+      <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and <a class="tref internalDFN" title="false" href="#dfn-false">false</a> are coerced to <code>xsd:boolean</code>,
+      and <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> are coerced to <code>xsd:string</code>.
+      The numeric or boolean values themselves are converted to
+      <dfn title="canonical-lexical-form" id="dfn-canonical-lexical-form">canonical lexical form</dfn>, i.e., a deterministic string
+      representation as defined in [<cite><a class="bibref" href="#bib-XMLSCHEMA11-2">XMLSCHEMA11-2</a></cite>].</p>
+
+    <p>The <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> of an <em>integer</em>, i.e., a
+      <a class="tref internalDFN" title="number" href="#dfn-number">number</a> with no non-zero fractional part or a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>
+      coerced to <code>xsd:integer</code>, is a finite-length sequence of decimal
+      digits (<code>0-9</code>) with an optional leading minus sign; leading
+      zeros are prohibited. In JavaScript, implementers can use the following
+      snippet of code to convert an integer to
+      <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a>:</p>
+
+    <div class="example"><div class="example-title"><span>Example 12</span>: Sample integer serialization implementation in JavaScript</div><pre class="example">(value).toFixed(0).toString()</pre></div>
+
+    <p>The <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> of a <em>double</em>, i.e., a
+      <a class="tref internalDFN" title="number" href="#dfn-number">number</a> with a non-zero fractional part or a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>
+      coerced to <code>xsd:double</code>, consists of a mantissa followed by the
+      character <code>E</code>, followed by an exponent. The mantissa is a
+      decimal number and the exponent is an integer. Leading zeros and a
+      preceding plus sign (<code>+</code>) are prohibited in the exponent.
+      If the exponent is zero, it is indicated by <code>E0</code>. For the
+      mantissa, the preceding optional plus sign is prohibited and the
+      decimal point is required. Leading and trailing zeros are prohibited
+      subject to the following: number representations must be normalized
+      such that there is a single digit which is non-zero to the left of
+      the decimal point and at least a single digit to the right of the
+      decimal point unless the value being represented is zero. The
+      canonical representation for zero is <code>0.0E0</code>.
+      <code>xsd:double</code>'s value space is defined by the IEEE
+      double-precision 64-bit floating point type [<cite><a class="bibref" href="#bib-IEEE-754-2008">IEEE-754-2008</a></cite>] whereas
+      the value space of JSON <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a> is not
+      specified; when deserializing JSON-LD to RDF the mantissa is rounded to
+      15&nbsp;digits after the decimal point. In JavaScript, implementers
+      can use the following snippet of code to convert a double to
+      <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a>:</p>
+
+    <div class="example"><div class="example-title"><span>Example 13</span>: Sample floating point number serialization implementation in JavaScript</div><pre class="example">(value).toExponential(15).replace(/(\d)0*e\+?/,'$1E')</pre></div>
+
+    <p>The <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a> of the <em>boolean</em>
+      values <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and <a class="tref internalDFN" title="false" href="#dfn-false">false</a> are the strings
+      <code>true</code> and <code>false</code>.</p>
+
+    <p>When JSON-native <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a> are deserialized
+      to RDF, lossless data round-tripping cannot be guaranteed, as rounding
+      errors might occur. When
+      <a href="#serialize-rdf-as-json-ld-algorithm">serializing RDF as JSON-LD</a>,
+      similar rounding errors might occur. Furthermore, the datatype or the lexical
+      representation might be lost. An <code>xsd:double</code> with a value
+      of <code>2.0</code> will, e.g., result in an <code>xsd:integer</code>
+      with a value of <code>2</code> in <a class="tref internalDFN" title="canonical-lexical-form" href="#dfn-canonical-lexical-form">canonical lexical form</a>
+      when converted from RDF to JSON-LD and back to RDF. It is important
+      to highlight that in practice it might be impossible to losslessly
+      convert an <code>xsd:integer</code> to a <a class="tref internalDFN" title="number" href="#dfn-number">number</a> because
+      its value space is not limited. While the JSON specification [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]
+      does not limit the value space of <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a>
+      either, concrete implementations typically do have a limited value
+      space.</p>
+
+    <p>To ensure lossless round-tripping the
+      <a href="#serialize-rdf-as-json-ld-algorithm">Serialize RDF as JSON-LD algorithm</a>
+      specifies a <i>use native types</i> flag which controls whether
+      <a class="tref externalDFN" title="rdf-literals" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">RDF literals</a>
+      with a <a class="tref externalDFN" title="datatype-iri" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+      equal to <code>xsd:integer</code>, <code>xsd:double</code>, or
+      <code>xsd:boolean</code> are converted to their JSON-native
+      counterparts. If the <i>use native types</i> flag is set to
+      <a class="tref internalDFN" title="false" href="#dfn-false">false</a>, all literals remain in their original string
+      representation.</p>
+
+    <p>Some JSON serializers, such as PHP's native implementation in some versions,
+      backslash-escape the forward slash character. For example, the value
+      <code>http://example.com/</code> would be serialized as <code>http:\/\/example.com\/</code>.
+      This is problematic as other JSON parsers might not understand those escaping characters.
+      There is no need to backslash-escape forward slashes in JSON-LD. To aid
+      interoperability between JSON-LD processors, forward slashes <em class="rfc2119" title="MUST NOT">MUST NOT</em> be
+      backslash-escaped.</p>
+  </section> <!-- end of Data Round Tripping -->
+</section>
+
+
+<section class="informative" id="the-application-programming-interface">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_the-application-programming-interface"><span class="secno">11. </span>The Application Programming Interface</h2><p><em>This section is non-normative.</em></p>
+
+  <p>This API provides a clean mechanism that enables developers to convert
+    JSON-LD data into a variety of output formats that are often easier to
+    work with.</p>
+
+  <p>The JSON-LD API uses <a class="tref internalDFN" title="promise" href="#dfn-promise">Promises</a> to represent
+    the result of the various asynchronous operations.
+    <dfn title="promise" id="dfn-promise">Promises</dfn> are temporarily being drafted on
+    <cite><a href="https://github.com/domenic/promises-unwrapping/blob/master/README.md">GitHub</a></cite>
+    [<cite><a class="bibref" href="#bib-PROMISES">PROMISES</a></cite>] but are expected to be standardized as part of ECMAScript&nbsp;6.</p>
+
+  <section class="informative" id="the-jsonldprocessor-interface">
+    <h3 aria-level="2" role="heading" id="h3_the-jsonldprocessor-interface"><span class="secno">11.1 </span>The <a href="#idl-def-JsonLdProcessor" class="idlType"><code>JsonLdProcessor</code></a> Interface</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The <a href="#idl-def-JsonLdProcessor" class="idlType"><code>JsonLdProcessor</code></a> interface is the high-level programming structure
+      that developers use to access the JSON-LD transformation methods.</p>
+
+    <p>It is important to highlight that implementations do not modify the input parameters.
+      If an error is detected, the Promise is
+      rejected passing a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> with the corresponding error
+      <code class="idlMemberName"><a href="#widl-JsonLdError-code">code</a></code>
+      and processing is stopped.</p>
+
+    <p>If the <code class="idlMemberName"><a href="#widl-JsonLdOptions-documentLoader">documentLoader</a></code>
+      option is specified, it is used to dereference remote documents and contexts.
+      The <code class="idlMemberName"><a href="#widl-RemoteDocument-documentUrl">documentUrl</a></code>
+      in the returned <code class="idlMemberName"><a href="#idl-def-RemoteDocument">RemoteDocument</a></code>
+      is used as <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> and the
+      <code class="idlMemberName"><a href="#widl-RemoteDocument-contextUrl">contextUrl</a></code>
+      is used instead of looking at the HTTP Link Header directly. For the sake of simplicity, none of the algorithms
+      in this document mention this directly.</p>
+
+    <pre class="idl"><span class="idlInterface" id="idl-def-JsonLdProcessor">[<span class="extAttr">Constructor</span>]
+interface <span class="idlInterfaceID">JsonLdProcessor</span> {
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">compact</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam"><span class="idlParamType"><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a></span> <span class="idlParamName">context</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options">expand</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+<span class="idlMethod">    <span class="idlMethType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> <span class="idlMethName"><a href="#widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options">flatten</a></span> (<span class="idlParam"><span class="idlParamType"><a>any</a></span> <span class="idlParamName">input</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a>?</span> <span class="idlParamName">context</span></span>, <span class="idlParam">optional <span class="idlParamType"><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></span> <span class="idlParamName">options</span></span>);</span>
+};</span></pre><section><h4 id="methods" aria-level="3" role="heading">Methods</h4><p><em>This section is non-normative.</em></p><dl class="methods"><dt id="widl-JsonLdProcessor-compact-Promise-any-input-JsonLdContext-context-JsonLdOptions-options"><code>compact</code></dt><dd>
+        <p><a href="#compaction">Compacts</a> the given <i>input</i> using the
+          <i>context</i> according to the steps in the
+          <a href="#compaction-algorithm">Compaction algorithm</a>:</p>
+
+        <ol class="algorithm">
+          <li>Create a new <a class="tref internalDFN" title="promise" href="#dfn-promise">Promise</a> <i>promise</i> and return it. The
+            following steps are then executed asynchronously.</li>
+          <li>If the passed <i>input</i> is a <span class="idlParamType">DOMString</span>
+            representing the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> of a remote document, dereference it.
+            If the retrieved document's content type is neither <code>application/json</code>,
+            nor <code>application/ld+json</code>, nor any other media type using a
+            <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>]
+            or if the document cannot be parsed as JSON, reject the <i>promise</i> passing an
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.loading-document-failed">loading document failed</a></code>
+            error.</li>
+          <li>Initialize a new empty <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. The <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+            of the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is set to the <abbr title="Internationalized Resource Identifier">IRI</abbr> of the currently being processed
+            document, if available; otherwise to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If set, the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></code> option
+            overrides the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+          <li>If an
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            has been passed, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. If
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> having an <code>@context</code> member, pass that member's value instead.</li>
+          <li>If the <i>input</i> has been retrieved, the response has an HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>]
+            using the <code>http://www.w3.org/ns/json-ld#context</code> link relation
+            and a content type of <code>application/json</code> or any media type
+            with a <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>] except
+            <code>application/ld+json</code>, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            context referenced in the HTTP Link Header as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. The
+            HTTP Link Header is ignored for documents served as <code>application/ld+json</code> If
+            multiple HTTP Link Headers using the <code>http://www.w3.org/ns/json-ld#context</code>
+            link relation are found, the <i>promise</i> is rejected with a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> whose code is set to
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</a></code>
+            and processing is terminated.</li>
+          <li>Set <i>expanded</i> to the result of using the
+            <a href="#expansion-algorithm">Expansion algorithm</a>, passing the
+            <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and <i>input</i> as <i>element</i>.</li>
+          <li>If <i>context</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> having an <code>@context</code> member, set
+            <i>context</i> to that member's value.</li>
+          <li>Set <i>compacted</i> to the result of using the
+            <a href="#compaction-algorithm">Compaction algorithm</a>, passing
+            <i>context</i>, <i>expanded</i> as <i>element</i>, and if passed, the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+            flag in <i>options</i>.</li>
+          <li>Fulfill the <i>promise</i> passing <i>compacted</i>.</li>
+        </ol>
+
+
+      <table class="parameters"><tr><th>Parameter</th><th>Type</th><th>Nullable</th><th>Optional</th><th>Description</th></tr><tr><td class="prmName">input</td><td class="prmType"><code><a>any</a></code></td><td class="prmNullFalse">✘</td><td class="prmOptFalse">✘</td><td class="prmDesc">The JSON-LD object or array of JSON-LD objects to perform the compaction upon or an
+            <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> referencing the JSON-LD document to compact.</td></tr><tr><td class="prmName">context</td><td class="prmType"><code><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a></code></td><td class="prmNullFalse">✘</td><td class="prmOptFalse">✘</td><td class="prmDesc">The context to use when compacting the <code>input</code>;
+            it can be specified by using a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, an
+            <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or an array consisting of
+            <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>s and <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>s.</td></tr><tr><td class="prmName">options</td><td class="prmType"><code><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></code></td><td class="prmNullFalse">✘</td><td class="prmOptTrue">✔</td><td class="prmDesc">A set of options to configure the algorithms. This allows, e.g.,
+            to set the input document's base <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</td></tr></table><div><em>Return type: </em><code><a href="#dfn-promise" class="internalDFN">Promise</a></code></div></dd><dt id="widl-JsonLdProcessor-expand-Promise-any-input-JsonLdOptions-options"><code>expand</code></dt><dd>
+        <p><a href="#expansion">Expands</a> the given <i>input</i> according to
+          the steps in the <a href="#expansion-algorithm">Expansion algorithm</a>:</p>
+
+        <ol class="algorithm">
+          <li>Create a new <a class="tref internalDFN" title="promise" href="#dfn-promise">Promise</a> <i>promise</i> and return it. The
+            following steps are then executed asynchronously.</li>
+          <li>If the passed <i>input</i> is a <span class="idlParamType">DOMString</span>
+            representing the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> of a remote document, dereference it.
+            If the retrieved document's content type is neither <code>application/json</code>,
+            nor <code>application/ld+json</code>, nor any other media type using a
+            <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>], reject the <i>promise</i> passing an
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.loading-document-failed">loading document failed</a></code>
+            error.</li>
+          <li>Initialize a new empty <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. The <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+            of the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is set to the <abbr title="Internationalized Resource Identifier">IRI</abbr> of the currently being processed
+            document, if available; otherwise to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If set, the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></code> option
+            overrides the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+          <li>If an
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            has been passed, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. If
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> having an <code>@context</code> member, pass that member's value instead.</li>
+          <li>If the <i>input</i> has been retrieved, the response has an HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>]
+            using the <code>http://www.w3.org/ns/json-ld#context</code> link relation
+            and a content type of <code>application/json</code> or any media type
+            with a <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>] except
+            <code>application/ld+json</code>, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            context referenced in the HTTP Link Header as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. The
+            HTTP Link Header is ignored for documents served as <code>application/ld+json</code> If
+            multiple HTTP Link Headers using the <code>http://www.w3.org/ns/json-ld#context</code>
+            link relation are found, the <i>promise</i> is rejected with a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> whose code is set to
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</a></code>
+            and processing is terminated.</li>
+          <li>Set <i>expanded</i> to the result of using the
+            <a href="#expansion-algorithm">Expansion algorithm</a>, passing the
+            <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and <i>input</i> as <i>element</i>.</li>
+          <li>Fulfill the <i>promise</i> passing <i>expanded</i>.</li>
+        </ol>
+
+
+      <table class="parameters"><tr><th>Parameter</th><th>Type</th><th>Nullable</th><th>Optional</th><th>Description</th></tr><tr><td class="prmName">input</td><td class="prmType"><code><a>any</a></code></td><td class="prmNullFalse">✘</td><td class="prmOptFalse">✘</td><td class="prmDesc">The JSON-LD object or array of JSON-LD objects to perform the expansion upon or an
+            <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> referencing the JSON-LD document to expand.</td></tr><tr><td class="prmName">options</td><td class="prmType"><code><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></code></td><td class="prmNullFalse">✘</td><td class="prmOptTrue">✔</td><td class="prmDesc">A set of options to configure the used algorithms such. This allows, e.g.,
+            to set the input document's base <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</td></tr></table><div><em>Return type: </em><code><a href="#dfn-promise" class="internalDFN">Promise</a></code></div></dd><dt id="widl-JsonLdProcessor-flatten-Promise-any-input-JsonLdContext-context-JsonLdOptions-options"><code>flatten</code></dt><dd>
+        <p><a href="#flattening">Flattens</a> the given <i>input</i> and
+          <a href="#compaction">compacts</a> it using the passed <i>context</i>
+          according to the steps in the <a href="#flattening-algorithm">Flattening algorithm</a>:</p>
+
+        <ol class="algorithm">
+          <li>Create a new <a class="tref internalDFN" title="promise" href="#dfn-promise">Promise</a> <i>promise</i> and return it. The
+            following steps are then executed asynchronously.</li>
+          <li>If the passed <i>input</i> is a <span class="idlParamType">DOMString</span>
+            representing the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> of a remote document, dereference it.
+            If the retrieved document's content type is neither <code>application/json</code>,
+            nor <code>application/ld+json</code>, nor any other media type using a
+            <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>], reject the <i>promise</i> passing an
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.loading-document-failed">loading document failed</a></code>
+            error.</li>
+          <li>Initialize a new empty <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. The <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+            of the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is set to the <abbr title="Internationalized Resource Identifier">IRI</abbr> of the currently being processed
+            document, if available; otherwise to <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If set, the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></code> option
+            overrides the <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+          <li>If an
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            has been passed, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. If
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></code>
+            is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> having an <code>@context</code> member, pass that member's value instead.</li>
+          <li>If the <i>input</i> has been retrieved, the response has an HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>]
+            using the <code>http://www.w3.org/ns/json-ld#context</code> link relation
+            and a content type of <code>application/json</code> or any media type
+            with a <code>+json</code> suffix as defined in [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>] except
+            <code>application/ld+json</code>, update the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> using the
+            <a href="#context-processing-algorithm">Context Processing algorithm</a>, passing the
+            context referenced in the HTTP Link Header as <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>. The
+            HTTP Link Header is ignored for documents served as <code>application/ld+json</code> If
+            multiple HTTP Link Headers using the <code>http://www.w3.org/ns/json-ld#context</code>
+            link relation are found, the <i>promise</i> is rejected with a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> whose code is set to
+            <code class="error"><a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</a></code>
+            and processing is terminated.</li>
+          <li>Set <i>expanded</i> to the result of using the
+            <a href="#expansion-algorithm">Expansion algorithm</a>, passing the
+            <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and <i>input</i> as <i>element</i>.</li>
+          <li>If <i>context</i> is a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> having an <code>@context</code> member, set
+            <i>context</i> to that member's value.</li>
+          <li>Initialize an empty <i>identifier map</i> and a <i>counter</i> (set to <code>0</code>)
+            to be used by the
+            <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>.</li>
+          <li>Set <i>flattened</i> to the result of using the
+            <a href="#flattening-algorithm">Flattening algorithm</a>, passing
+            <i>expanded</i> as <i>element</i>, <i>context</i>, and if passed, the
+            <code class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></code>
+            flag in <i>options</i> (which is internally passed to the
+            <a href="#compaction-algorithm">Compaction algorithm</a>).</li>
+          <li>Fulfill the <i>promise</i> passing <i>flattened</i>.</li>
+        </ol>
+
+
+      <table class="parameters"><tr><th>Parameter</th><th>Type</th><th>Nullable</th><th>Optional</th><th>Description</th></tr><tr><td class="prmName">input</td><td class="prmType"><code><a>any</a></code></td><td class="prmNullFalse">✘</td><td class="prmOptFalse">✘</td><td class="prmDesc">The JSON-LD object or array of JSON-LD objects or an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+            referencing the JSON-LD document to flatten.</td></tr><tr><td class="prmName">context</td><td class="prmType"><code><a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a></code></td><td class="prmNullTrue">✔</td><td class="prmOptTrue">✔</td><td class="prmDesc">The context to use when compacting the flattened <code>input</code>;
+            it can be specified by using a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, an
+            <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or an array consisting of <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>s
+            and <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>s. If not
+            passed or <a class="tref internalDFN" title="null" href="#dfn-null">null</a> is passed, the result will not be compacted
+            but kept in expanded form.</td></tr><tr><td class="prmName">options</td><td class="prmType"><code><a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a></code></td><td class="prmNullFalse">✘</td><td class="prmOptTrue">✔</td><td class="prmDesc">A set of options to configure the used algorithms such. This allows, e.g.,
+            to set the input document's base <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</td></tr></table><div><em>Return type: </em><code><a href="#dfn-promise" class="internalDFN">Promise</a></code></div></dd></dl></section>
+
+    <pre class="idl"><span class="idlTypedef" id="idl-def-JsonLdContext">typedef <span class="idlTypedefType">(<a>object</a> or <a>DOMString</a> or <a>(object</a> or <a>DOMString[])</a>)</span> <span class="idlTypedefID">JsonLdContext</span>;</span></pre><div class="idlTypedefDesc">
+      <p>The <a href="#idl-def-JsonLdContext" class="idlType"><code>JsonLdContext</code></a> type is used to refer to a value that
+        that may be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> representing an
+        <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or an array of <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a>
+        and <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>.</p>
+    </div>
+  </section> <!-- end of JsonLdProcessor -->
+
+  <section class="informative" id="the-jsonldoptions-type">
+    <h3 aria-level="2" role="heading" id="h3_the-jsonldoptions-type"><span class="secno">11.2 </span>The <a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a> Type</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The <a href="#idl-def-JsonLdOptions" class="idlType"><code>JsonLdOptions</code></a> type is used to pass various options to the
+      <a href="#idl-def-JsonLdProcessor" class="idlType"><code>JsonLdProcessor</code></a> methods.</p>
+
+    <pre class="idl"><span class="idlDictionary" id="idl-def-JsonLdOptions">dictionary <span class="idlDictionaryID">JsonLdOptions</span> {
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a>?</span>             <span class="idlMemberName"><a href="#widl-JsonLdOptions-base">base</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>boolean</a></span>                <span class="idlMemberName"><a href="#widl-JsonLdOptions-compactArrays">compactArrays</a></span> = <span class="idlMemberValue">true</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a></span>   <span class="idlMemberName"><a href="#widl-JsonLdOptions-documentLoader">documentLoader</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType">(<a>object?</a> or <a>DOMString</a>)</span> <span class="idlMemberName"><a href="#widl-JsonLdOptions-expandContext">expandContext</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span>              <span class="idlMemberName"><a href="#widl-JsonLdOptions-processingMode">processingMode</a></span> = <span class="idlMemberValue">"json-ld-1.0"</span>;</span>
+};</span></pre><section><h4 id="dictionary-jsonldoptions-members" aria-level="3" role="heading">Dictionary <a class="idlType" href="#idl-def-JsonLdOptions"><code>JsonLdOptions</code></a> Members</h4><p><em>This section is non-normative.</em></p><dl class="dictionary-members"><dt id="widl-JsonLdOptions-base"><code>base</code> of type <span class="idlMemberType"><a>DOMString</a></span>, nullable</dt><dd>The base <abbr title="Internationalized Resource Identifier">IRI</abbr> to use when expanding or compacting the document. If set, this overrides
+        the input document's <abbr title="Internationalized Resource Identifier">IRI</abbr>.</dd><dt id="widl-JsonLdOptions-compactArrays"><code>compactArrays</code> of type <span class="idlMemberType"><a>boolean</a></span>, defaulting to <code>true</code></dt><dd>If set to <code>true</code>, the JSON-LD processor replaces arrays with just
+        one element with that element during compaction. If set to <code>false</code>,
+        all arrays will remain arrays even if they have just one element.
+      </dd><dt id="widl-JsonLdOptions-documentLoader"><code>documentLoader</code> of type <span class="idlMemberType"><a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a></span>, defaulting to <code>null</code></dt><dd>The callback of the loader to be used to retrieve remote documents and contexts.
+        If specified, it is used to retrieve remote documents and contexts; otherwise,
+        if not specified, the processor's built-in loader is used.</dd><dt id="widl-JsonLdOptions-expandContext"><code>expandContext</code> of type <span class="idlMemberType"><a>(object? or DOMString)</a></span>, defaulting to <code>null</code></dt><dd>A context that is used to initialize the active context when expanding a document.</dd><dt id="widl-JsonLdOptions-processingMode"><code>processingMode</code> of type <span class="idlMemberType"><a>DOMString</a></span>, defaulting to <code>"json-ld-1.0"</code></dt><dd>If set to <code>json-ld-1.0</code>, the implementation has to produce
+        exactly the same results as the algorithms defined in this specification.
+        If set to another value, the JSON-LD processor is allowed to extend
+        or modify the algorithms defined in this specification to enable
+        application-specific optimizations. The definition of such
+        optimizations is beyond the scope of this specification and thus
+        not defined. Consequently, different implementations may implement
+        different optimizations. Developers must not define modes beginning
+        with <code>json-ld</code> as they are reserved for future versions
+        of this specification.</dd></dl></section>
+  </section> <!-- end JsonLdOptions -->
+
+  <section class="informative" id="remote-document-and-context-retrieval">
+    <h3 aria-level="2" role="heading" id="h3_remote-document-and-context-retrieval"><span class="secno">11.3 </span>Remote Document and Context Retrieval</h3><p><em>This section is non-normative.</em></p>
+
+    <p>Users of an API implementation can utilize a callback to control how remote
+      documents and contexts are retrieved. This section details the parameters of
+      that callback and the data structure used to return the retrieved context.</p>
+
+    <section class="informative">
+      <h4 id="loaddocumentcallback" aria-level="3" role="heading">LoadDocumentCallback</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The <a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a> defines a callback that custom document loaders
+        have to implement to be used to retrieve remote documents and contexts.</p>
+
+      <pre class="idl"><span class="idlCallback" id="idl-def-LoadDocumentCallback">callback <span class="idlCallbackID">LoadDocumentCallback</span> = <span class="idlCallbackType"><a href="#dfn-promise" class="internalDFN">Promise</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">url</span></span>);</span></pre><section><h5 id="callback-loaddocumentcallback-parameters" aria-level="4" role="heading">Callback <a class="idlType" href="#idl-def-LoadDocumentCallback"><code>LoadDocumentCallback</code></a> Parameters</h5><p><em>This section is non-normative.</em></p><dl class="callback-members"><dt id="widl-LoadDocumentCallback-url"><code>url</code> of type <span class="idlMemberType"><a>DOMString</a></span></dt><dd>The URL of the remote document or context to load.</dd></dl></section>
+
+      <p>All errors result in the <a class="tref internalDFN" title="promise" href="#dfn-promise">Promise</a> being rejected with
+        a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> whose code is set to
+        <code class="error"><a href="#idl-def-JsonLdErrorCode.loading-document-failed">loading document failed</a></code>
+        or <code class="error"><a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</a></code>
+        as described in the next section.</p>
+    </section>
+
+    <section class="informative">
+      <h4 id="remotedocument" aria-level="3" role="heading">RemoteDocument</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The <a href="#idl-def-RemoteDocument" class="idlType"><code>RemoteDocument</code></a> type is used by a <a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a>
+        to return information about a remote document or context.</p>
+
+      <pre class="idl"><span class="idlDictionary" id="idl-def-RemoteDocument">dictionary <span class="idlDictionaryID">RemoteDocument</span> {
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span> <span class="idlMemberName"><a href="#widl-RemoteDocument-contextUrl">contextUrl</a></span> = <span class="idlMemberValue">null</span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a></span> <span class="idlMemberName"><a href="#widl-RemoteDocument-documentUrl">documentUrl</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>any</a></span>       <span class="idlMemberName"><a href="#widl-RemoteDocument-document">document</a></span>;</span>
+};</span></pre><section><h5 id="dictionary-remotedocument-members" aria-level="4" role="heading">Dictionary <a class="idlType" href="#idl-def-RemoteDocument"><code>RemoteDocument</code></a> Members</h5><p><em>This section is non-normative.</em></p><dl class="dictionary-members"><dt id="widl-RemoteDocument-contextUrl"><code>contextUrl</code> of type <span class="idlMemberType"><a>DOMString</a></span>, defaulting to <code>null</code></dt><dd>If available, the value of the HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>] using the
+          <code>http://www.w3.org/ns/json-ld#context</code> link relation in the
+          response. If the response's content type is <code>application/ld+json</code>,
+          the HTTP Link Header is ignored. If multiple HTTP Link Headers using
+          the <code>http://www.w3.org/ns/json-ld#context</code> link relation are found,
+          the <a class="tref internalDFN" title="promise" href="#dfn-promise">Promise</a> of the <a href="#idl-def-LoadDocumentCallback" class="idlType"><code>LoadDocumentCallback</code></a> is rejected with
+          a <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> whose code is set to
+          <code class="error"><a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</a></code>.</dd><dt id="widl-RemoteDocument-document"><code>document</code> of type <span class="idlMemberType"><a>any</a></span></dt><dd>The retrieved document. This can either be the raw payload or the already
+          parsed document.</dd><dt id="widl-RemoteDocument-documentUrl"><code>documentUrl</code> of type <span class="idlMemberType"><a>DOMString</a></span></dt><dd>The final URL of the loaded document. This is important
+          to handle HTTP redirects properly.</dd></dl></section>
+    </section>
+  </section> <!-- end of Remote Document and Context Retrieval -->
+
+  <section class="informative" id="error-handling">
+    <h3 aria-level="2" role="heading" id="h3_error-handling"><span class="secno">11.4 </span>Error Handling</h3><p><em>This section is non-normative.</em></p>
+
+    <p>This section describes the datatype definitions used within the
+      JSON-LD API for error handling.</p>
+
+    <section>
+      <h4 id="jsonlderror" aria-level="3" role="heading">JsonLdError</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The <a href="#idl-def-JsonLdError" class="idlType"><code>JsonLdError</code></a> type is used to report processing errors.</p>
+
+      <pre class="idl"><span class="idlDictionary" id="idl-def-JsonLdError">dictionary <span class="idlDictionaryID">JsonLdError</span> {
+<span class="idlMember">    <span class="idlMemberType"><a href="#idl-def-JsonLdErrorCode" class="idlType"><code>JsonLdErrorCode</code></a></span> <span class="idlMemberName"><a href="#widl-JsonLdError-code">code</a></span>;</span>
+<span class="idlMember">    <span class="idlMemberType"><a>DOMString</a>?</span>      <span class="idlMemberName"><a href="#widl-JsonLdError-message">message</a></span> = <span class="idlMemberValue">null</span>;</span>
+};</span></pre><section><h5 id="dictionary-jsonlderror-members" aria-level="4" role="heading">Dictionary <a class="idlType" href="#idl-def-JsonLdError"><code>JsonLdError</code></a> Members</h5><p><em>This section is non-normative.</em></p><dl class="dictionary-members"><dt id="widl-JsonLdError-code"><code>code</code> of type <span class="idlMemberType"><a href="#idl-def-JsonLdErrorCode" class="idlType"><code>JsonLdErrorCode</code></a></span></dt><dd>a string representing the particular error type, as described in
+          the various algorithms in this document.</dd><dt id="widl-JsonLdError-message"><code>message</code> of type <span class="idlMemberType"><a>DOMString</a></span>, nullable, defaulting to <code>null</code></dt><dd>an optional error message containing additional debugging information.
+          The specific contents of error messages are outside the scope of this
+          specification.</dd></dl></section>
+    </section>
+
+    <section class="informative">
+      <h4 id="jsonlderrorcode" aria-level="3" role="heading">JsonLdErrorCode</h4><p><em>This section is non-normative.</em></p>
+      <p>The <a href="#idl-def-JsonLdErrorCode" class="idlType"><code>JsonLdErrorCode</code></a> represents the collection of valid JSON-LD error
+        codes.</p>
+
+      <pre class="idl"><span class="idlEnum" id="idl-def-JsonLdErrorCode">enum <span class="idlEnumID">JsonLdErrorCode</span> {
+    "<a href="#idl-def-JsonLdErrorCode.loading-document-failed" class="idlEnumItem">loading document failed</a>",
+    "<a href="#idl-def-JsonLdErrorCode.list-of-lists" class="idlEnumItem">list of lists</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--index-value" class="idlEnumItem">invalid @index value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.conflicting-indexes" class="idlEnumItem">conflicting indexes</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--id-value" class="idlEnumItem">invalid @id value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-local-context" class="idlEnumItem">invalid local context</a>",
+    "<a href="#idl-def-JsonLdErrorCode.multiple-context-link-headers" class="idlEnumItem">multiple context link headers</a>",
+    "<a href="#idl-def-JsonLdErrorCode.loading-remote-context-failed" class="idlEnumItem">loading remote context failed</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-remote-context" class="idlEnumItem">invalid remote context</a>",
+    "<a href="#idl-def-JsonLdErrorCode.recursive-context-inclusion" class="idlEnumItem">recursive context inclusion</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-base-IRI" class="idlEnumItem">invalid base IRI</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-vocab-mapping" class="idlEnumItem">invalid vocab mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-default-language" class="idlEnumItem">invalid default language</a>",
+    "<a href="#idl-def-JsonLdErrorCode.keyword-redefinition" class="idlEnumItem">keyword redefinition</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-term-definition" class="idlEnumItem">invalid term definition</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property" class="idlEnumItem">invalid reverse property</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping" class="idlEnumItem">invalid IRI mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.cyclic-IRI-mapping" class="idlEnumItem">cyclic IRI mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-keyword-alias" class="idlEnumItem">invalid keyword alias</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-type-mapping" class="idlEnumItem">invalid type mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-mapping" class="idlEnumItem">invalid language mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.colliding-keywords" class="idlEnumItem">colliding keywords</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-container-mapping" class="idlEnumItem">invalid container mapping</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-type-value" class="idlEnumItem">invalid type value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-value-object" class="idlEnumItem">invalid value object</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-value-object-value" class="idlEnumItem">invalid value object value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-string" class="idlEnumItem">invalid language-tagged string</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-value" class="idlEnumItem">invalid language-tagged value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-typed-value" class="idlEnumItem">invalid typed value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-set-or-list-object" class="idlEnumItem">invalid set or list object</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-language-map-value" class="idlEnumItem">invalid language map value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.compaction-to-list-of-lists" class="idlEnumItem">compaction to list of lists</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-map" class="idlEnumItem">invalid reverse property map</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid--reverse-value" class="idlEnumItem">invalid @reverse value</a>",
+    "<a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-value" class="idlEnumItem">invalid reverse property value</a>"
+};</span></pre><table class="simple"><tr><th colspan="2">Enumeration description</th></tr><tr><td><code id="idl-def-JsonLdErrorCode.loading-document-failed">loading document failed</code></td><td>The document could not be loaded or parsed as JSON.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.list-of-lists">list of lists</code></td><td>A list of lists was detected. List of lists are not supported in
+          this version of JSON-LD due to the algorithmic complexity.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid--index-value">invalid @index value</code></td><td>An <code>@index</code> member was encountered whose value was
+          not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.conflicting-indexes">conflicting indexes</code></td><td>Multiple conflicting indexes have been found for the same node.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid--id-value">invalid @id value</code></td><td>An <code>@id</code> member was encountered whose value was not a
+          <a class="tref internalDFN" title="string" href="#dfn-string">string</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-local-context">invalid local context</code></td><td>In invalid <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> was detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.multiple-context-link-headers">multiple context link headers</code></td><td>Multiple HTTP Link Headers [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>] using the
+          <code>http://www.w3.org/ns/json-ld#context</code> link relation
+          have been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.loading-remote-context-failed">loading remote context failed</code></td><td>There was a problem encountered loading a remote context.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-remote-context">invalid remote context</code></td><td>No valid context document has been found for a referenced,
+         remote context.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.recursive-context-inclusion">recursive context inclusion</code></td><td>A cycle in remote context inclusions has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-base-IRI">invalid base IRI</code></td><td>An invalid <a class="tref internalDFN" title="base-iri" href="#dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></a> has been detected, i.e., it is
+          neither an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> nor <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-vocab-mapping">invalid vocab mapping</code></td><td>An invalid <a class="tref internalDFN" title="vocabulary-mapping" href="#dfn-vocabulary-mapping">vocabulary mapping</a> has been detected, i.e.,
+          it is neither an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> nor <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-default-language">invalid default language</code></td><td>The value of the <a class="tref internalDFN" title="default-language" href="#dfn-default-language">default language</a> is not a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>
+          or <a class="tref internalDFN" title="null" href="#dfn-null">null</a> and thus invalid.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.keyword-redefinition">keyword redefinition</code></td><td>A <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> redefinition has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-term-definition">invalid term definition</code></td><td>An invalid <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a> has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-reverse-property">invalid reverse property</code></td><td>An invalid reverse property definition has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid IRI mapping</code></td><td>A <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> contains a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> that has
+          an invalid or missing <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mapping</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.cyclic-IRI-mapping">cyclic IRI mapping</code></td><td>A cycle in <a class="tref internalDFN" title="iri-mapping" href="#dfn-iri-mapping"><abbr title="Internationalized Resource Identifier">IRI</abbr> mappings</a> has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-keyword-alias">invalid keyword alias</code></td><td>An invalid <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> alias definition has been
+          encountered.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-type-mapping">invalid type mapping</code></td><td>An <code>@type</code> member in a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+          was encountered whose value could not be expanded to an
+          <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-language-mapping">invalid language mapping</code></td><td>An <code>@language</code> member in a <a class="tref internalDFN" title="term-definition" href="#dfn-term-definition">term definition</a>
+          was encountered whose value was neither a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> nor
+          <a class="tref internalDFN" title="null" href="#dfn-null">null</a> and thus invalid.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.colliding-keywords">colliding keywords</code></td><td>Two properties which expand to the same keyword have been detected.
+          This might occur if a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> and an alias thereof
+          are used at the same time.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-container-mapping">invalid container mapping</code></td><td>An <code>@container</code> member was encountered whose value was
+          not one of the following <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>:
+          <code>@list</code>, <code>@set</code>, or <code>@index</code>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-type-value">invalid type value</code></td><td>An invalid value for an <code>@type</code> member has been detected,
+          i.e., the value was neither a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> nor an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+          of <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-value-object">invalid value object</code></td><td>A <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> with disallowed members has been
+          detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-value-object-value">invalid value object value</code></td><td>An invalid value for the <code>@value</code> member of a
+          <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> has been detected, i.e., it is neither
+          a <a class="tref internalDFN" title="scalar" href="#dfn-scalar">scalar</a> nor <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-language-tagged-string">invalid language-tagged string</code></td><td>A <a class="tref internalDFN" title="language-tagged-string" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string">language-tagged string</a> with an invalid language
+          value was detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-language-tagged-value">invalid language-tagged value</code></td><td>A <a class="tref internalDFN" title="number" href="#dfn-number">number</a>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, or <a class="tref internalDFN" title="false" href="#dfn-false">false</a> with an
+          associated language tag was detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-typed-value">invalid typed value</code></td><td>A <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a> with an invalid type was detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-set-or-list-object">invalid set or list object</code></td><td>A <a class="tref internalDFN" title="set-object" href="#dfn-set-object">set object</a> or <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a> with
+          disallowed members has been detected.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-language-map-value">invalid language map value</code></td><td>An invalid value in a <a class="tref externalDFN" title="language-map" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/#dfn-language-map">language map</a>
+          has been detected. It has to be a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> or an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of
+          <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.compaction-to-list-of-lists">compaction to list of lists</code></td><td>The compacted document contains a list of lists as multiple
+          lists have been compacted to the same term.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-reverse-property-map">invalid reverse property map</code></td><td>An invalid reverse property map has been detected. No
+          <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> apart from <code>@context</code>
+          are allowed in reverse property maps.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid--reverse-value">invalid @reverse value</code></td><td>An invalid value for an <code>@reverse</code> member has been detected,
+          i.e., the value was not a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</td></tr><tr><td><code id="idl-def-JsonLdErrorCode.invalid-reverse-property-value">invalid reverse property value</code></td><td>An invalid value for a reverse property has been detected. The value of an inverse
+          property must be a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>.</td></tr></table>
+    </section>
+  </section> <!-- end of Error Handling -->
+</section> <!-- end of The Application Programming Interfaces -->
+
+<section class="appendix informative" id="acknowledgements">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_acknowledgements"><span class="secno">A. </span>Acknowledgements</h2><p><em>This section is non-normative.</em></p>
+
+  <p>A large amount of thanks goes out to the JSON-LD Community Group
+    participants who worked through many of the technical issues on the mailing
+    list and the weekly telecons - of special mention are Niklas Lindström,
+    François Daoust, Lin Clark, and Zdenko 'Denny' Vrandečić.
+    The editors would like to thank Mark Birbeck, who provided a great deal of
+    the initial push behind the JSON-LD work via his work on RDFj.
+    The work of Dave Lehn and Mike Johnson are appreciated for reviewing,
+    and performing several implementations of the specification. Ian Davis is
+    thanked for his work on RDF/JSON. Thanks also to Nathan Rixham,
+    Bradley P. Allen, Kingsley Idehen, Glenn McDonald, Alexandre Passant,
+    Danny Ayers, Ted Thibodeau Jr., Olivier Grisel, Josh Mandel, Eric Prud'hommeaux,
+    David Wood, Guus Schreiber, Pat Hayes, Sandro Hawke, and Richard Cyganiak
+    for their input on the specification.</p>
+</section>
+
+
+
+<section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><!--OddPage--><h2 aria-level="1" role="heading" id="h2_references"><span class="secno">B. </span>References</h2><section id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_normative-references"><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-IEEE-754-2008">[IEEE-754-2008]</dt><dd rel="dcterms:requires"><cite>IEEE 754-2008 Standard for Floating-Point Arithmetic</cite>. URL: <a href="http://standards.ieee.org/findstds/standard/754-2008.html">http://standards.ieee.org/findstds/standard/754-2008.html</a>
+</dd><dt id="bib-JSON-LD">[JSON-LD]</dt><dd rel="dcterms:requires">Manu Sporny, Gregg Kellogg, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/json-ld/">JSON-LD 1.0</a></cite>. 16 January 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/json-ld/">http://www.w3.org/TR/json-ld/</a>
+</dd><dt id="bib-RDF11-MT">[RDF11-MT]</dt><dd rel="dcterms:requires">Patrick J. Hayes, Peter F. Patel-Schneider, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">RDF 1.1 Semantics</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-mt/">http://www.w3.org/TR/rdf11-mt/</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119.  URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:requires">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax (RFC 3986)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:requires">M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-RFC4627">[RFC4627]</dt><dd rel="dcterms:requires">D. Crockford. <a href="http://www.ietf.org/rfc/rfc4627.txt"><cite>The application/json Media Type for JavaScript Object Notation (JSON) (RFC 4627)</cite></a>. July 2006. RFC. URL: <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>
+</dd><dt id="bib-RFC5988">[RFC5988]</dt><dd rel="dcterms:requires">M. Nottingham. <cite><a href="http://www.ietf.org/rfc/rfc5988.txt">Web Linking</a></cite>. October 2010. Internet RFC 5988. URL: <a href="http://www.ietf.org/rfc/rfc5988.txt">http://www.ietf.org/rfc/rfc5988.txt</a>
+</dd><dt id="bib-XMLSCHEMA11-2">[XMLSCHEMA11-2]</dt><dd rel="dcterms:requires">David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. <a href="http://www.w3.org/TR/xmlschema11-2/"><cite>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</cite></a>. 5 April 2012. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema11-2/">http://www.w3.org/TR/xmlschema11-2/</a>
+</dd></dl></section><section id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_informative-references"><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:references">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a>. September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a>
+</dd><dt id="bib-ECMA-262">[ECMA-262]</dt><dd rel="dcterms:references"><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"><cite>ECMAScript Language Specification, Edition 5.1</cite></a>. June 2011. URL: <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">http://www.ecma-international.org/publications/standards/Ecma-262.htm</a>
+</dd><dt id="bib-JSON-LD-TESTS">[JSON-LD-TESTS]</dt><dd rel="dcterms:references"><cite><a href="http://www.w3.org/2013/json-ld-tests/">JSON-LD 1.0 Test Suite</a></cite>. W3C Test Suite. URL: <a href="http://www.w3.org/2013/json-ld-tests/">http://www.w3.org/2013/json-ld-tests/</a>
+</dd><dt id="bib-PROMISES">[PROMISES]</dt><dd rel="dcterms:references">Domenic Denicola. <cite><a href="https://github.com/domenic/promises-unwrapping">Promise Objects</a></cite>. January 2014 (work in progress). URL: <a href="http://www.w3.org/2013/10/json-ld-api/snapshot-promises-draft">http://www.w3.org/2013/10/json-ld-api/snapshot-promises-draft</a>. The latest draft is available at <a href="https://github.com/domenic/promises-unwrapping">https://github.com/domenic/promises-unwrapping</a>
+</dd><dt id="bib-RDF11-CONCEPTS">[RDF11-CONCEPTS]</dt><dd rel="dcterms:references">Richard Cyganiak, David Wood, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">RDF 1.1 Concepts and Abstract Syntax</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
+</dd><dt id="bib-RFC6839">[RFC6839]</dt><dd rel="dcterms:references">Tony Hansen, Alexey Melnikov. <cite><a href="http://www.ietf.org/rfc/rfc6839.txt">Additional Media Type Structured Syntax Suffixes</a>.</cite> January 2013. Internet RFC 6839. URL: <a href="http://www.ietf.org/rfc/rfc6839.txt">http://www.ietf.org/rfc/rfc6839.txt</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:references">Eric Prud'hommeaux, Gavin Carothers, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">RDF 1.1 Turtle: Terse RDF Triple Language</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">http://www.w3.org/TR/2014/PR-turtle-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
+</dd><dt id="bib-WEBIDL">[WEBIDL]</dt><dd rel="dcterms:references">Cameron McCormack, Editor. <cite><a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">Web IDL</a></cite>. 19 April 2012. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">http://www.w3.org/TR/2012/CR-WebIDL-20120419/</a>. The latest edition is available at <a href="http://www.w3.org/TR/WebIDL/">http://www.w3.org/TR/WebIDL/</a>
+</dd></dl></section></section></body></html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/REC/json-ld/20140116/diff-20131105.html	Fri Jan 10 13:53:42 2014 +0100
@@ -0,0 +1,22550 @@
+<html lang="en" dir="ltr" typeof="bibo:Document w3p:REC" about="" property="dcterms:language" content="en" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>JSON-LD 1.0</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<style type="text/css">
+/*<![CDATA[*/
+  .highlight { font-weight: bold; color: #0a3; }
+  .comment { color: #999; }
+  table, thead, tr, td { padding: 5px; border-width: 1px; border-spacing: 0px; border-style: solid; border-collapse: collapse; }
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- INLINES --- */
+em.rfc2119 {
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- EXAMPLES --- */
+div.example-title {
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.example-title span {
+    text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+    border-color: #e0cb52;
+    background: #fcfaee;
+}
+
+aside.example div.example {
+    border-left-width: .1em;
+    border-color: #999;
+    background: #fff;
+}
+aside.example div.example div.example-title {
+    color: #999;
+}
+/*]]>*/
+</style>
+
+<style type="text/css">
+/*<![CDATA[*/
+/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 1em 1.2em 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+/*]]>*/
+</style>
+<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-REC" type="text/css" /><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]-->
+<style type='text/css'>
+.diff-old-a {
+  font-size: smaller;
+  color: red;
+}
+
+.diff-new { background-color: yellow; }
+.diff-chg { background-color: lime; }
+.diff-new:before,
+.diff-new:after
+    { content: "\2191" }
+.diff-chg:before, .diff-chg:after
+    { content: "\2195" }
+.diff-old { text-decoration: line-through; background-color: #FBB; }
+.diff-old:before,
+.diff-old:after
+    { content: "\2193" }
+:focus { border: thin red solid}
+</style>
+</head>
+<body class="h-entry" role="document" id="respecDocument">
+<div class="head" role="contentinfo" id="respecHeader">
+<p>
+<a href="http://www.w3.org/">
+<img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C" />
+</a>
+</p>
+<h1 class="title p-name" id="title" property="dcterms:title">
+JSON-LD
+1.0
+</h1>
+<h2 property="bibo:subtitle" id="subtitle">
+A
+JSON-based
+Serialization
+for
+Linked
+Data
+</h2>
+<h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-01-15T23:00:00.000Z" id="w3c-recommendation-16-january-2014">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+<del class="diff-old">Proposed
+</del>
+Recommendation
+<del class="diff-old">05
+November
+2013
+</del>
+<time class="dt-published" datetime="2014-01-16">
+<ins class="diff-chg">16
+January
+2014
+</ins>
+</time>
+</h2>
+<dl>
+<dt>
+This
+version:
+</dt>
+<dd>
+<del class="diff-old">http://www.w3.org/TR/2013/PR-json-ld-20131105/
+</del>
+<a class="u-url" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/REC-json-ld-20140116/
+</ins>
+</a>
+</dd>
+<dt>
+Latest
+published
+version:
+</dt>
+<dd>
+<a href="http://www.w3.org/TR/json-ld/">
+http://www.w3.org/TR/json-ld/
+</a>
+</dd>
+<dt>
+<del class="diff-old">Latest
+editor's
+draft:
+http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld/index.html
+</del>
+Previous
+version:
+</dt>
+<dd>
+<del class="diff-old">http://www.w3.org/TR/2013/CR-json-ld-20130910/
+</del>
+<a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/PR-json-ld-20131105/">
+<ins class="diff-chg">http://www.w3.org/TR/2013/PR-json-ld-20131105/
+</ins>
+</a>
+</dd>
+<dt>
+Editors:
+</dt>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">
+Manu
+Sporny
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
+Gregg
+Kellogg
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">
+Kellogg
+Associates
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist="">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
+Markus
+Lanthaler
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">
+Graz
+University
+of
+Technology
+</a>
+</span>
+</dd>
+<dt>
+Authors:
+</dt>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">
+Manu
+Sporny
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">
+Dave
+Longley
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">
+Digital
+Bazaar
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
+Gregg
+Kellogg
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">
+Kellogg
+Associates
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
+Markus
+Lanthaler
+</a>,
+<a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">
+Graz
+University
+of
+Technology
+</a>
+</span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor">
+<span typeof="foaf:Person">
+<a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Niklas Lindström" href="http://neverspace.net/">
+Niklas
+Lindström
+</a>
+</span>
+</dd>
+</dl>
+<p>
+<ins class="diff-new">Please
+refer
+to
+the
+</ins><a href="http://www.w3.org/2014/json-ld-errata/#syntax"><strong><ins class="diff-new">
+errata
+</ins></strong></a><ins class="diff-new">
+for
+this
+document,
+which
+may
+include
+some
+normative
+corrections.
+</ins></p><p>
+This
+document
+is
+also
+available
+in
+this
+non-normative
+format:
+<a rel="alternate" href="diff-20131105.html">
+diff
+to
+previous
+version
+</a>
+</p>
+<p>
+<ins class="diff-new">The
+English
+version
+of
+this
+specification
+is
+the
+only
+normative
+version.
+Non-normative
+</ins><a href="http://www.w3.org/Consortium/Translation/"><ins class="diff-new">
+translations
+</ins></a><ins class="diff-new">
+may
+also
+be
+available.
+</ins>
+</p>
+<p class="copyright">
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">
+Copyright
+</a>

+<del class="diff-old">2010-2013
+</del>
+<ins class="diff-chg">2010-2014
+</ins>
+<a href="http://www.w3.org/">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+</a>
+<sup>

+</sup>
+(
+<a href="http://www.csail.mit.edu/">
+<abbr title="Massachusetts Institute of Technology">
+MIT
+</abbr>
+</a>,
+<a href="http://www.ercim.eu/">
+<abbr title="European Research Consortium for Informatics and Mathematics">
+ERCIM
+</abbr>
+</a>,
+<a href="http://www.keio.ac.jp/">
+Keio
+</a>,
+<a href="http://ev.buaa.edu.cn/">
+Beihang
+</a>
+),
+All
+Rights
+Reserved.
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">
+liability
+</a>,
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">
+trademark
+</a>
+and
+<a href="http://www.w3.org/Consortium/Legal/copyright-documents">
+document
+use
+</a>
+rules
+apply.
+</p>
+<hr />
+</div>
+<section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_abstract">
+Abstract
+</h2>
+<p>
+JSON
+is
+a
+useful
+data
+serialization
+and
+messaging
+format.
+This
+specification
+defines
+JSON-LD,
+a
+JSON-based
+format
+to
+serialize
+Linked
+Data.
+The
+syntax
+is
+designed
+to
+easily
+integrate
+into
+deployed
+systems
+that
+already
+use
+JSON,
+and
+provides
+a
+smooth
+upgrade
+path
+from
+JSON
+to
+JSON-LD.
+It
+is
+primarily
+intended
+to
+be
+a
+way
+to
+use
+Linked
+Data
+in
+Web-based
+programming
+environments,
+to
+build
+interoperable
+Web
+services,
+and
+to
+store
+Linked
+Data
+in
+JSON-based
+storage
+engines.
+</p>
+</section>
+<section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_sotd">
+Status
+of
+This
+Document
+</h2>
+<p>
+<em>
+This
+section
+describes
+the
+status
+of
+this
+document
+at
+the
+time
+of
+its
+publication.
+Other
+documents
+may
+supersede
+this
+document.
+A
+list
+of
+current
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+publications
+and
+the
+latest
+revision
+of
+this
+technical
+report
+can
+be
+found
+in
+the
+<a href="http://www.w3.org/TR/">
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+technical
+reports
+index
+</a>
+at
+http://www.w3.org/TR/.
+</em>
+</p>
+<p>
+This
+document
+has
+been
+<del class="diff-old">under
+development
+for
+over
+31
+months
+</del>
+<ins class="diff-chg">reviewed
+by
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+Members,
+by
+software
+developers,
+and
+by
+other
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+groups
+and
+interested
+parties,
+and
+is
+endorsed
+by
+the
+Director
+as
+a
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+Recommendation.
+It
+is
+a
+stable
+document
+and
+may
+be
+used
+as
+reference
+material
+or
+cited
+from
+another
+document.
+</ins><abbr title="World Wide Web Consortium"><ins class="diff-chg">
+W3C
+</ins></abbr><ins class="diff-chg">
+'s
+role
+</ins>
+in
+<ins class="diff-new">making
+the
+Recommendation
+is
+to
+draw
+attention
+to
+the
+specification
+and
+to
+promote
+its
+widespread
+deployment.
+This
+enhances
+the
+functionality
+and
+interoperability
+of
+the
+Web.
+</ins></p><p><ins class="diff-new">
+This
+specification
+has
+been
+developed
+by
+</ins>
+the
+JSON
+for
+Linking
+Data
+Community
+<del class="diff-old">Group.
+The
+document
+</del>
+<ins class="diff-chg">Group
+before
+it
+</ins>
+has
+been
+transferred
+to
+the
+RDF
+Working
+Group
+for
+review,
+improvement,
+and
+<del class="diff-old">publication.
+</del>
+<ins class="diff-chg">publication
+along
+the
+Recommendation
+track.
+</ins>
+The
+<del class="diff-old">specification
+has
+undergone
+significant
+development,
+review,
+and
+</del>
+<ins class="diff-chg">document
+contains
+small
+editorial
+</ins>
+changes
+<ins class="diff-new">arising
+from
+comments
+received
+</ins>
+during
+the
+<del class="diff-old">course
+of
+</del>
+<ins class="diff-chg">Proposed
+Recommendation
+review;
+see
+</ins>
+the
+<del class="diff-old">last
+31
+months.
+</del>
+<a href="diff-20131105.html">
+<ins class="diff-chg">diff-marked
+version
+</ins></a><ins class="diff-chg">
+for
+details.
+</ins>
+</p>
+<p>
+There
+are
+several
+independent
+interoperable
+implementations
+of
+this
+specification.
+<del class="diff-old">There
+is
+a
+fairly
+complete
+test
+suite
+[
+JSON-LD-TESTS
+]
+and
+a
+live
+JSON-LD
+editor
+</del>
+<ins class="diff-chg">An
+</ins><a href="https://dvcs.w3.org/hg/json-ld/raw-file/default/test-suite/reports/cr-20131022.html"><ins class="diff-chg">
+implementation
+report
+</ins>
+</a>
+<del class="diff-old">that
+is
+capable
+</del>
+<ins class="diff-chg">as
+</ins>
+of
+<del class="diff-old">demonstrating
+the
+features
+described
+in
+this
+document.
+While
+development
+on
+implementations,
+the
+test
+suite
+and
+the
+live
+editor
+will
+continue,
+they
+are
+believed
+to
+be
+mature
+enough
+to
+be
+integrated
+into
+a
+non-production
+system
+at
+this
+point
+in
+time
+with
+the
+expectation
+that
+they
+could
+be
+used
+in
+a
+production
+system
+within
+the
+next
+two
+months.
+Changes
+since
+the
+10&nbsp;September&nbsp;2013
+Candidate
+Recommendation
+:
+</del>
+<ins class="diff-chg">October&#160;2013
+is
+available.
+</ins>
+</p>
+<del class="diff-old">Clarify
+context-sensitivity
+of
+@type
+</del>
+<p>
+This
+document
+was
+published
+by
+the
+<a href="http://www.w3.org/2011/rdf-wg/">
+RDF
+Working
+Group
+</a>
+as
+a
+<del class="diff-old">Proposed
+</del>
+Recommendation.
+<del class="diff-old">This
+document
+is
+intended
+to
+become
+a
+W3C
+Recommendation.
+The
+W3C
+Membership
+and
+other
+interested
+parties
+are
+invited
+</del>
+<ins class="diff-chg">If
+you
+wish
+</ins>
+to
+<del class="diff-old">review
+the
+document
+and
+send
+</del>
+<ins class="diff-chg">make
+</ins>
+comments
+<ins class="diff-new">regarding
+this
+document,
+please
+send
+them
+</ins>
+to
+<a href="mailto:public-rdf-comments@w3.org">
+public-rdf-comments@w3.org
+</a>
+(
+<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">
+subscribe
+</a>,
+<a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">
+archives
+</a>
+<del class="diff-old">)
+through
+05
+December
+2013.
+Advisory
+Committee
+Representatives
+should
+consult
+their
+WBS
+questionnaires
+.
+Note
+that
+substantive
+technical
+</del>
+<ins class="diff-chg">).
+All
+</ins>
+comments
+<del class="diff-old">were
+expected
+during
+the
+Last
+Call
+review
+period
+that
+ended
+10
+May
+2013.
+Publication
+as
+a
+Proposed
+Recommendation
+does
+not
+imply
+endorsement
+by
+the
+W3C
+Membership.
+This
+is
+a
+draft
+document
+and
+may
+be
+updated,
+replaced
+or
+obsoleted
+by
+other
+documents
+at
+any
+time.
+It
+is
+inappropriate
+to
+cite
+this
+document
+as
+other
+than
+work
+in
+progress.
+</del>
+<ins class="diff-chg">are
+welcome.
+</ins>
+</p>
+<p>
+This
+document
+was
+produced
+by
+a
+group
+operating
+under
+the
+<a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">
+5
+February
+2004
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+Patent
+Policy
+</a>.
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+maintains
+a
+<a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">
+public
+list
+of
+any
+patent
+disclosures
+</a>
+made
+in
+connection
+with
+the
+deliverables
+of
+the
+group;
+that
+page
+also
+includes
+instructions
+for
+disclosing
+a
+patent.
+An
+individual
+who
+has
+actual
+knowledge
+of
+a
+patent
+which
+the
+individual
+believes
+contains
+<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
+Essential
+Claim(s)
+</a>
+must
+disclose
+the
+information
+in
+accordance
+with
+<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
+section
+6
+of
+the
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+Patent
+Policy
+</a>.
+</p>
+</section>
+<section id="toc">
+<h2 class="introductory" aria-level="1" role="heading" id="h2_toc">
+Table
+of
+Contents
+</h2>
+<ul class="toc" role="directory" id="respecContents">
+<li class="tocline">
+<a href="#introduction" class="tocxref">
+<span class="secno">
+1.
+</span>
+Introduction
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#how-to-read-this-document" class="tocxref">
+<span class="secno">
+1.1
+</span>
+How
+to
+Read
+this
+Document
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#design-goals-and-rationale" class="tocxref">
+<span class="secno">
+2.
+</span>
+Design
+Goals
+and
+Rationale
+</a>
+</li>
+<li class="tocline">
+<a href="#terminology" class="tocxref">
+<span class="secno">
+3.
+</span>
+Terminology
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#general-terminology" class="tocxref">
+<span class="secno">
+3.1
+</span>
+General
+Terminology
+</a>
+</li>
+<li class="tocline">
+<a href="#data-model-overview" class="tocxref">
+<span class="secno">
+3.2
+</span>
+Data
+Model
+Overview
+</a>
+</li>
+<li class="tocline">
+<a href="#syntax-tokens-and-keywords" class="tocxref">
+<span class="secno">
+3.3
+</span>
+Syntax
+Tokens
+and
+Keywords
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#conformance" class="tocxref">
+<span class="secno">
+4.
+</span>
+Conformance
+</a>
+</li>
+<li class="tocline">
+<a href="#basic-concepts" class="tocxref">
+<span class="secno">
+5.
+</span>
+Basic
+Concepts
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#the-context" class="tocxref">
+<span class="secno">
+5.1
+</span>
+The
+Context
+</a>
+</li>
+<li class="tocline">
+<a href="#iris" class="tocxref">
+<span class="secno">
+5.2
+</span>
+IRIs
+</a>
+</li>
+<li class="tocline">
+<a href="#node-identifiers" class="tocxref">
+<span class="secno">
+5.3
+</span>
+Node
+Identifiers
+</a>
+</li>
+<li class="tocline">
+<a href="#specifying-the-type" class="tocxref">
+<span class="secno">
+5.4
+</span>
+Specifying
+the
+Type
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#advanced-concepts" class="tocxref">
+<span class="secno">
+6.
+</span>
+Advanced
+Concepts
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#base-iri" class="tocxref">
+<span class="secno">
+6.1
+</span>
+Base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+</li>
+<li class="tocline">
+<a href="#default-vocabulary" class="tocxref">
+<span class="secno">
+6.2
+</span>
+Default
+Vocabulary
+</a>
+</li>
+<li class="tocline">
+<a href="#compact-iris" class="tocxref">
+<span class="secno">
+6.3
+</span>
+Compact
+IRIs
+</a>
+</li>
+<li class="tocline">
+<a href="#typed-values" class="tocxref">
+<span class="secno">
+6.4
+</span>
+Typed
+Values
+</a>
+</li>
+<li class="tocline">
+<a href="#type-coercion" class="tocxref">
+<span class="secno">
+6.5
+</span>
+Type
+Coercion
+</a>
+</li>
+<li class="tocline">
+<a href="#embedding" class="tocxref">
+<span class="secno">
+6.6
+</span>
+Embedding
+</a>
+</li>
+<li class="tocline">
+<a href="#advanced-context-usage" class="tocxref">
+<span class="secno">
+6.7
+</span>
+Advanced
+Context
+Usage
+</a>
+</li>
+<li class="tocline">
+<a href="#interpreting-json-as-json-ld" class="tocxref">
+<span class="secno">
+6.8
+</span>
+Interpreting
+JSON
+as
+JSON-LD
+</a>
+</li>
+<li class="tocline">
+<a href="#string-internationalization" class="tocxref">
+<span class="secno">
+6.9
+</span>
+String
+Internationalization
+</a>
+</li>
+<li class="tocline">
+<a href="#iri-expansion-within-a-context" class="tocxref">
+<span class="secno">
+6.10
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+within
+a
+Context
+</a>
+</li>
+<li class="tocline">
+<a href="#sets-and-lists" class="tocxref">
+<span class="secno">
+6.11
+</span>
+Sets
+and
+Lists
+</a>
+</li>
+<li class="tocline">
+<a href="#reverse-properties" class="tocxref">
+<span class="secno">
+6.12
+</span>
+Reverse
+Properties
+</a>
+</li>
+<li class="tocline">
+<a href="#named-graphs" class="tocxref">
+<span class="secno">
+6.13
+</span>
+Named
+Graphs
+</a>
+</li>
+<li class="tocline">
+<a href="#identifying-blank-nodes" class="tocxref">
+<span class="secno">
+6.14
+</span>
+Identifying
+Blank
+Nodes
+</a>
+</li>
+<li class="tocline">
+<a href="#aliasing-keywords" class="tocxref">
+<span class="secno">
+6.15
+</span>
+Aliasing
+Keywords
+</a>
+</li>
+<li class="tocline">
+<a href="#data-indexing" class="tocxref">
+<span class="secno">
+6.16
+</span>
+Data
+Indexing
+</a>
+</li>
+<li class="tocline">
+<a href="#expanded-document-form" class="tocxref">
+<span class="secno">
+6.17
+</span>
+Expanded
+Document
+Form
+</a>
+</li>
+<li class="tocline">
+<a href="#compacted-document-form" class="tocxref">
+<span class="secno">
+6.18
+</span>
+Compacted
+Document
+Form
+</a>
+</li>
+<li class="tocline">
+<a href="#flattened-document-form" class="tocxref">
+<span class="secno">
+6.19
+</span>
+Flattened
+Document
+Form
+</a>
+</li>
+<li class="tocline">
+<a href="#embedding-json-ld-in-html-documents" class="tocxref">
+<span class="secno">
+6.20
+</span>
+Embedding
+JSON-LD
+in
+HTML
+Documents
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#data-model" class="tocxref">
+<span class="secno">
+7.
+</span>
+Data
+Model
+</a>
+</li>
+<li class="tocline">
+<a href="#json-ld-grammar" class="tocxref">
+<span class="secno">
+8.
+</span>
+JSON-LD
+Grammar
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#terms" class="tocxref">
+<span class="secno">
+8.1
+</span>
+Terms
+</a>
+</li>
+<li class="tocline">
+<a href="#node-objects" class="tocxref">
+<span class="secno">
+8.2
+</span>
+Node
+Objects
+</a>
+</li>
+<li class="tocline">
+<a href="#value-objects" class="tocxref">
+<span class="secno">
+8.3
+</span>
+Value
+Objects
+</a>
+</li>
+<li class="tocline">
+<a href="#lists-and-sets" class="tocxref">
+<span class="secno">
+8.4
+</span>
+Lists
+and
+Sets
+</a>
+</li>
+<li class="tocline">
+<a href="#language-maps" class="tocxref">
+<span class="secno">
+8.5
+</span>
+Language
+Maps
+</a>
+</li>
+<li class="tocline">
+<a href="#index-maps" class="tocxref">
+<span class="secno">
+8.6
+</span>
+Index
+Maps
+</a>
+</li>
+<li class="tocline">
+<a href="#context-definitions" class="tocxref">
+<span class="secno">
+8.7
+</span>
+Context
+Definitions
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#relationship-to-rdf" class="tocxref">
+<span class="secno">
+9.
+</span>
+Relationship
+to
+RDF
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#serializing-deserializing-rdf" class="tocxref">
+<span class="secno">
+9.1
+</span>
+Serializing/Deserializing
+RDF
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#relationship-to-other-linked-data-formats" class="tocxref">
+<span class="secno">
+A.
+</span>
+Relationship
+to
+Other
+Linked
+Data
+Formats
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#turtle" class="tocxref">
+<span class="secno">
+A.1
+</span>
+Turtle
+</a>
+</li>
+<li class="tocline">
+<a href="#rdfa" class="tocxref">
+<span class="secno">
+A.2
+</span>
+RDFa
+</a>
+</li>
+<li class="tocline">
+<a href="#microformats" class="tocxref">
+<span class="secno">
+A.3
+</span>
+Microformats
+</a>
+</li>
+<li class="tocline">
+<a href="#microdata" class="tocxref">
+<span class="secno">
+A.4
+</span>
+Microdata
+</a>
+</li>
+</ul>
+</li>
+<li class="tocline">
+<a href="#iana-considerations" class="tocxref">
+<span class="secno">
+B.
+</span>
+IANA
+Considerations
+</a>
+</li>
+<li class="tocline">
+<a href="#acknowledgements" class="tocxref">
+<span class="secno">
+C.
+</span>
+Acknowledgements
+</a>
+</li>
+<li class="tocline">
+<a href="#references" class="tocxref">
+<span class="secno">
+D.
+</span>
+References
+</a>
+<ul class="toc">
+<li class="tocline">
+<a href="#normative-references" class="tocxref">
+<span class="secno">
+D.1
+</span>
+Normative
+references
+</a>
+</li>
+<li class="tocline">
+<a href="#informative-references" class="tocxref">
+<span class="secno">
+D.2
+</span>
+Informative
+references
+</a>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="informative" id="introduction">
+<h2 aria-level="1" role="heading" id="h2_introduction">
+<span class="secno">
+1.
+</span>
+Introduction
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Linked
+Data
+[
+<cite>
+<a class="bibref" href="#bib-LINKED-DATA">
+LINKED-DATA
+</a>
+</cite>
+]
+is
+a
+way
+to
+create
+a
+network
+of
+standards-based
+machine
+interpretable
+data
+across
+different
+documents
+and
+Web
+sites.
+It
+allows
+an
+application
+to
+start
+at
+one
+piece
+of
+Linked
+Data,
+and
+follow
+embedded
+links
+to
+other
+pieces
+of
+Linked
+Data
+that
+are
+hosted
+on
+different
+sites
+across
+the
+Web.
+</p>
+<p>
+JSON-LD
+is
+a
+lightweight
+syntax
+to
+serialize
+Linked
+Data
+in
+JSON
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+Its
+design
+allows
+existing
+JSON
+to
+be
+interpreted
+as
+Linked
+Data
+with
+minimal
+changes.
+JSON-LD
+is
+primarily
+intended
+to
+be
+a
+way
+to
+use
+Linked
+Data
+in
+Web-based
+programming
+environments,
+to
+build
+interoperable
+Web
+services,
+and
+to
+store
+Linked
+Data
+in
+JSON-based
+storage
+engines.
+Since
+JSON-LD
+is
+100%
+compatible
+with
+JSON,
+the
+large
+number
+of
+JSON
+parsers
+and
+libraries
+available
+today
+can
+be
+reused.
+In
+addition
+to
+all
+the
+features
+JSON
+provides,
+JSON-LD
+introduces:
+</p>
+<ul>
+<li>
+a
+universal
+identifier
+mechanism
+for
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>
+via
+the
+use
+of
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+</li>
+<li>
+a
+way
+to
+disambiguate
+keys
+shared
+among
+different
+JSON
+documents
+by
+mapping
+them
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+via
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>,
+</li>
+<li>
+a
+mechanism
+in
+which
+a
+value
+in
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+may
+refer
+to
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+on
+a
+different
+site
+on
+the
+Web,
+</li>
+<li>
+the
+ability
+to
+annotate
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+with
+their
+language,
+</li>
+<li>
+a
+way
+to
+associate
+datatypes
+with
+values
+such
+as
+dates
+and
+times,
+</li>
+<li>
+and
+a
+facility
+to
+express
+one
+or
+more
+directed
+graphs,
+such
+as
+a
+social
+network,
+in
+a
+single
+document.
+</li>
+</ul>
+<p>
+JSON-LD
+is
+designed
+to
+be
+usable
+directly
+as
+JSON,
+with
+no
+knowledge
+of
+RDF
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+It
+is
+also
+designed
+to
+be
+usable
+as
+RDF,
+if
+desired,
+for
+use
+with
+other
+Linked
+Data
+technologies
+like
+SPARQL.
+Developers
+who
+require
+any
+of
+the
+facilities
+listed
+above
+or
+need
+to
+serialize
+an
+RDF
+Graph
+or
+RDF
+Dataset
+in
+a
+JSON-based
+syntax
+will
+find
+JSON-LD
+of
+interest.
+People
+intending
+to
+use
+JSON-LD
+with
+RDF
+tools
+will
+find
+it
+can
+be
+used
+as
+another
+RDF
+syntax,
+like
+Turtle
+[
+<cite>
+<a class="bibref" href="#bib-TURTLE">
+TURTLE
+</a>
+</cite>
+].
+Complete
+details
+of
+how
+JSON-LD
+relates
+to
+RDF
+are
+in
+section
+<a href="#relationship-to-rdf" class="sec-ref">
+<span class="secno">
+9.
+</span>
+<span class="sec-title">
+Relationship
+to
+RDF
+</span>
+</a>.
+</p>
+<p>
+The
+syntax
+is
+designed
+to
+not
+disturb
+already
+deployed
+systems
+running
+on
+JSON,
+but
+provide
+a
+smooth
+upgrade
+path
+from
+JSON
+to
+JSON-LD.
+Since
+the
+shape
+of
+such
+data
+varies
+wildly,
+JSON-LD
+features
+mechanisms
+to
+reshape
+documents
+into
+a
+deterministic
+structure
+which
+simplifies
+their
+processing.
+</p>
+<section class="informative" id="how-to-read-this-document">
+<h3 aria-level="2" role="heading" id="h3_how-to-read-this-document">
+<span class="secno">
+1.1
+</span>
+How
+to
+Read
+this
+Document
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+This
+document
+is
+a
+detailed
+specification
+for
+a
+serialization
+of
+Linked
+Data
+in
+JSON.
+The
+document
+is
+primarily
+intended
+for
+the
+following
+audiences:
+</p>
+<ul>
+<li>
+Software
+developers
+who
+want
+to
+encode
+Linked
+Data
+in
+a
+variety
+of
+programming
+languages
+that
+can
+use
+JSON
+</li>
+<li>
+Software
+developers
+who
+want
+to
+convert
+existing
+JSON
+to
+JSON-LD
+</li>
+<li>
+Software
+developers
+who
+want
+to
+understand
+the
+design
+decisions
+and
+language
+syntax
+for
+JSON-LD
+</li>
+<li>
+Software
+developers
+who
+want
+to
+implement
+processors
+and
+APIs
+for
+JSON-LD
+</li>
+<li>
+Software
+developers
+who
+want
+to
+generate
+or
+consume
+Linked
+Data,
+an
+RDF
+graph,
+or
+an
+RDF
+Dataset
+in
+a
+JSON
+syntax
+</li>
+</ul>
+<p>
+A
+companion
+document,
+the
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+],
+specifies
+how
+to
+work
+with
+JSON-LD
+at
+a
+higher
+level
+by
+providing
+a
+standard
+library
+interface
+for
+common
+JSON-LD
+operations.
+</p>
+<p>
+To
+understand
+the
+basics
+in
+this
+specification
+you
+must
+first
+be
+familiar
+with
+JSON,
+which
+is
+detailed
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+</p>
+<p>
+This
+document
+almost
+exclusively
+uses
+the
+term
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+(
+<a href="http://www.w3.org/TR/ld-glossary/#internationalized-resource-identifier">
+Internationalized
+Resource
+Indicator
+</a>
+)
+when
+discussing
+hyperlinks.
+Many
+Web
+developers
+are
+more
+familiar
+with
+the
+URL
+(
+<a href="http://www.w3.org/TR/ld-glossary/#uniform-resource-locator">
+Uniform
+Resource
+Locator
+</a>
+)
+terminology.
+The
+document
+also
+uses,
+albeit
+rarely,
+the
+URI
+(
+<a href="http://www.w3.org/TR/ld-glossary/#uniform-resource-identifier">
+Uniform
+Resource
+Indicator
+</a>
+)
+terminology.
+While
+these
+terms
+are
+often
+used
+interchangeably
+among
+technical
+communities,
+they
+do
+have
+important
+distinctions
+from
+one
+another
+and
+the
+specification
+goes
+to
+great
+lengths
+to
+try
+and
+use
+the
+proper
+terminology
+at
+all
+times.
+</p>
+</section>
+</section>
+<section class="informative" id="design-goals-and-rationale">
+<h2 aria-level="1" role="heading" id="h2_design-goals-and-rationale">
+<span class="secno">
+2.
+</span>
+Design
+Goals
+and
+Rationale
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON-LD
+satisfies
+the
+following
+design
+goals:
+</p>
+<dl>
+<dt>
+Simplicity
+</dt>
+<dd>
+No
+extra
+processors
+or
+software
+libraries
+are
+necessary
+to
+use
+JSON-LD
+in
+its
+most
+basic
+form.
+The
+language
+provides
+developers
+with
+a
+very
+easy
+learning
+curve.
+Developers
+only
+need
+to
+know
+JSON
+and
+two
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+(
+<code>
+@context
+</code>
+and
+<code>
+@id
+</code>
+)
+to
+use
+the
+basic
+functionality
+in
+JSON-LD.
+</dd>
+<dt>
+Compatibility
+</dt>
+<dd>
+A
+JSON-LD
+document
+is
+always
+a
+valid
+JSON
+document.
+This
+ensures
+that
+all
+of
+the
+standard
+JSON
+libraries
+work
+seamlessly
+with
+JSON-LD
+documents.
+</dd>
+<dt>
+Expressiveness
+</dt>
+<dd>
+The
+syntax
+serializes
+directed
+graphs.
+This
+ensures
+that
+almost
+every
+real
+world
+data
+model
+can
+be
+expressed.
+</dd>
+<dt>
+Terseness
+</dt>
+<dd>
+The
+JSON-LD
+syntax
+is
+very
+terse
+and
+human
+readable,
+requiring
+as
+little
+effort
+as
+possible
+from
+the
+developer.
+</dd>
+<dt>
+Zero
+Edits,
+most
+of
+the
+time
+</dt>
+<dd>
+JSON-LD
+ensures
+a
+smooth
+and
+simple
+transition
+from
+existing
+JSON-based
+systems.
+In
+many
+cases,
+zero
+edits
+to
+the
+JSON
+document
+and
+the
+addition
+of
+one
+line
+to
+the
+HTTP
+response
+should
+suffice
+(see
+<a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">
+section
+6.8
+Interpreting
+JSON
+as
+JSON-LD
+</a>
+).
+This
+allows
+organizations
+that
+have
+already
+deployed
+large
+JSON-based
+infrastructure
+to
+use
+JSON-LD's
+features
+in
+a
+way
+that
+is
+not
+disruptive
+to
+their
+day-to-day
+operations
+and
+is
+transparent
+to
+their
+current
+customers.
+However,
+there
+are
+times
+where
+mapping
+JSON
+to
+a
+graph
+representation
+is
+a
+complex
+undertaking.
+In
+these
+instances,
+rather
+than
+extending
+JSON-LD
+to
+support
+esoteric
+use
+cases,
+we
+chose
+not
+to
+support
+the
+use
+case.
+While
+Zero
+Edits
+is
+a
+design
+goal,
+it
+is
+not
+always
+possible
+without
+adding
+great
+complexity
+to
+the
+language.
+JSON-LD
+focuses
+on
+simplicity
+when
+possible.
+</dd>
+<dt>
+Usable
+as
+RDF
+</dt>
+<dd>
+JSON-LD
+is
+usable
+by
+developers
+as
+idiomatic
+JSON,
+with
+no
+need
+to
+understand
+RDF
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+JSON-LD
+is
+also
+usable
+as
+RDF,
+so
+people
+intending
+to
+use
+JSON-LD
+with
+RDF
+tools
+will
+find
+it
+can
+be
+used
+like
+any
+other
+RDF
+syntax.
+Complete
+details
+of
+how
+JSON-LD
+relates
+to
+RDF
+are
+in
+section
+<a href="#relationship-to-rdf" class="sec-ref">
+<span class="secno">
+9.
+</span>
+<span class="sec-title">
+Relationship
+to
+RDF
+</span>
+</a>.
+</dd>
+</dl>
+</section>
+<section class="normative" id="terminology">
+<h2 aria-level="1" role="heading" id="h2_terminology">
+<span class="secno">
+3.
+</span>
+Terminology
+</h2>
+<section class="normative" id="general-terminology">
+<h3 aria-level="2" role="heading" id="h3_general-terminology">
+<span class="secno">
+3.1
+</span>
+General
+Terminology
+</h3>
+<p>
+This
+document
+uses
+the
+following
+terms
+as
+defined
+in
+JSON
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+Refer
+to
+the
+<em>
+JSON
+Grammar
+</em>
+section
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+]
+for
+formal
+definitions.
+</p>
+<dl>
+<dt>
+<dfn title="json-object" id="dfn-json-object">
+JSON
+object
+</dfn>
+</dt>
+<dd>
+An
+object
+structure
+is
+represented
+as
+a
+pair
+of
+curly
+brackets
+surrounding
+zero
+or
+more
+key-value
+pairs.
+A
+key
+is
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+A
+single
+colon
+comes
+after
+each
+key,
+separating
+the
+key
+from
+the
+value.
+A
+single
+comma
+separates
+a
+value
+from
+a
+following
+key.
+In
+contrast
+to
+JSON,
+in
+JSON-LD
+the
+keys
+in
+an
+object
+must
+be
+unique.
+</dd>
+<dt>
+<dfn title="array" id="dfn-array">
+array
+</dfn>
+</dt>
+<dd>
+An
+array
+structure
+is
+represented
+as
+square
+brackets
+surrounding
+zero
+or
+more
+values.
+Values
+are
+separated
+by
+commas.
+In
+JSON,
+an
+array
+is
+an
+<em>
+ordered
+</em>
+sequence
+of
+zero
+or
+more
+values.
+While
+JSON-LD
+uses
+the
+same
+array
+representation
+as
+JSON,
+the
+collection
+is
+<em>
+unordered
+</em>
+by
+default.
+While
+order
+is
+preserved
+in
+regular
+JSON
+arrays,
+it
+is
+not
+in
+regular
+JSON-LD
+arrays
+unless
+specifically
+defined
+(see
+<a class="sectionRef sec-ref" href="#sets-and-lists">
+section
+6.11
+Sets
+and
+Lists
+</a>
+).
+</dd>
+<dt>
+<dfn title="string" id="dfn-string">
+string
+</dfn>
+</dt>
+<dd>
+A
+string
+is
+a
+sequence
+of
+zero
+or
+more
+Unicode
+characters,
+wrapped
+in
+double
+quotes,
+using
+backslash
+escapes
+(if
+necessary).
+</dd>
+<dt>
+<dfn title="number" id="dfn-number">
+number
+</dfn>
+</dt>
+<dd>
+A
+number
+is
+similar
+to
+that
+used
+in
+most
+programming
+languages,
+except
+that
+the
+octal
+and
+hexadecimal
+formats
+are
+not
+used
+and
+leading
+zeros
+are
+not
+allowed.
+</dd>
+<dt>
+<dfn title="true" id="dfn-true">
+true
+</dfn>
+and
+<dfn title="false" id="dfn-false">
+false
+</dfn>
+</dt>
+<dd>
+Values
+that
+are
+used
+to
+express
+one
+of
+two
+possible
+boolean
+states.
+</dd>
+<dt>
+<dfn title="null" id="dfn-null">
+null
+</dfn>
+</dt>
+<dd>
+The
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+value,
+which
+is
+typically
+used
+to
+clear
+or
+forget
+data.
+For
+example,
+a
+key-value
+pair
+in
+the
+<code>
+@context
+</code>
+where
+the
+value
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+explicitly
+decouples
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+'s
+association
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+A
+key-value
+pair
+in
+the
+body
+of
+a
+JSON-LD
+document
+whose
+value
+is
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+has
+the
+same
+meaning
+as
+if
+the
+key-value
+pair
+was
+not
+defined.
+If
+<code>
+@value
+</code>,
+<code>
+@list
+</code>,
+or
+<code>
+@set
+</code>
+is
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+in
+expanded
+form,
+then
+the
+entire
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+ignored.
+</dd>
+</dl>
+</section>
+<section class="informative" id="data-model-overview">
+<h3 aria-level="2" role="heading" id="h3_data-model-overview">
+<span class="secno">
+3.2
+</span>
+Data
+Model
+Overview
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Generally
+speaking,
+the
+data
+model
+used
+for
+JSON-LD
+is
+a
+labeled,
+directed
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>.
+The
+graph
+contains
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>,
+which
+are
+connected
+by
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edges
+</a>.
+A
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+is
+typically
+data
+such
+as
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+(like
+dates
+and
+times)
+or
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+There
+is
+also
+a
+special
+class
+of
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+called
+a
+<a class="tref internalDFN" title="blank-node" href= "#dfn-blank-node">
+blank
+node
+</a>,
+which
+is
+typically
+used
+to
+express
+data
+that
+does
+not
+have
+a
+global
+identifier
+like
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+Blank
+nodes
+</a>
+are
+identified
+using
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+This
+simple
+data
+model
+is
+incredibly
+flexible
+and
+powerful,
+capable
+of
+modeling
+almost
+any
+kind
+of
+data.
+For
+a
+deeper
+explanation
+of
+the
+data
+model,
+see
+section
+<a href="#data-model" class="sec-ref">
+<span class="secno">
+7.
+</span>
+<span class="sec-title">
+Data
+Model
+</span>
+</a>.
+</p>
+<p>
+Developers
+who
+are
+familiar
+with
+Linked
+Data
+technologies
+will
+recognize
+the
+data
+model
+as
+the
+RDF
+Data
+Model.
+To
+dive
+deeper
+into
+how
+JSON-LD
+and
+RDF
+are
+related,
+see
+section
+<a href="#relationship-to-rdf" class="sec-ref">
+<span class="secno">
+9.
+</span>
+<span class="sec-title">
+Relationship
+to
+RDF
+</span>
+</a>.
+</p>
+</section>
+<section class="normative" id="syntax-tokens-and-keywords">
+<h3 aria-level="2" role="heading" id="h3_syntax-tokens-and-keywords">
+<span class="secno">
+3.3
+</span>
+Syntax
+Tokens
+and
+Keywords
+</h3>
+<p>
+JSON-LD
+specifies
+a
+number
+of
+syntax
+tokens
+and
+<dfn title="keyword" id="dfn-keyword">
+keywords
+</dfn>
+that
+are
+a
+core
+part
+of
+the
+language:
+</p>
+<dl>
+<dt>
+<code>
+@context
+</code>
+</dt>
+<dd>
+Used
+to
+define
+the
+short-hand
+names
+that
+are
+used
+throughout
+a
+JSON-LD
+document.
+These
+short-hand
+names
+are
+called
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+and
+help
+developers
+to
+express
+specific
+identifiers
+in
+a
+compact
+manner.
+The
+<code>
+@context
+</code>
+keyword
+is
+described
+in
+detail
+in
+<a class="sectionRef sec-ref" href="#the-context">
+section
+5.1
+The
+Context
+</a>.
+</dd>
+<dt>
+<code>
+@id
+</code>
+</dt>
+<dd>
+Used
+to
+uniquely
+identify
+<em>
+things
+</em>
+that
+are
+being
+described
+in
+the
+document
+with
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#node-identifiers">
+section
+5.3
+Node
+Identifiers
+</a>.
+</dd>
+<dt>
+<code>
+@value
+</code>
+</dt>
+<dd>
+Used
+to
+specify
+the
+data
+that
+is
+associated
+with
+a
+particular
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+in
+the
+graph.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#string-internationalization">
+section
+6.9
+String
+Internationalization
+</a>
+and
+<a class="sectionRef sec-ref" href="#typed-values">
+section
+6.4
+Typed
+Values
+</a>.
+</dd>
+<dt>
+<code>
+@language
+</code>
+</dt>
+<dd>
+Used
+to
+specify
+the
+language
+for
+a
+particular
+string
+value
+or
+the
+default
+language
+of
+a
+JSON-LD
+document.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#string-internationalization">
+section
+6.9
+String
+Internationalization
+</a>.
+</dd>
+<dt>
+<code>
+@type
+</code>
+</dt>
+<dd>
+Used
+to
+set
+the
+data
+type
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+or
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#typed-values">
+section
+6.4
+Typed
+Values
+</a>.
+</dd>
+<dt>
+<code>
+@container
+</code>
+</dt>
+<dd>
+Used
+to
+set
+the
+default
+container
+type
+for
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#sets-and-lists">
+section
+6.11
+Sets
+and
+Lists
+</a>.
+</dd>
+<dt>
+<code>
+@list
+</code>
+</dt>
+<dd>
+Used
+to
+express
+an
+ordered
+set
+of
+data.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#sets-and-lists">
+section
+6.11
+Sets
+and
+Lists
+</a>.
+</dd>
+<dt>
+<code>
+@set
+</code>
+</dt>
+<dd>
+Used
+to
+express
+an
+unordered
+set
+of
+data
+and
+to
+ensure
+that
+values
+are
+always
+represented
+as
+arrays.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#sets-and-lists">
+section
+6.11
+Sets
+and
+Lists
+</a>.
+</dd>
+<dt>
+<code>
+@reverse
+</code>
+</dt>
+<dd>
+Used
+to
+express
+reverse
+properties.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#reverse-properties">
+section
+6.12
+Reverse
+Properties
+</a>.
+</dd>
+<dt>
+<code>
+@index
+</code>
+</dt>
+<dd>
+Used
+to
+specify
+that
+a
+container
+is
+used
+to
+index
+information
+and
+that
+processing
+should
+continue
+deeper
+into
+a
+JSON
+data
+structure.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#data-indexing">
+section
+6.16
+Data
+Indexing
+</a>.
+</dd>
+<dt>
+<code>
+@base
+</code>
+</dt>
+<dd>
+Used
+to
+set
+the
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+against
+which
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+IRIs
+</a>
+are
+resolved.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#base-iri">
+section
+6.1
+Base
+IRI
+</a>.
+</dd>
+<dt>
+<code>
+@vocab
+</code>
+</dt>
+<dd>
+Used
+to
+expand
+properties
+and
+values
+in
+<code>
+@type
+</code>
+with
+a
+common
+prefix
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#default-vocabulary">
+section
+6.2
+Default
+Vocabulary
+</a>.
+</dd>
+<dt>
+<code>
+@graph
+</code>
+</dt>
+<dd>
+Used
+to
+express
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>.
+This
+keyword
+is
+described
+in
+<a class="sectionRef sec-ref" href="#named-graphs">
+section
+6.13
+Named
+Graphs
+</a>.
+</dd>
+<dt>
+<code>:
+</code>
+</dt>
+<dd>
+The
+separator
+for
+JSON
+keys
+and
+values
+that
+use
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>.
+</dd>
+</dl>
+<p>
+All
+keys,
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>,
+and
+values
+in
+JSON-LD
+are
+case-sensitive.
+</p>
+</section>
+</section>
+<section class="normative" id="conformance">
+<h2 aria-level="1" role="heading" id="h2_conformance">
+<span class="secno">
+4.
+</span>
+Conformance
+</h2>
+<p>
+This
+specification
+describes
+the
+conformance
+criteria
+for
+JSON-LD
+documents.
+This
+criteria
+is
+relevant
+to
+authors
+and
+authoring
+tool
+implementers.
+As
+well
+as
+sections
+marked
+as
+non-normative,
+all
+authoring
+guidelines,
+diagrams,
+examples,
+and
+notes
+in
+this
+specification
+are
+non-normative.
+Everything
+else
+in
+this
+specification
+is
+normative.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+complies
+with
+this
+specification
+if
+it
+follows
+the
+normative
+statements
+in
+appendix
+<a href="#json-ld-grammar" class="sec-ref">
+<span class="secno">
+8.
+</span>
+<span class="sec-title">
+JSON-LD
+Grammar
+</span>
+</a>.
+JSON
+documents
+can
+be
+interpreted
+as
+JSON-LD
+by
+following
+the
+normative
+statements
+in
+<a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">
+section
+6.8
+Interpreting
+JSON
+as
+JSON-LD
+</a>.
+For
+convenience,
+normative
+statements
+for
+documents
+are
+often
+phrased
+as
+statements
+on
+the
+properties
+of
+the
+document.
+</p>
+<p>
+The
+key
+words
+<em class="rfc2119" title="MUST">
+MUST
+</em>,
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>,
+<em class="rfc2119" title="REQUIRED">
+REQUIRED
+</em>,
+<em class="rfc2119" title="SHALL">
+SHALL
+</em>,
+<em class="rfc2119" title="SHALL NOT">
+SHALL
+NOT
+</em>,
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>,
+<em class="rfc2119" title="SHOULD NOT">
+SHOULD
+NOT
+</em>,
+<em class="rfc2119" title="RECOMMENDED">
+RECOMMENDED
+</em>,
+<em class="rfc2119" title="NOT RECOMMENDED">
+NOT
+RECOMMENDED
+</em>,
+<em class="rfc2119" title="MAY">
+MAY
+</em>,
+and
+<em class="rfc2119" title="OPTIONAL">
+OPTIONAL
+</em>
+in
+this
+specification
+have
+the
+meaning
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC2119">
+RFC2119
+</a>
+</cite>
+].
+</p>
+</section>
+<section class="informative" id="basic-concepts">
+<h2 aria-level="1" role="heading" id="h2_basic-concepts">
+<span class="secno">
+5.
+</span>
+Basic
+Concepts
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+]
+is
+a
+lightweight,
+language-independent
+data
+interchange
+format.
+It
+is
+easy
+to
+parse
+and
+easy
+to
+generate.
+However,
+it
+is
+difficult
+to
+integrate
+JSON
+from
+different
+sources
+as
+the
+data
+may
+contain
+keys
+that
+conflict
+with
+other
+data
+sources.
+Furthermore,
+JSON
+has
+no
+built-in
+support
+for
+hyperlinks,
+which
+are
+a
+fundamental
+building
+block
+on
+the
+Web.
+Let's
+start
+by
+looking
+at
+an
+example
+that
+we
+will
+be
+using
+for
+the
+rest
+of
+this
+section:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+1
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}
+</pre>
+</div>
+<p>
+It's
+obvious
+to
+humans
+that
+the
+data
+is
+about
+a
+person
+whose
+<code>
+name
+</code>
+is
+"Manu
+Sporny"
+and
+that
+the
+<code>
+homepage
+</code>
+property
+contains
+the
+URL
+of
+that
+person's
+homepage.
+A
+machine
+doesn't
+have
+such
+an
+intuitive
+understanding
+and
+sometimes,
+even
+for
+humans,
+it
+is
+difficult
+to
+resolve
+ambiguities
+in
+such
+representations.
+This
+problem
+can
+be
+solved
+by
+using
+unambiguous
+identifiers
+to
+denote
+the
+different
+concepts
+instead
+of
+tokens
+such
+as
+"name",
+"homepage",
+etc.
+</p>
+<p>
+Linked
+Data,
+and
+the
+Web
+in
+general,
+uses
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+(Internationalized
+Resource
+Identifiers
+as
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+])
+for
+unambiguous
+identification.
+The
+idea
+is
+to
+use
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+to
+assign
+unambiguous
+identifiers
+to
+data
+that
+may
+be
+of
+use
+to
+other
+developers.
+It
+is
+useful
+for
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>,
+like
+<code>
+name
+</code>
+and
+<code>
+homepage
+</code>,
+to
+expand
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+so
+that
+developers
+don't
+accidentally
+step
+on
+each
+other's
+terms.
+Furthermore,
+developers
+and
+machines
+are
+able
+to
+use
+this
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(by
+using
+a
+web
+browser,
+for
+instance)
+to
+go
+to
+the
+term
+and
+get
+a
+definition
+of
+what
+the
+term
+means.
+This
+process
+is
+known
+as
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+dereferencing.
+</p>
+<p>
+Leveraging
+the
+popular
+<a href="http://schema.org/">
+schema.org
+vocabulary
+</a>,
+the
+example
+above
+could
+be
+unambiguously
+expressed
+as
+follows:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+2
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+using
+full
+IRIs
+instead
+of
+terms
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "<span class="highlight">http://schema.org/name</span>": "Manu Sporny",
+  "<span class="highlight">http://schema.org/url</span>": <span class="highlight">{ "@id": </span>"http://manu.sporny.org/" <span class="highlight">}</span>,  <span class="comment">← The '@id' keyword means 'This value is an identifier that is an IRI'</span>
+  "<span class="highlight">http://schema.org/image</span>": <span class="highlight">{ "@id": </span>"http://manu.sporny.org/images/manu.png" <span class="highlight">}</span>
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+every
+property
+is
+unambiguously
+identified
+by
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+and
+all
+values
+representing
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+are
+explicitly
+marked
+as
+such
+by
+the
+<code>
+@id
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+While
+this
+is
+a
+valid
+JSON-LD
+document
+that
+is
+very
+specific
+about
+its
+data,
+the
+document
+is
+also
+overly
+verbose
+and
+difficult
+to
+work
+with
+for
+human
+developers.
+To
+address
+this
+issue,
+JSON-LD
+introduces
+the
+notion
+of
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+as
+described
+in
+the
+next
+section.
+</p>
+<section class="informative" id="the-context">
+<h3 aria-level="2" role="heading" id="h3_the-context">
+<span class="secno">
+5.1
+</span>
+The
+Context
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+When
+two
+people
+communicate
+with
+one
+another,
+the
+conversation
+takes
+place
+in
+a
+shared
+environment,
+typically
+called
+"the
+context
+of
+the
+conversation".
+This
+shared
+context
+allows
+the
+individuals
+to
+use
+shortcut
+terms,
+like
+the
+first
+name
+of
+a
+mutual
+friend,
+to
+communicate
+more
+quickly
+but
+without
+losing
+accuracy.
+A
+context
+in
+JSON-LD
+works
+in
+the
+same
+way.
+It
+allows
+two
+applications
+to
+use
+shortcut
+terms
+to
+communicate
+with
+one
+another
+more
+efficiently,
+but
+without
+losing
+accuracy.
+</p>
+<p>
+Simply
+speaking,
+a
+<dfn title="context" id="dfn-context">
+context
+</dfn>
+is
+used
+to
+map
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+<a class="tref internalDFN" title="term" href="#dfn-term">
+Terms
+</a>
+are
+case
+sensitive
+and
+any
+valid
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+that
+is
+not
+a
+reserved
+JSON-LD
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+can
+be
+used
+as
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+</p>
+<p>
+For
+the
+sample
+document
+in
+the
+previous
+section,
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+would
+look
+something
+like
+this:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+3
+</ins></span>:<ins class="diff-chg">
+Context
+for
+the
+sample
+document
+in
+the
+previous
+section
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    "name": "http://schema.org/name",</span>  <span class="comment">← This means that 'name' is shorthand for 'http://schema.org/name'</span> <span class="highlight">
+    "image": {
+      "@id": "http://schema.org/image",</span>  <span class="comment">← This means that 'image' is shorthand for 'http://schema.org/image'</span> <span class="highlight">
+      "@type": "@id"</span>  <span class="comment">← This means that a string value associated with 'image' should be interpreted as an identifier that is an IRI</span> <span class="highlight">
+    },
+    "homepage": {
+      "@id": "http://schema.org/url",</span>  <span class="comment">← This means that 'homepage' is shorthand for 'http://schema.org/url'</span> <span class="highlight">
+      "@type": "@id"</span>  <span class="comment">← This means that a string value associated with 'homepage' should be interpreted as an identifier that is an IRI</span> <span class="highlight">
+    }
+  }</span>
+}
+</pre>
+</div>
+<p>
+As
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+above
+shows,
+the
+value
+of
+a
+<dfn title="term-definition" id="dfn-term-definition">
+term
+definition
+</dfn>
+can
+either
+be
+a
+simple
+string,
+mapping
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+</p>
+<p>
+When
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+associated
+with
+a
+term,
+it
+is
+called
+an
+<dfn title="expanded-term-definition" id="dfn-expanded-term-definition">
+expanded
+term
+definition
+</dfn>.
+The
+example
+above
+specifies
+that
+the
+values
+of
+<code>
+image
+</code>
+and
+<code>
+homepage
+</code>,
+if
+they
+are
+strings,
+are
+to
+be
+interpreted
+as
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+Expanded
+term
+definitions
+</a>
+also
+allow
+terms
+to
+be
+used
+for
+<a href="#data-indexing">
+index
+maps
+</a>
+and
+to
+specify
+whether
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+values
+are
+to
+be
+interpreted
+as
+<a href="#sets-and-lists">
+sets
+or
+lists
+</a>.
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+Expanded
+term
+definitions
+</a>
+may
+be
+defined
+using
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+as
+keys,
+which
+is
+mainly
+used
+to
+associate
+type
+or
+language
+information
+with
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="context" href="#dfn-context">
+Contexts
+</a>
+can
+either
+be
+directly
+embedded
+into
+the
+document
+or
+be
+referenced.
+Assuming
+the
+context
+document
+in
+the
+previous
+example
+can
+be
+retrieved
+at
+<code>
+http://json-ld.org/contexts/person.jsonld
+</code>,
+it
+can
+be
+referenced
+by
+adding
+a
+single
+line
+and
+allows
+a
+JSON-LD
+document
+to
+be
+expressed
+much
+more
+concisely
+as
+shown
+in
+the
+example
+below:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+4
+</ins></span>:<ins class="diff-chg">
+Referencing
+a
+JSON-LD
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context": "http://json-ld.org/contexts/person.jsonld",</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}
+</pre>
+</div>
+<p>
+The
+referenced
+context
+not
+only
+specifies
+how
+the
+terms
+map
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+in
+the
+Schema.org
+vocabulary
+but
+also
+specifies
+that
+string
+values
+associated
+with
+the
+<code>
+homepage
+</code>
+and
+<code>
+image
+</code>
+property
+can
+be
+interpreted
+as
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(
+<code>
+"@type":
+"@id"
+</code>,
+see
+<a class="sectionRef sec-ref" href="#iris">
+section
+5.2
+IRIs
+</a>
+for
+more
+details).
+This
+information
+allows
+developers
+to
+re-use
+each
+other's
+data
+without
+having
+to
+agree
+to
+how
+their
+data
+will
+interoperate
+on
+a
+site-by-site
+basis.
+External
+JSON-LD
+context
+documents
+may
+contain
+extra
+information
+located
+outside
+of
+the
+<code>
+@context
+</code>
+key,
+such
+as
+documentation
+about
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+declared
+in
+the
+document.
+Information
+contained
+outside
+of
+the
+<code>
+@context
+</code>
+value
+is
+ignored
+when
+the
+document
+is
+used
+as
+an
+external
+JSON-LD
+context
+document.
+</p>
+<p>
+JSON
+documents
+can
+be
+interpreted
+as
+JSON-LD
+without
+having
+to
+be
+modified
+by
+referencing
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+via
+an
+HTTP
+Link
+Header
+as
+described
+in
+<a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">
+section
+6.8
+Interpreting
+JSON
+as
+JSON-LD
+</a>.
+It
+is
+also
+possible
+to
+apply
+a
+custom
+context
+using
+the
+JSON-LD
+API
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+].
+</p>
+<p>
+In
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+documents
+</a>,
+<a class="tref internalDFN" title="context" href="#dfn-context">
+contexts
+</a>
+may
+also
+be
+specified
+inline.
+This
+has
+the
+advantage
+that
+documents
+can
+be
+processed
+even
+in
+the
+absence
+of
+a
+connection
+to
+the
+Web.
+Ultimately,
+this
+is
+a
+modeling
+decision
+and
+different
+use
+cases
+may
+require
+different
+handling.
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+5
+</ins></span>:<ins class="diff-chg">
+In-line
+context
+definition
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    "name": "http://schema.org/name",
+    "image": {
+      "@id": "http://schema.org/image",
+      "@type": "@id"
+    },
+    "homepage": {
+      "@id": "http://schema.org/url",
+      "@type": "@id"
+    }
+  },</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}
+</pre>
+</div>
+<p>
+This
+section
+only
+covers
+the
+most
+basic
+features
+of
+the
+JSON-LD
+Context.
+More
+advanced
+features
+related
+to
+the
+JSON-LD
+Context
+are
+covered
+in
+section
+<a href="#advanced-concepts" class="sec-ref">
+<span class="secno">
+6.
+</span>
+<span class="sec-title">
+Advanced
+Concepts
+</span>
+</a>.
+</p>
+</section>
+<section class="informative" id="iris">
+<h3 aria-level="2" role="heading" id="h3_iris">
+<span class="secno">
+5.2
+</span>
+IRIs
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+(Internationalized
+Resource
+Identifiers
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+])
+are
+fundamental
+to
+Linked
+Data
+as
+that
+is
+how
+most
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+and
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+are
+identified.
+In
+JSON-LD,
+IRIs
+may
+be
+represented
+as
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+An
+<dfn title="absolute-iri" id="dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+is
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+]
+as
+containing
+a
+<em>
+scheme
+</em>
+along
+with
+<em>
+path
+</em>
+and
+optional
+<em>
+query
+</em>
+and
+<em>
+fragment
+</em>
+segments.
+A
+<dfn title="relative-iri" id="dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+is
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+that
+is
+relative
+to
+some
+other
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+In
+JSON-LD
+all
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+IRIs
+</a>
+are
+resolved
+relative
+to
+the
+<dfn title="base-iri" id="dfn-base-iri">
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+is
+interpreted
+as
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+when
+it
+is
+the
+value
+of
+an
+<code>
+@id
+</code>
+member:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+6
+</ins></span>:<ins class="diff-chg">
+Values
+of
+@id
+are
+interpreted
+as
+IRI
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "homepage": { "<span class="highlight">@id</span>": "http://example.com/" }
+...
+}
+</pre>
+</div>
+<p>
+Values
+that
+are
+interpreted
+as
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+can
+also
+be
+expressed
+as
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+IRIs
+</a>.
+For
+example,
+assuming
+that
+the
+following
+document
+is
+located
+at
+<code>
+http://example.com/about/
+</code>,
+the
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<code>../
+</code>
+would
+expand
+to
+<code>
+http://example.com/
+</code>
+(for
+more
+information
+on
+where
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+IRIs
+</a>
+can
+be
+used,
+please
+refer
+to
+section
+<a href="#json-ld-grammar" class="sec-ref">
+<span class="secno">
+8.
+</span>
+<span class="sec-title">
+JSON-LD
+Grammar
+</span>
+</a>
+).
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+7
+</ins></span>:<ins class="diff-chg">
+IRIs
+can
+be
+relative
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "homepage": { "<span class="highlight">@id</span>": "../" }
+...
+}
+</pre>
+</div>
+<p>
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+Absolute
+IRIs
+</a>
+can
+be
+expressed
+directly
+in
+the
+key
+position
+like
+so:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+8
+</ins></span>:<ins class="diff-chg">
+IRI
+as
+a
+key
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "<span class="highlight">http://schema.org/name</span>": "Manu Sporny",
+...
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+the
+key
+<code>
+http://schema.org/name
+</code>
+is
+interpreted
+as
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<p>
+Term-to-
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+expansion
+occurs
+if
+the
+key
+matches
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+defined
+within
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+9
+</ins></span>:<ins class="diff-chg">
+Term
+expansion
+from
+context
+definition
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "<span class="highlight">@context</span>":
+  {
+    "<span class="highlight">name</span>": "<span class="highlight">http://schema.org/name</span>"
+  },
+  "<span class="highlight">name</span>": "Manu Sporny",
+  "status": "trollin'"
+}
+</pre>
+</div>
+<p>
+JSON
+keys
+that
+do
+not
+expand
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+such
+as
+<code>
+status
+</code>
+in
+the
+example
+above,
+are
+not
+Linked
+Data
+and
+thus
+ignored
+when
+processed.
+</p>
+<p>
+If
+type
+<a class="tref internalDFN" title="coercion" href="#dfn-coercion">
+coercion
+</a>
+rules
+are
+specified
+in
+the
+<code>
+@context
+</code>
+for
+a
+particular
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+or
+property
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>,
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+is
+generated:
+</p>
+<del class="diff-old">
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+10
+</ins></span>:<ins class="diff-chg">
+Type
+coercion
+</ins></div><pre class="example"><ins class="diff-chg">
+{<span class="highlight">
+</ins>
+  "@context":
+  {
+    ...
+    "homepage":
+    {
+      "@id": "http://schema.org/url",
+      "@type": "@id"
+    }
+    ...
+  }</span>
+...
+  "homepage": "http://manu.sporny.org/",
+...
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+since
+the
+value
+<code>
+http://manu.sporny.org/
+</code>
+is
+expressed
+as
+a
+JSON
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+the
+type
+<a class="tref internalDFN" title="coercion" href="#dfn-coercion">
+coercion
+</a>
+rules
+will
+transform
+the
+value
+into
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+when
+processing
+the
+data.
+See
+<a class="sectionRef sec-ref" href="#type-coercion">
+section
+6.5
+Type
+Coercion
+</a>
+for
+more
+details
+about
+this
+feature.
+</p>
+<p>
+In
+summary,
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+can
+be
+expressed
+in
+a
+variety
+of
+different
+ways
+in
+JSON-LD:
+</p>
+<ol>
+<li>
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+keys
+that
+have
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+mapping
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+expand
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(only
+applies
+outside
+of
+the
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>
+).
+</li>
+<li>
+An
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+generated
+for
+the
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+value
+specified
+using
+<code>
+@id
+</code>
+or
+<code>
+@type
+</code>.
+</li>
+<li>
+An
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+generated
+for
+the
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+value
+of
+any
+key
+for
+which
+there
+are
+<a class="tref internalDFN" title="coercion" href="#dfn-coercion">
+coercion
+</a>
+rules
+that
+contain
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@type
+</code>
+key
+that
+is
+set
+to
+a
+value
+of
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>.
+</li>
+</ol>
+<p>
+This
+section
+only
+covers
+the
+most
+basic
+features
+associated
+with
+IRIs
+in
+JSON-LD.
+More
+advanced
+features
+related
+to
+IRIs
+are
+covered
+in
+section
+<a href="#advanced-concepts" class="sec-ref">
+<span class="secno">
+6.
+</span>
+<span class="sec-title">
+Advanced
+Concepts
+</span>
+</a>.
+</p>
+</section>
+<section class="informative" id="node-identifiers">
+<h3 aria-level="2" role="heading" id="h3_node-identifiers">
+<span class="secno">
+5.3
+</span>
+Node
+Identifiers
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+To
+be
+able
+to
+externally
+reference
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+in
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>,
+it
+is
+important
+that
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+have
+an
+identifier.
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+are
+a
+fundamental
+concept
+of
+Linked
+Data,
+for
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+to
+be
+truly
+linked,
+dereferencing
+the
+identifier
+should
+result
+in
+a
+representation
+of
+that
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+This
+may
+allow
+an
+application
+to
+retrieve
+further
+information
+about
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+</p>
+<p>
+In
+JSON-LD,
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+is
+identified
+using
+the
+<code>
+@id
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+11
+</ins></span>:<ins class="diff-chg">
+Identifying
+a
+node
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    ...
+    "name": "http://schema.org/name"
+  },
+  <span class="highlight">"@id": "http://me.markus-lanthaler.com/"</span>,
+  "name": "Markus Lanthaler",
+  ...
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+contains
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+identified
+by
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+<code>
+http://me.markus-lanthaler.com/
+</code>.
+</p>
+<p>
+This
+section
+only
+covers
+the
+most
+basic
+features
+associated
+with
+node
+identifiers
+in
+JSON-LD.
+More
+advanced
+features
+related
+to
+node
+identifiers
+are
+covered
+in
+section
+<a href="#advanced-concepts" class="sec-ref">
+<span class="secno">
+6.
+</span>
+<span class="sec-title">
+Advanced
+Concepts
+</span>
+</a>.
+</p>
+</section>
+<section class="informative" id="specifying-the-type">
+<h3 aria-level="2" role="heading" id="h3_specifying-the-type">
+<span class="secno">
+5.4
+</span>
+Specifying
+the
+Type
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+type
+of
+a
+particular
+node
+can
+be
+specified
+using
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+In
+Linked
+Data,
+types
+are
+uniquely
+identified
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+12
+</ins></span>:<ins class="diff-chg">
+Specifying
+the
+type
+for
+a
+node
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "@id": "http://example.org/places#BrewEats",
+  "<span class="highlight">@type</span>": "<span class="highlight">http://schema.org/Restaurant</span>",
+...
+}
+</pre>
+</div>
+<p>
+A
+node
+can
+be
+assigned
+more
+than
+one
+type
+by
+using
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+13
+</ins></span>:<ins class="diff-chg">
+Specifying
+multiple
+types
+for
+a
+node
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "@id": "http://example.org/places#BrewEats",
+  "<span class="highlight">@type</span>": <span class="highlight">[ "http://schema.org/Restaurant", "http://schema.org/Brewery" ],</span>
+...
+}
+</pre>
+</div>
+<p>
+The
+value
+of
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@type
+</code>
+key
+may
+also
+be
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+defined
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+14
+</ins></span>:<ins class="diff-chg">
+Using
+a
+term
+to
+specify
+the
+type
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    ...
+    <span class="highlight">"Restaurant": "http://schema.org/Restaurant", </span>
+    <span class="highlight">"Brewery": "http://schema.org/Brewery"</span>
+  }
+  "@id": "http://example.org/places#BrewEats",
+  <span class="highlight">"@type": [ "Restaurant", "Brewery" ]</span>,
+  ...
+}
+</pre>
+</div>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_1">
+<span>
+Note
+</span>
+</div>
+<p class="">
+This
+section
+only
+covers
+the
+most
+basic
+features
+associated
+with
+types
+in
+JSON-LD.
+It
+is
+worth
+noting
+that
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+is
+not
+only
+used
+to
+specify
+the
+type
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+but
+also
+to
+express
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+(as
+described
+in
+<a class="sectionRef sec-ref" href="#typed-values">
+section
+6.4
+Typed
+Values
+</a>
+)
+and
+to
+<a class="tref internalDFN" title="coercion" href="#dfn-coercion">
+type
+coerce
+</a>
+values
+(as
+described
+in
+<a class="sectionRef sec-ref" href="#type-coercion">
+section
+6.5
+Type
+Coercion
+</a>
+).
+Specifically,
+<code>
+@type
+</code>
+cannot
+be
+used
+in
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+to
+define
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node's
+</a>
+type.
+For
+a
+detailed
+description
+of
+the
+differences,
+please
+refer
+to
+<a class="sectionRef sec-ref" href="#typed-values">
+section
+6.4
+Typed
+Values
+</a>.
+</p>
+</div>
+</section>
+</section>
+<section class="normative" id="advanced-concepts">
+<h2 aria-level="1" role="heading" id="h2_advanced-concepts">
+<span class="secno">
+6.
+</span>
+Advanced
+Concepts
+</h2>
+<p>
+JSON-LD
+has
+a
+number
+of
+features
+that
+provide
+functionality
+above
+and
+beyond
+the
+core
+functionality
+described
+above.
+The
+following
+section
+describes
+this
+advanced
+functionality
+in
+more
+detail.
+</p>
+<section class="informative" id="base-iri">
+<h3 aria-level="2" role="heading" id="h3_base-iri">
+<span class="secno">
+6.1
+</span>
+Base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON-LD
+allows
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+s
+to
+be
+specified
+in
+a
+relative
+form
+which
+is
+resolved
+against
+the
+document
+base
+according
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-5.1">
+section
+5.1
+Establishing
+a
+Base
+URI
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3986">
+RFC3986
+</a>
+</cite>
+].
+The
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+may
+be
+explicitly
+set
+with
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+using
+the
+<code>
+@base
+</code>
+keyword.
+</p>
+<p>
+For
+example,
+if
+a
+JSON-LD
+document
+was
+retrieved
+from
+<code>
+http://example.com/document.jsonld
+</code>,
+relative
+IRIs
+would
+resolve
+against
+that
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+15
+</ins></span>:<ins class="diff-chg">
+Use
+a
+relative
+IRI
+as
+node
+identifier
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "label": "http://www.w3.org/2000/01/rdf-schema#label"
+  },
+  <span class="highlight">"@id": ""</span>,
+  "label": "Just a simple document"
+}
+</pre>
+</div>
+<p>
+This
+document
+uses
+an
+empty
+<code>
+@id
+</code>,
+which
+resolves
+to
+the
+document
+base.
+However,
+if
+the
+document
+is
+moved
+to
+a
+different
+location,
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+would
+change.
+To
+prevent
+this
+without
+having
+to
+use
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+may
+define
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@base
+</code>
+mapping,
+to
+overwrite
+the
+base
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+for
+the
+document.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+16
+</ins></span>:<ins class="diff-chg">
+Setting
+the
+document
+base
+in
+a
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    <span class="highlight">"@base": "http://example.com/document.jsonld"</span>
+  },
+  "@id": "",
+  "label": "Just a simple document"
+}
+</pre>
+</div>
+<p>
+Setting
+<code>
+@base
+</code>
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+will
+prevent
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+IRIs
+</a>
+to
+be
+expanded
+to
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>.
+</p>
+<p>
+Please
+note
+that
+the
+<code>
+@base
+</code>
+will
+be
+ignored
+if
+used
+in
+external
+contexts.
+</p>
+</section>
+<section class="informative" id="default-vocabulary">
+<h3 aria-level="2" role="heading" id="h3_default-vocabulary">
+<span class="secno">
+6.2
+</span>
+Default
+Vocabulary
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+At
+times,
+all
+properties
+and
+types
+may
+come
+from
+the
+same
+vocabulary.
+JSON-LD's
+<code>
+@vocab
+</code>
+keyword
+allows
+an
+author
+to
+set
+a
+common
+prefix
+to
+be
+used
+for
+all
+properties
+and
+types
+that
+do
+not
+match
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+and
+are
+neither
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+nor
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(i.e.,
+they
+do
+not
+contain
+a
+colon).
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+17
+</ins></span>:<ins class="diff-chg">
+Using
+a
+common
+vocabulary
+prefix
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    <span class="highlight">"@vocab": "http://schema.org/"</span>
+  }
+  "@id": "http://example.org/places#BrewEats",
+  "@type": <span class="highlight">"Restaurant"</span>,
+  <span class="highlight">"name"</span>: "Brew Eats"
+  ...
+}
+</pre>
+</div>
+<p>
+If
+<code>
+@vocab
+</code>
+is
+used
+but
+certain
+keys
+in
+an
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+object
+</a>
+should
+not
+be
+expanded
+using
+the
+vocabulary
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+can
+be
+explicitly
+set
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+For
+instance,
+in
+the
+example
+below
+the
+<code>
+databaseId
+</code>
+member
+would
+not
+expand
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+18
+</ins></span>:<ins class="diff-chg">
+Using
+the
+null
+keyword
+to
+ignore
+data
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+     "@vocab": "http://schema.org/",
+     <span class="highlight">"databaseId": null</span>
+  },
+    "@id": "http://example.org/places#BrewEats",
+    "@type": "Restaurant",
+    "name": "Brew Eats",
+    <span class="highlight">"databaseId"</span>: "23987520"
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="compact-iris">
+<h3 aria-level="2" role="heading" id="h3_compact-iris">
+<span class="secno">
+6.3
+</span>
+Compact
+IRIs
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+A
+<dfn title="compact-iri" id="dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</dfn>
+is
+a
+way
+of
+expressing
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+using
+a
+<em>
+prefix
+</em>
+and
+<em>
+suffix
+</em>
+separated
+by
+a
+colon
+(
+<code>:
+</code>
+).
+The
+<dfn title="prefix" id="dfn-prefix">
+prefix
+</dfn>
+is
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+taken
+from
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+is
+a
+short
+string
+identifying
+a
+particular
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+in
+a
+JSON-LD
+document.
+For
+example,
+the
+prefix
+<code>
+foaf
+</code>
+may
+be
+used
+as
+a
+short
+hand
+for
+the
+Friend-of-a-Friend
+vocabulary,
+which
+is
+identified
+using
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title= "Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<code>
+http://xmlns.com/foaf/0.1/
+</code>.
+A
+developer
+may
+append
+any
+of
+the
+FOAF
+vocabulary
+terms
+to
+the
+end
+of
+the
+prefix
+to
+specify
+a
+short-hand
+version
+of
+the
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+for
+the
+vocabulary
+term.
+For
+example,
+<code>
+foaf:name
+</code>
+would
+be
+expanded
+to
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+<code>
+http://xmlns.com/foaf/0.1/name
+</code>.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+19
+</ins></span>:<ins class="diff-chg">
+Prefix
+expansion
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "<span class="highlight">@context</span>":
+  {
+    "<span class="highlight">foaf</span>": "<span class="highlight">http://xmlns.com/foaf/0.1/</span>"
+...
+  },
+  "@type": "<span class="highlight">foaf:Person</span>"
+  "<span class="highlight">foaf:name</span>": "Dave Longley",
+...
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+<code>
+foaf:name
+</code>
+expands
+to
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<code>
+http://xmlns.com/foaf/0.1/name
+</code>
+and
+<code>
+foaf:Person
+</code>
+expands
+to
+<code>
+http://xmlns.com/foaf/0.1/Person
+</code>.
+</p>
+<p>
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+Prefixes
+</a>
+are
+expanded
+when
+the
+form
+of
+the
+value
+is
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+represented
+as
+a
+<code>
+prefix:suffix
+</code>
+combination,
+the
+<em>
+prefix
+</em>
+matches
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+defined
+within
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+and
+the
+<em>
+suffix
+</em>
+does
+not
+begin
+with
+two
+<del class="diff-old">slashes&nbsp;(
+</del>
+<ins class="diff-chg">slashes&#160;(
+</ins>
+<code>
+//
+</code>
+).
+The
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+is
+expanded
+by
+concatenating
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+mapped
+to
+the
+<em>
+prefix
+</em>
+to
+the
+(possibly
+empty)
+<em>
+suffix
+</em>.
+If
+the
+<em>
+prefix
+</em>
+is
+not
+defined
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+or
+the
+suffix
+begins
+with
+two
+slashes
+(such
+as
+in
+<code>
+http://example.com
+</code>
+),
+the
+value
+is
+interpreted
+as
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+instead.
+If
+the
+prefix
+is
+an
+underscore
+(
+<code>
+_
+</code>
+),
+the
+value
+is
+interpreted
+as
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+instead.
+</p>
+<p>
+It's
+also
+possible
+to
+use
+compact
+IRIs
+within
+the
+context
+as
+shown
+in
+the
+following
+example:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+20
+</ins></span>:<ins class="diff-chg">
+Using
+vocabularies
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    <span class="highlight">"foaf:homepage"</span>: { "@type": "@id" },
+    "picture": { "@id": <span class="highlight">"foaf:depiction"</span>, "@type": "@id" }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "@type": "foaf:Person",
+  "foaf:name": "Markus Lanthaler",
+  "foaf:homepage": "http://www.markus-lanthaler.com/",
+  "picture": "http://twitter.com/account/profile_image/markuslanthaler"
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="typed-values">
+<h3 aria-level="2" role="heading" id="h3_typed-values">
+<span class="secno">
+6.4
+</span>
+Typed
+Values
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+A
+value
+with
+an
+associated
+type,
+also
+known
+as
+a
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>,
+is
+indicated
+by
+associating
+a
+value
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+which
+indicates
+the
+value's
+type.
+Typed
+values
+may
+be
+expressed
+in
+JSON-LD
+in
+three
+ways:
+</p>
+<ol>
+<li>
+By
+utilizing
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+when
+defining
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+within
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@context
+</code>
+section.
+</li>
+<li>
+By
+utilizing
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>.
+</li>
+<li>
+By
+using
+a
+native
+JSON
+type
+such
+as
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+</li>
+</ol>
+<p>
+The
+first
+example
+uses
+the
+<code>
+@type
+</code>
+keyword
+to
+associate
+a
+type
+with
+a
+particular
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+in
+the
+<code>
+@context
+</code>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+21
+</ins></span>:<ins class="diff-chg">
+Expanded
+term
+definition
+with
+type
+coercion
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    "modified":
+    {
+      "@id": "http://purl.org/dc/terms/modified",
+      "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+    }
+  },</span>
+...
+  "@id": "http://example.com/docs/1",
+  "modified": "2010-05-29T14:17:39+02:00",
+...
+}
+</pre>
+</div>
+<p>
+The
+<em>
+modified
+</em>
+key's
+value
+above
+is
+automatically
+type
+coerced
+to
+a
+<em>
+dateTime
+</em>
+value
+because
+of
+the
+information
+specified
+in
+the
+<code>
+@context
+</code>.
+A
+JSON-LD
+processor
+will
+interpret
+the
+example
+above
+as
+follows:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+<th>
+Value
+Type
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.com/docs/1
+</td>
+<td>
+http://purl.org/dc/terms/modified
+</td>
+<td>
+2010-05-29T14:17:39+02:00
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#dateTime
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+The
+second
+example
+uses
+the
+expanded
+form
+of
+setting
+the
+type
+information
+in
+the
+body
+of
+a
+JSON-LD
+document:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+22
+</ins></span>:<ins class="diff-chg">
+Expanded
+value
+with
+type
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "modified":
+    {
+      "@id": "http://purl.org/dc/terms/modified"
+    }
+  },
+...
+  "modified":
+  <span class="highlight">{
+    "@value": "2010-05-29T14:17:39+02:00",
+    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+  }</span>
+...
+}
+</pre>
+</div>
+<p>
+Both
+examples
+above
+would
+generate
+the
+value
+<code>
+2010-05-29T14:17:39+02:00
+</code>
+with
+the
+type
+<code>
+http://www.w3.org/2001/XMLSchema#dateTime
+</code>.
+Note
+that
+it
+is
+also
+possible
+to
+use
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+or
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+express
+the
+value
+of
+a
+type.
+</p>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_2">
+<span>
+Note
+</span>
+</div>
+<p class="">
+The
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+is
+also
+used
+to
+associate
+a
+type
+with
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+The
+concept
+of
+a
+<a class="tref internalDFN" title="node-type" href="#dfn-node-type">
+node
+type
+</a>
+and
+a
+<a class="tref internalDFN" title="value-type" href="#dfn-value-type">
+value
+type
+</a>
+are
+different.
+</p>
+</div>
+<p>
+A
+<dfn title="node-type" id="dfn-node-type">
+node
+type
+</dfn>
+specifies
+the
+type
+of
+thing
+that
+is
+being
+described,
+like
+a
+person,
+place,
+event,
+or
+web
+page.
+A
+<dfn title="value-type" id="dfn-value-type">
+value
+type
+</dfn>
+specifies
+the
+data
+type
+of
+a
+particular
+value,
+such
+as
+an
+integer,
+a
+floating
+point
+number,
+or
+a
+date.
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+23
+</ins></span>:<ins class="diff-chg">
+Example
+demonstrating
+the
+context-sensitivity
+for
+@type
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "@id": "http://example.org/posts#TripToWestVirginia",
+  <span class="highlight">"@type": "http://schema.org/BlogPosting"</span>,  <span class="comment">← This is a node type</span>
+  "modified":
+  {
+    "@value": "2010-05-29T14:17:39+02:00",
+    <span class="highlight">"@type": "http://www.w3.org/2001/XMLSchema#dateTime"</span>  <span class="comment">← This is a value type</span>
+  }
+...
+}
+</pre>
+</div>
+<p>
+The
+first
+use
+of
+<code>
+@type
+</code>
+associates
+a
+<a class="tref internalDFN" title="node-type" href="#dfn-node-type">
+node
+type
+</a>
+(
+<code>
+http://schema.org/BlogPosting
+</code>
+)
+with
+the
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>,
+which
+is
+expressed
+using
+the
+<code>
+@id
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+The
+second
+use
+of
+<code>
+@type
+</code>
+associates
+a
+<a class="tref internalDFN" title="value-type" href="#dfn-value-type">
+value
+type
+</a>
+(
+<code>
+http://www.w3.org/2001/XMLSchema#dateTime
+</code>
+)
+with
+the
+value
+expressed
+using
+the
+<code>
+@value
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+As
+a
+general
+rule,
+when
+<code>
+@value
+</code>
+and
+<code>
+@type
+</code>
+are
+used
+in
+the
+same
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>,
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+is
+expressing
+a
+<a class="tref internalDFN" title="value-type" href="#dfn-value-type">
+value
+type
+</a>.
+Otherwise,
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+is
+expressing
+a
+<a class="tref internalDFN" title="node-type" href="#dfn-node-type">
+node
+type
+</a>.
+The
+example
+above
+expresses
+the
+following
+data:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+<th>
+Value
+Type
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.org/posts#TripToWestVirginia
+</td>
+<td>
+http://www.w3.org/1999/02/22-rdf-syntax-ns#type
+</td>
+<td>
+http://schema.org/BlogPosting
+</td>
+<td style="text-align:center;">
+-
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/posts#TripToWestVirginia
+</td>
+<td>
+http://purl.org/dc/terms/modified
+</td>
+<td>
+2010-05-29T14:17:39+02:00
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#dateTime
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section class="informative" id="type-coercion">
+<h3 aria-level="2" role="heading" id="h3_type-coercion">
+<span class="secno">
+6.5
+</span>
+Type
+Coercion
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON-LD
+supports
+the
+coercion
+of
+values
+to
+particular
+data
+types.
+Type
+<dfn title="coercion" id="dfn-coercion">
+coercion
+</dfn>
+allows
+someone
+deploying
+JSON-LD
+to
+coerce
+the
+incoming
+or
+outgoing
+values
+to
+the
+proper
+data
+type
+based
+on
+a
+mapping
+of
+data
+type
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>.
+Using
+type
+coercion,
+value
+representation
+is
+preserved
+without
+requiring
+the
+data
+type
+to
+be
+specified
+with
+each
+piece
+of
+data.
+</p>
+<p>
+Type
+coercion
+is
+specified
+within
+an
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+using
+the
+<code>
+@type
+</code>
+key.
+The
+value
+of
+this
+key
+expands
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Alternatively,
+the
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>
+may
+be
+used
+as
+value
+to
+indicate
+that
+within
+the
+body
+of
+a
+JSON-LD
+document,
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+value
+of
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+coerced
+to
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>
+is
+to
+be
+interpreted
+as
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+The
+difference
+between
+<code>
+@id
+</code>
+and
+<code>
+@vocab
+</code>
+is
+how
+values
+are
+expanded
+to
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>.
+<code>
+@vocab
+</code>
+first
+tries
+to
+expand
+the
+value
+by
+interpreting
+it
+as
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+If
+no
+matching
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+found
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+it
+tries
+to
+expand
+it
+as
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+if
+there's
+a
+colon
+in
+the
+value;
+otherwise,
+it
+will
+expand
+the
+value
+using
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context's
+</a>
+vocabulary
+mapping,
+if
+present,
+or
+by
+interpreting
+it
+as
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Values
+coerced
+to
+<code>
+@id
+</code>
+in
+contrast
+are
+expanded
+as
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+if
+a
+colon
+is
+present;
+otherwise,
+they
+are
+interpreted
+as
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+Terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+used
+as
+the
+value
+of
+a
+<code>
+@type
+</code>
+key
+may
+be
+defined
+within
+the
+same
+context.
+This
+means
+that
+one
+may
+specify
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+like
+<code>
+xsd
+</code>
+and
+then
+use
+<code>
+xsd:integer
+</code>
+within
+the
+same
+context
+definition.
+</p>
+<p>
+The
+example
+below
+demonstrates
+how
+a
+JSON-LD
+author
+can
+coerce
+values
+to
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+and
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+24
+</ins></span>:<ins class="diff-chg">
+Expanded
+term
+definition
+with
+types
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "age":
+    <span class="highlight">{
+      "@id": "http://xmlns.com/foaf/0.1/age",
+      "@type": "xsd:integer"
+    }</span>,
+    "homepage":
+    <span class="highlight">{
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }</span>
+  },
+  "@id": "http://example.com/people#john",
+  "name": "John Smith",
+  "age": <span class="highlight">"41"</span>,
+  "homepage":
+  <span class="highlight">[
+    "http://personal.example.org/",
+    "http://work.example.com/jsmith/"
+  ]</span>
+}
+</pre>
+</div>
+<p>
+The
+example
+shown
+above
+would
+generate
+the
+following
+data.
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+<th>
+Value
+Type
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.com/people#john
+</td>
+<td>
+http://xmlns.com/foaf/0.1/name
+</td>
+<td>
+John
+Smith
+</td>
+<td>
+<del class="diff-old">&nbsp;
+</del>
+<ins class="diff-chg">&#160;
+</ins>
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/people#john
+</td>
+<td>
+http://xmlns.com/foaf/0.1/age
+</td>
+<td>
+41
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#integer
+</td>
+</tr>
+<tr>
+<td rowspan="2">
+http://example.com/people#john
+</td>
+<td rowspan="2">
+http://xmlns.com/foaf/0.1/homepage
+</td>
+<td>
+http://personal.example.org/
+</td>
+<td>
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+</td>
+</tr>
+<tr>
+<td>
+http://work.example.com/jsmith/
+</td>
+<td>
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+Terms
+may
+also
+be
+defined
+using
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>.
+This
+allows
+coercion
+rules
+to
+be
+applied
+to
+keys
+which
+are
+not
+represented
+as
+a
+simple
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+For
+example:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+25
+</ins></span>:<ins class="diff-chg">
+Term
+definitions
+using
+compact
+and
+absolute
+IRIs
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/",
+    "<span class="highlight">foaf:age</span>":
+    {
+      <span class="highlight">"@id": "http://xmlns.com/foaf/0.1/age"</span>,
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+    {
+      "@type": "@id"
+    }
+  },
+  "foaf:name": "John Smith",
+  "<span class="highlight">foaf:age</span>": "41",
+  "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+  [
+    "http://personal.example.org/",
+    "http://work.example.com/jsmith/"
+  ]
+}
+</pre>
+</div>
+<p>
+In
+this
+case
+the
+<code>
+@id
+</code>
+definition
+in
+the
+term
+definition
+is
+optional.
+If
+it
+does
+exist,
+the
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+representing
+the
+term
+will
+always
+be
+expanded
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+defined
+by
+the
+<code>
+@id
+</code>
+key—regardless
+of
+whether
+a
+prefix
+is
+defined
+or
+not.
+</p>
+<p>
+Type
+coercion
+is
+always
+performed
+using
+the
+unexpanded
+value
+of
+the
+key.
+In
+the
+example
+above,
+that
+means
+that
+type
+coercion
+is
+done
+looking
+for
+<code>
+foaf:age
+</code>
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+and
+not
+for
+the
+corresponding,
+expanded
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<code>
+http://xmlns.com/foaf/0.1/age
+</code>.
+</p>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_3">
+<span>
+Note
+</span>
+</div>
+<p class="">
+Keys
+in
+the
+context
+are
+treated
+as
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+for
+the
+purpose
+of
+expansion
+and
+value
+coercion.
+At
+times,
+this
+may
+result
+in
+multiple
+representations
+for
+the
+same
+expanded
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>.
+For
+example,
+one
+could
+specify
+that
+<code>
+dog
+</code>
+and
+<code>
+cat
+</code>
+both
+expanded
+to
+<code>
+http://example.com/vocab#animal
+</code>.
+Doing
+this
+could
+be
+useful
+for
+establishing
+different
+type
+coercion
+or
+language
+specification
+rules.
+It
+also
+allows
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(or
+even
+an
+absolute
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+)
+to
+be
+defined
+as
+something
+else
+entirely.
+For
+example,
+one
+could
+specify
+that
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+<code>
+http://example.org/zoo
+</code>
+should
+expand
+to
+<code>
+http://example.org/river
+</code>,
+but
+this
+usage
+is
+discouraged
+because
+it
+would
+lead
+to
+a
+great
+deal
+of
+confusion
+among
+developers
+attempting
+to
+understand
+the
+JSON-LD
+document.
+</p>
+</div>
+</section>
+<section class="informative" id="embedding">
+<h3 aria-level="2" role="heading" id="h3_embedding">
+<span class="secno">
+6.6
+</span>
+Embedding
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+<dfn title="embedding" id="dfn-embedding">
+Embedding
+</dfn>
+is
+a
+JSON-LD
+feature
+that
+allows
+an
+author
+to
+use
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+as
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+values.
+This
+is
+a
+commonly
+used
+mechanism
+for
+creating
+a
+parent-child
+relationship
+between
+two
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>.
+</p>
+<p>
+The
+example
+shows
+two
+nodes
+related
+by
+a
+property
+from
+the
+first
+node:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+26
+</ins></span>:<ins class="diff-chg">
+Embedding
+a
+node
+object
+as
+property
+value
+of
+another
+node
+object
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "name": "Manu Sporny",
+  "<span class="highlight">knows</span>":
+  {
+    "<span class="highlight">@type</span>": "<span class="highlight">Person</span>",
+    "<span class="highlight">name</span>": "<span class="highlight">Gregg Kellogg</span>",
+  }
+...
+}
+</pre>
+</div>
+<p>
+A
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+like
+the
+one
+used
+above,
+may
+be
+used
+in
+any
+value
+position
+in
+the
+body
+of
+a
+JSON-LD
+document.
+</p>
+</section>
+<section class="informative" id="advanced-context-usage">
+<h3 aria-level="2" role="heading" id="h3_advanced-context-usage">
+<span class="secno">
+6.7
+</span>
+Advanced
+Context
+Usage
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Section
+<a href="#the-context" class="sec-ref">
+<span class="secno">
+5.1
+</span>
+<span class="sec-title">
+The
+Context
+</span>
+</a>
+introduced
+the
+basics
+of
+what
+makes
+JSON-LD
+work.
+This
+section
+expands
+on
+the
+basic
+principles
+of
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+and
+demonstrates
+how
+more
+advanced
+use
+cases
+can
+be
+achieved
+using
+JSON-LD.
+</p>
+<p>
+In
+general,
+contexts
+may
+be
+used
+at
+any
+time
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+defined.
+The
+only
+time
+that
+one
+cannot
+express
+a
+context
+is
+inside
+a
+context
+definition
+itself.
+For
+example,
+a
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+may
+use
+more
+than
+one
+context
+at
+different
+points
+in
+a
+document:
+</p>
+<del class="diff-old">  [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+27
+</ins></span>:<ins class="diff-chg">
+Using
+multiple
+contexts
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    <span class="highlight">"@context": "http://example.org/contexts/person.jsonld",</span>
+    "name": "Manu Sporny",
+    "homepage": "http://manu.sporny.org/",
+    "depiction": "http://twitter.com/account/profile_image/manusporny"
+  },
+  {
+    <span class="highlight">"@context": "http://example.org/contexts/place.jsonld",</span>
+    "name": "The Empire State Building",
+    "description": "The Empire State Building is a 102-story landmark in New York City.",
+    "geo": {
+      "latitude": "40.75",
+      "longitude": "73.98"
+    }
+  }
+]
+</pre>
+</div>
+<p>
+Duplicate
+context
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+are
+overridden
+using
+a
+most-recently-defined-wins
+mechanism.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+28
+</ins></span>:<ins class="diff-chg">
+Scoped
+contexts
+within
+node
+objects
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    "name": "http://example.com/person#name,
+    "details": "http://example.com/person#details"
+  }"</span>,
+  "<span class="highlight">name</span>": "Markus Lanthaler",
+  ...
+  "details":
+  {
+    <span class="highlight">"@context":
+    {
+      "name": "http://example.com/organization#name"
+    }</span>,
+    "<span class="highlight">name</span>": "Graz University of Technology"
+  }
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+the
+<code>
+name
+</code>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+overridden
+in
+the
+more
+deeply
+nested
+<code>
+details
+</code>
+structure.
+Note
+that
+this
+is
+rarely
+a
+good
+authoring
+practice
+and
+is
+typically
+used
+when
+working
+with
+legacy
+applications
+that
+depend
+on
+a
+specific
+structure
+of
+the
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+If
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+redefined
+within
+a
+context,
+all
+previous
+rules
+associated
+with
+the
+previous
+definition
+are
+removed.
+If
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+redefined
+to
+<code>
+null
+</code>,
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+effectively
+removed
+from
+the
+list
+of
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+defined
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+</p>
+<p>
+Multiple
+contexts
+may
+be
+combined
+using
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+which
+is
+processed
+in
+order.
+The
+set
+of
+contexts
+defined
+within
+a
+specific
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+are
+referred
+to
+as
+<dfn title="local-context" id="dfn-local-context">
+local
+contexts
+</dfn>.
+The
+<dfn title="active-context" id="dfn-active-context">
+active
+context
+</dfn>
+refers
+to
+the
+accumulation
+of
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+contexts
+</a>
+that
+are
+in
+scope
+at
+a
+specific
+point
+within
+the
+document.
+Setting
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+to
+<code>
+null
+</code>
+effectively
+resets
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+to
+an
+empty
+context.
+The
+following
+example
+specifies
+an
+external
+context
+and
+then
+layers
+an
+embedded
+context
+on
+top
+of
+the
+external
+context:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+29
+</ins></span>:<ins class="diff-chg">
+Combining
+external
+and
+local
+contexts
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context": [
+    "http://json-ld.org/contexts/person.jsonld",
+    {
+      "pic": "http://xmlns.com/foaf/0.1/depiction"
+    }
+  ],</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  <span class="highlight">"pic": "http://twitter.com/account/profile_image/manusporny"</span>
+}
+</pre>
+</div>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_4">
+<span>
+Note
+</span>
+</div>
+<p class="">
+When
+possible,
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+definition
+should
+be
+put
+at
+the
+top
+of
+a
+JSON-LD
+document.
+This
+makes
+the
+document
+easier
+to
+read
+and
+might
+make
+streaming
+parsers
+more
+efficient.
+Documents
+that
+do
+not
+have
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+at
+the
+top
+are
+still
+conformant
+JSON-LD.
+</p>
+</div>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_5">
+<span>
+Note
+</span>
+</div>
+<p class="">
+To
+avoid
+forward-compatibility
+issues,
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+starting
+with
+<del class="diff-old">an&nbsp;
+</del>
+<ins class="diff-chg">an&#160;
+</ins>
+<code>
+@
+</code>
+character
+are
+to
+be
+avoided
+as
+they
+might
+be
+used
+as
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+in
+future
+versions
+of
+JSON-LD.
+Terms
+starting
+with
+<del class="diff-old">an&nbsp;
+</del>
+<ins class="diff-chg">an&#160;
+</ins>
+<code>
+@
+</code>
+character
+that
+are
+not
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+JSON-LD
+1.0
+keywords
+</a>
+are
+treated
+as
+any
+other
+term,
+i.e.,
+they
+are
+ignored
+unless
+mapped
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+Furthermore,
+the
+use
+of
+empty
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+(
+<code>
+""
+</code>
+)
+is
+not
+allowed
+as
+not
+all
+programming
+languages
+are
+able
+to
+handle
+empty
+JSON
+keys.
+</p>
+</div>
+</section>
+<section class="normative" id="interpreting-json-as-json-ld">
+<h3 aria-level="2" role="heading" id="h3_interpreting-json-as-json-ld">
+<span class="secno">
+6.8
+</span>
+Interpreting
+JSON
+as
+JSON-LD
+</h3>
+<p>
+Ordinary
+JSON
+documents
+can
+be
+interpreted
+as
+JSON-LD
+by
+referencing
+a
+JSON-LD
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+document
+in
+an
+HTTP
+Link
+Header.
+Doing
+so
+allows
+JSON
+to
+be
+unambiguously
+machine-readable
+without
+requiring
+developers
+to
+drastically
+change
+their
+documents
+and
+provides
+an
+upgrade
+path
+for
+existing
+infrastructure
+without
+breaking
+existing
+clients
+that
+rely
+on
+the
+<code>
+application/json
+</code>
+media
+type
+or
+a
+media
+type
+with
+a
+<code>
++json
+</code>
+suffix
+as
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC6839">
+RFC6839
+</a>
+</cite>
+].
+</p>
+<p>
+In
+order
+to
+use
+an
+external
+context
+with
+an
+ordinary
+JSON
+document,
+an
+author
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+specify
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+a
+valid
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+in
+an
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation.
+The
+referenced
+document
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+have
+a
+top-level
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+The
+<code>
+@context
+</code>
+subtree
+within
+that
+object
+is
+added
+to
+the
+top-level
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+of
+the
+referencing
+document.
+If
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+is
+at
+the
+top-level
+of
+the
+referencing
+document
+and
+its
+items
+are
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+objects
+</a>,
+the
+<code>
+@context
+</code>
+subtree
+is
+added
+to
+all
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+items.
+All
+extra
+information
+located
+outside
+of
+the
+<code>
+@context
+</code>
+subtree
+in
+the
+referenced
+document
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+discarded.
+Effectively
+this
+means
+that
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+is
+initialized
+with
+the
+referenced
+external
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+A
+response
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+contain
+more
+than
+one
+HTTP
+Link
+Header
+[
+<cite>
+<a class="bibref" href="#bib-RFC5988">
+RFC5988
+</a>
+</cite>
+]
+using
+the
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+link
+relation.
+</p>
+<p>
+The
+following
+example
+demonstrates
+the
+use
+of
+an
+external
+context
+with
+an
+ordinary
+JSON
+document:
+</p>
+<del class="diff-old">  GET /ordinary-json-document.json HTTP/1.1
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+30
+</ins></span>:<ins class="diff-chg">
+Referencing
+a
+JSON-LD
+context
+from
+a
+JSON
+document
+via
+an
+HTTP
+Link
+Header
+</ins></div><pre class="example"><ins class="diff-chg">
+GET /ordinary-json-document.json HTTP/1.1
+</ins>
+Host: example.com
+Accept: application/ld+json,application/json,*/*;q=0.1
+====================================
+HTTP/1.1 200 OK
+...
+Content-Type: <span class="highlight">application/json</span>
+<span class="highlight">Link: &lt;http://json-ld.org/contexts/person.jsonld&gt;; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"</span>
+{
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/",
+  "image": "http://twitter.com/account/profile_image/markuslanthaler"
+}
+</pre>
+</div>
+<p>
+Please
+note
+that
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+documents
+</a>
+served
+with
+the
+<code>
+application/ld+json
+</code>
+media
+type
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+have
+all
+context
+information,
+including
+references
+to
+external
+contexts,
+within
+the
+body
+of
+the
+document.
+Contexts
+linked
+via
+a
+<code>
+http://www.w3.org/ns/json-ld#context
+</code>
+HTTP
+Link
+Header
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+ignored
+for
+such
+documents.
+</p>
+</section>
+<section class="informative" id="string-internationalization">
+<h3 aria-level="2" role="heading" id="h3_string-internationalization">
+<span class="secno">
+6.9
+</span>
+String
+Internationalization
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+At
+times,
+it
+is
+important
+to
+annotate
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+with
+its
+language.
+In
+JSON-LD
+this
+is
+possible
+in
+a
+variety
+of
+ways.
+First,
+it
+is
+possible
+to
+define
+a
+default
+language
+for
+a
+JSON-LD
+document
+by
+setting
+the
+<code>
+@language
+</code>
+key
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+31
+</ins></span>:<ins class="diff-chg">
+Setting
+the
+default
+language
+of
+a
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    ...
+    "@language": "ja"
+  }</span>,
+  "name": <span class="highlight">"花澄"</span>,
+  "occupation": <span class="highlight">"科学者"</span>
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+would
+associate
+the
+<code>
+ja
+</code>
+language
+code
+with
+the
+two
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+<em>
+花澄
+</em>
+and
+<em>
+科学者
+</em>.
+Languages
+codes
+are
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+].
+The
+default
+language
+applies
+to
+all
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+values
+that
+are
+not
+<a href="#type-coercion">
+type
+coerced
+</a>.
+</p>
+<p>
+To
+clear
+the
+default
+language
+for
+a
+subtree,
+<code>
+@language
+</code>
+can
+be
+set
+to
+<code>
+null
+</code>
+in
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+as
+follows:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+32
+</ins></span>:<ins class="diff-chg">
+Clearing
+default
+language
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": "花澄",
+  "details": {
+<span class="highlight">    "@context": {
+      "@language": null
+    }</span>,
+    "occupation": "Ninja"
+  }
+}
+</pre>
+</div>
+<p>
+Second,
+it
+is
+possible
+to
+associate
+a
+language
+with
+a
+specific
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+using
+an
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+33
+</ins></span>:<ins class="diff-chg">
+Expanded
+term
+definition
+with
+language
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    ...
+    "ex": "http://example.com/vocab/",
+    "@language": "ja",
+    "name": { "@id": "ex:name", <span class="highlight">"@language": null</span> },
+    "occupation": { "@id": "ex:occupation" },
+    "occupation_en": { "@id": "ex:occupation", <span class="highlight">"@language": "en"</span> },
+    "occupation_cs": { "@id": "ex:occupation", <span class="highlight">"@language": "cs"</span> }
+  },
+  <span class="highlight">"name": "Yagyū Muneyoshi",
+  "occupation": "忍者",
+  "occupation_en": "Ninja",
+  "occupation_cs": "Nindža",</span>
+  ...
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+would
+associate
+<em>
+忍者
+</em>
+with
+the
+specified
+default
+language
+code
+<code>
+ja
+</code>,
+<em>
+Ninja
+</em>
+with
+the
+language
+code
+<code>
+en
+</code>,
+and
+<em>
+Nindža
+</em>
+with
+the
+language
+code
+<code>
+cs
+</code>.
+The
+value
+of
+<code>
+name
+</code>,
+<em>
+Yagyū
+Muneyoshi
+</em>
+wouldn't
+be
+associated
+with
+any
+language
+code
+since
+<code>
+@language
+</code>
+was
+reset
+to
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>
+in
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>.
+</p>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_6">
+<span>
+Note
+</span>
+</div>
+<p class="">
+Language
+associations
+are
+only
+applied
+to
+plain
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>.
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+Typed
+values
+</a>
+or
+values
+that
+are
+subject
+to
+<a href="#type-coercion">
+type
+coercion
+</a>
+are
+not
+language
+tagged.
+</p>
+</div>
+<p>
+Just
+as
+in
+the
+example
+above,
+systems
+often
+need
+to
+express
+the
+value
+of
+a
+property
+in
+multiple
+languages.
+Typically,
+such
+systems
+also
+try
+to
+ensure
+that
+developers
+have
+a
+programmatically
+easy
+way
+to
+navigate
+the
+data
+structures
+for
+the
+language-specific
+data.
+In
+this
+case,
+<a class="tref internalDFN" title="language-map" href="#dfn-language-map">
+language
+maps
+</a>
+may
+be
+utilized.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+34
+</ins></span>:<ins class="diff-chg">
+Language
+map
+expressing
+a
+property
+in
+three
+languages
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    ...
+    "occupation": { "@id": "ex:occupation", <span class="highlight">"@container": "@language"</span> }
+  },
+  "name": "Yagyū Muneyoshi",
+  "occupation":
+  <span class="highlight">{
+    "ja": "忍者",
+    "en": "Ninja",
+    "cs": "Nindža"
+  }</span>
+  ...
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+expresses
+exactly
+the
+same
+information
+as
+the
+previous
+example
+but
+consolidates
+all
+values
+in
+a
+single
+property.
+To
+access
+the
+value
+in
+a
+specific
+language
+in
+a
+programming
+language
+supporting
+dot-notation
+accessors
+for
+object
+properties,
+a
+developer
+may
+use
+the
+<code>
+property.language
+</code>
+pattern.
+For
+example,
+to
+access
+the
+occupation
+in
+English,
+a
+developer
+would
+use
+the
+following
+code
+snippet:
+<code>
+obj.occupation.en
+</code>.
+</p>
+<p>
+Third,
+it
+is
+possible
+to
+override
+the
+default
+language
+by
+using
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+35
+</ins></span>:<ins class="diff-chg">
+Overriding
+default
+language
+using
+an
+expanded
+value
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": "花澄",
+  "occupation": <span class="highlight">{
+    "@value": "Scientist",
+    "@language": "en"
+  }</span>
+}
+</pre>
+</div>
+<p>
+This
+makes
+it
+possible
+to
+specify
+a
+plain
+string
+by
+omitting
+the
+<code>
+@language
+</code>
+tag
+or
+setting
+it
+to
+<code>
+null
+</code>
+when
+expressing
+it
+using
+a
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+36
+</ins></span>:<ins class="diff-chg">
+Removing
+language
+information
+using
+an
+expanded
+value
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": <span class="highlight">{
+    "@value": "Frank"
+  }</span>,
+  "occupation": {
+    "@value": "Ninja",
+    "@language": "en"
+  },
+  "speciality": "手裏剣"
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="iri-expansion-within-a-context">
+<h3 aria-level="2" role="heading" id="h3_iri-expansion-within-a-context">
+<span class="secno">
+6.10
+</span>
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+Expansion
+within
+a
+Context
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+In
+general,
+normal
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+expansion
+rules
+apply
+anywhere
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+is
+expected
+(see
+<a class="sectionRef sec-ref" href="#iris">
+section
+5.2
+IRIs
+</a>
+).
+Within
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+definition,
+this
+can
+mean
+that
+terms
+defined
+within
+the
+context
+may
+also
+be
+used
+within
+that
+context
+as
+long
+as
+there
+are
+no
+circular
+dependencies.
+For
+example,
+it
+is
+common
+to
+use
+the
+<code>
+xsd
+</code>
+namespace
+when
+defining
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>
+s:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+37
+</ins></span>:<ins class="diff-chg">
+IRI
+expansion
+within
+a
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    <span class="highlight">"xsd": "http://www.w3.org/2001/XMLSchema#"</span>,
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "age":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/age",
+      "@type": <span class="highlight">"xsd:integer"</span>
+    },
+    "homepage":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  ...
+}
+</pre>
+</div>
+<p>
+In
+this
+example,
+the
+<code>
+xsd
+</code>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+defined
+and
+used
+as
+a
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+for
+the
+<code>
+@type
+</code>
+coercion
+of
+the
+<code>
+age
+</code>
+property.
+</p>
+<p>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+Terms
+</a>
+may
+also
+be
+used
+when
+defining
+the
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+of
+another
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+38
+</ins></span>:<ins class="diff-chg">
+Using
+a
+term
+to
+define
+the
+IRI
+of
+another
+term
+within
+a
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": <span class="highlight">"foaf:name"</span>,
+    "age":
+    {
+      "@id": <span class="highlight">"foaf:age"</span>,
+      "@type": "xsd:integer"
+    },
+    "homepage":
+    {
+      "@id": <span class="highlight">"foaf:homepage"</span>,
+      "@type": "@id"
+    }
+  },
+  ...
+}
+</pre>
+</div>
+<p>
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+Compact
+IRIs
+</a>
+and
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+may
+be
+used
+on
+the
+left-hand
+side
+of
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+definition.
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+39
+</ins></span>:<ins class="diff-chg">
+Using
+a
+compact
+IRI
+as
+a
+term
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "foaf:name",
+    "<span class="highlight">foaf:age</span>":
+    {
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">foaf:homepage</span>":
+    <span class="highlight">{
+      "@type": "@id"
+    }</span>
+  },
+  ...
+}
+</pre>
+</div>
+<p>
+In
+this
+example,
+the
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+form
+is
+used
+in
+two
+different
+ways.
+In
+the
+first
+approach,
+<code>
+foaf:age
+</code>
+declares
+both
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+for
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+(using
+short-form)
+as
+well
+as
+the
+<code>
+@type
+</code>
+associated
+with
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>.
+In
+the
+second
+approach,
+only
+the
+<code>
+@type
+</code>
+associated
+with
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+specified.
+The
+full
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+for
+<code>
+foaf:homepage
+</code>
+is
+determined
+by
+looking
+up
+the
+<code>
+foaf
+</code>
+<a class= "tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+Absolute
+IRIs
+</a>
+may
+also
+be
+used
+in
+the
+key
+position
+in
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+40
+</ins></span>:<ins class="diff-chg">
+Associating
+context
+definitions
+with
+absolute
+IRIs
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/",
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "foaf:name",
+    "foaf:age":
+    {
+      "@id": "foaf:age",
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+    {
+      "@type": "@id"
+    }
+  },
+  ...
+}
+</pre>
+</div>
+<p>
+In
+order
+for
+the
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+match
+above,
+the
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+needs
+to
+be
+used
+in
+the
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>.
+Also
+note
+that
+<code>
+foaf:homepage
+</code>
+will
+not
+use
+the
+<code>
+{
+"@type":
+"@id"
+}
+</code>
+declaration
+because
+<code>
+foaf:homepage
+</code>
+is
+not
+the
+same
+as
+<code>
+http://xmlns.com/foaf/0.1/homepage
+</code>.
+That
+is,
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+are
+looked
+up
+in
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+using
+direct
+string
+comparison
+before
+the
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
+prefix
+</a>
+lookup
+mechanism
+is
+applied.
+</p>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_7">
+<span>
+Note
+</span>
+</div>
+<p class="">
+While
+it
+is
+possible
+to
+define
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+to
+expand
+to
+some
+other
+unrelated
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(for
+example,
+<code>
+foaf:name
+</code>
+expanding
+to
+<code>
+http://example.org/unrelated#species
+</code>
+),
+such
+usage
+is
+strongly
+discouraged.
+</p>
+</div>
+<p>
+The
+only
+exception
+for
+using
+terms
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+that
+circular
+definitions
+are
+not
+allowed.
+That
+is,
+a
+definition
+of
+<em>
+term1
+</em>
+cannot
+depend
+on
+the
+definition
+of
+<em>
+term2
+</em>
+if
+<em>
+term2
+</em>
+also
+depends
+on
+<em>
+term1
+</em>.
+For
+example,
+the
+following
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+definition
+is
+illegal:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+41
+</ins></span>:<ins class="diff-chg">
+Illegal
+circular
+definition
+of
+terms
+within
+a
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    <span class="highlight">"term1": "term2:foo",
+    "term2": "term1:bar"</span>
+  },
+  ...
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="sets-and-lists">
+<h3 aria-level="2" role="heading" id="h3_sets-and-lists">
+<span class="secno">
+6.11
+</span>
+Sets
+and
+Lists
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+A
+JSON-LD
+author
+can
+express
+multiple
+values
+in
+a
+compact
+way
+by
+using
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>.
+Since
+graphs
+do
+not
+describe
+ordering
+for
+links
+between
+nodes,
+arrays
+in
+JSON-LD
+do
+not
+provide
+an
+ordering
+of
+the
+contained
+elements
+by
+default.
+This
+is
+exactly
+the
+opposite
+from
+regular
+JSON
+arrays,
+which
+are
+ordered
+by
+default.
+For
+example,
+consider
+the
+following
+simple
+document:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+42
+</ins></span>:<ins class="diff-chg">
+Multiple
+values
+with
+no
+inherent
+order
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "@id": "http://example.org/people#joebob",
+  "nick": <span class="highlight">[ "joe", "bob", "JB" ]</span>,
+...
+}
+</pre>
+</div>
+<p>
+The
+example
+shown
+above
+would
+result
+in
+the
+following
+data
+being
+generated,
+each
+relating
+the
+node
+to
+an
+individual
+value,
+with
+no
+inherent
+order:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.org/people#joebob
+</td>
+<td>
+http://xmlns.com/foaf/0.1/nick
+</td>
+<td>
+joe
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/people#joebob
+</td>
+<td>
+http://xmlns.com/foaf/0.1/nick
+</td>
+<td>
+bob
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/people#joebob
+</td>
+<td>
+http://xmlns.com/foaf/0.1/nick
+</td>
+<td>
+JB
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+Multiple
+values
+may
+also
+be
+expressed
+using
+the
+expanded
+form:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+43
+</ins></span>:<ins class="diff-chg">
+Using
+an
+expanded
+form
+to
+set
+multiple
+values
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@id": "http://example.org/articles/8",
+  "dc:title": <span class="highlight">
+  [
+    {
+      "@value": "Das Kapital",
+      "@language": "de"
+    },
+    {
+      "@value": "Capital",
+      "@language": "en"
+    }
+  ]</span>
+}
+</pre>
+</div>
+<p>
+The
+example
+shown
+above
+would
+generate
+the
+following
+data,
+again
+with
+no
+inherent
+order:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+<th>
+Language
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.org/articles/8
+</td>
+<td>
+http://purl.org/dc/terms/title
+</td>
+<td>
+Das
+Kapital
+</td>
+<td>
+de
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/articles/8
+</td>
+<td>
+http://purl.org/dc/terms/title
+</td>
+<td>
+Capital
+</td>
+<td>
+en
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+As
+the
+notion
+of
+ordered
+collections
+is
+rather
+important
+in
+data
+modeling,
+it
+is
+useful
+to
+have
+specific
+language
+support.
+In
+JSON-LD,
+a
+list
+may
+be
+represented
+using
+the
+<code>
+@list
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+as
+follows:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+44
+</ins></span>:<ins class="diff-chg">
+An
+ordered
+collection
+of
+values
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+...
+  "@id": "http://example.org/people#joebob",
+  "foaf:nick":
+  <span class="highlight">{
+    "@list": [ "joe", "bob", "jaybee" ]
+  }</span>,
+...
+}
+</pre>
+</div>
+<p>
+This
+describes
+the
+use
+of
+this
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+as
+being
+ordered,
+and
+order
+is
+maintained
+when
+processing
+a
+document.
+If
+every
+use
+of
+a
+given
+multi-valued
+property
+is
+a
+list,
+this
+may
+be
+abbreviated
+by
+setting
+<code>
+@container
+</code>
+to
+<code>
+@list
+</code>
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>:
+</p>
+<del class="diff-old">{
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+45
+</ins></span>:<ins class="diff-chg">
+Specifying
+that
+a
+collection
+is
+ordered
+in
+the
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  <span class="highlight">"@context":
+  {
+    ...
+    "nick":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/nick",
+      "@container": "@list"
+    }
+  }</span>,
+...
+  "@id": "http://example.org/people#joebob",
+  "nick": <span class="highlight">[ "joe", "bob", "jaybee" ]</span>,
+...
+}
+</pre>
+</div>
+<div class="note">
+<div class="note-title" aria-level="3" role="heading" id="h_note_8">
+<span>
+Note
+</span>
+</div>
+<p class="">
+List
+of
+lists
+in
+the
+form
+of
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+objects
+</a>
+are
+not
+allowed
+in
+this
+version
+of
+JSON-LD.
+This
+decision
+was
+made
+due
+to
+the
+extreme
+amount
+of
+added
+complexity
+when
+processing
+lists
+of
+lists.
+</p>
+</div>
+<p>
+While
+<code>
+@list
+</code>
+is
+used
+to
+describe
+<em>
+ordered
+lists
+</em>,
+the
+<code>
+@set
+</code>
+keyword
+is
+used
+to
+describe
+<em>
+unordered
+sets
+</em>.
+The
+use
+of
+<code>
+@set
+</code>
+in
+the
+body
+of
+a
+JSON-LD
+document
+is
+optimized
+away
+when
+processing
+the
+document,
+as
+it
+is
+just
+syntactic
+sugar.
+However,
+<code>
+@set
+</code>
+is
+helpful
+when
+used
+within
+the
+context
+of
+a
+document.
+Values
+of
+terms
+associated
+with
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@set
+</code>
+or
+<code>
+@list
+</code>
+container
+are
+always
+represented
+in
+the
+form
+of
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>,
+even
+if
+there
+is
+just
+a
+single
+value
+that
+would
+otherwise
+be
+optimized
+to
+a
+non-array
+form
+in
+compact
+form
+(see
+<a class="sectionRef sec-ref" href="#compacted-document-form">
+section
+6.18
+Compacted
+Document
+Form
+</a>
+).
+This
+makes
+post-processing
+of
+JSON-LD
+documents
+easier
+as
+the
+data
+is
+always
+in
+array
+form,
+even
+if
+the
+array
+only
+contains
+a
+single
+value.
+</p>
+</section>
+<section class="informative" id="reverse-properties">
+<h3 aria-level="2" role="heading" id="h3_reverse-properties">
+<span class="secno">
+6.12
+</span>
+Reverse
+Properties
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+JSON-LD
+serializes
+directed
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graphs
+</a>.
+That
+means
+that
+every
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+points
+from
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+to
+another
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+or
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+value
+</a>.
+However,
+in
+some
+cases,
+it
+is
+desirable
+to
+serialize
+in
+the
+reverse
+direction.
+Consider
+for
+example
+the
+case
+where
+a
+person
+and
+its
+children
+should
+be
+described
+in
+a
+document.
+If
+the
+used
+vocabulary
+does
+not
+provide
+a
+<em>
+children
+</em>
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+but
+just
+a
+<em>
+parent
+</em>
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>,
+every
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+representing
+a
+child
+would
+have
+to
+be
+expressed
+with
+a
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+pointing
+to
+the
+parent
+as
+in
+the
+following
+example.
+</p>
+<del class="diff-old">  [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+46
+</ins></span>:<ins class="diff-chg">
+A
+document
+with
+children
+linking
+to
+their
+parent
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    <span class="highlight">"@id": "#homer"</span>,
+    "http://example.com/vocab#name": "Homer"
+  },
+  {
+    "@id": "#bart",
+    "http://example.com/vocab#name": "Bart",
+    <span class="highlight">"http://example.com/vocab#parent": { "@id": "#homer" }</span>
+  },
+  {
+    "@id": "#lisa",
+    "http://example.com/vocab#name": "Lisa",
+    <span class="highlight">"http://example.com/vocab#parent": { "@id": "#homer" }</span>
+  }
+]
+</pre>
+</div>
+<p>
+Expressing
+such
+data
+is
+much
+simpler
+by
+using
+JSON-LD's
+<code>
+@reverse
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+47
+</ins></span>:<ins class="diff-chg">
+A
+person
+and
+its
+children
+using
+a
+reverse
+property
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@id": "#homer",
+  "http://example.com/vocab#name": "Homer",
+  <span class="highlight">"@reverse"</span>: {
+    <span class="highlight">"http://example.com/vocab#parent"</span>: [
+      {
+        "@id": "#bart",
+        "http://example.com/vocab#name": "Bart"
+      },
+      {
+        "@id": "#lisa",
+        "http://example.com/vocab#name": "Lisa"
+      }
+    ]
+  }
+}
+</pre>
+</div>
+<p>
+The
+<code>
+@reverse
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+can
+also
+be
+used
+in
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definitions
+</a>
+to
+create
+reverse
+properties
+as
+shown
+in
+the
+following
+example:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+48
+</ins></span>:<ins class="diff-chg">
+Using
+@reverse
+to
+define
+reverse
+properties
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://example.com/vocab#name",
+    <span class="highlight">"children": { "@reverse": "http://example.com/vocab#parent" }</span>
+  },
+  "@id": "#homer",
+  "name": "Homer",
+  <span class="highlight">"children"</span>: [
+    {
+      "@id": "#bart",
+      "name": "Bart"
+    },
+    {
+      "@id": "#lisa",
+      "name": "Lisa"
+    }
+  ]
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="named-graphs">
+<h3 aria-level="2" role="heading" id="h3_named-graphs">
+<span class="secno">
+6.13
+</span>
+Named
+Graphs
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+At
+times,
+it
+is
+necessary
+to
+make
+statements
+about
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+itself,
+rather
+than
+just
+a
+single
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+This
+can
+be
+done
+by
+grouping
+a
+set
+of
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+using
+the
+<code>
+@graph
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+A
+developer
+may
+also
+name
+data
+expressed
+using
+the
+<code>
+@graph
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+by
+pairing
+it
+with
+an
+<code>
+@id
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+as
+shown
+in
+the
+following
+example:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+49
+</ins></span>:<ins class="diff-chg">
+Identifying
+and
+making
+statements
+about
+a
+graph
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "generatedAt": {
+      "@id": "http://www.w3.org/ns/prov#generatedAtTime",
+      "@type": "http://www.w3.org/2001/XMLSchema#date"
+    },
+    "Person": "http://xmlns.com/foaf/0.1/Person",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  <span class="highlight">"@id": "http://example.org/graphs/73",
+  "generatedAt": "2012-04-09",
+  "@graph":</span>
+  [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "@type": "Person",
+      "name": "Manu Sporny",
+      "knows": "http://greggkellogg.net/foaf#me"
+    },
+    {
+      "@id": "http://greggkellogg.net/foaf#me",
+      "@type": "Person",
+      "name": "Gregg Kellogg",
+      "knows": "http://manu.sporny.org/about#manu"
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+expresses
+a
+<a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">
+named
+graph
+</a>
+that
+is
+identified
+by
+the
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<code>
+http://example.org/graphs/73
+</code>.
+That
+graph
+is
+composed
+of
+the
+statements
+about
+Manu
+and
+Gregg.
+Metadata
+about
+the
+graph
+itself
+is
+expressed
+via
+the
+<code>
+generatedAt
+</code>
+property,
+which
+specifies
+when
+the
+graph
+was
+generated.
+An
+alternative
+view
+of
+the
+information
+above
+is
+represented
+in
+table
+form
+below:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Graph
+</th>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+<th>
+Value
+Type
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+<del class="diff-old">&nbsp;
+</del>
+<ins class="diff-chg">&#160;
+</ins>
+</td>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://www.w3.org/ns/prov#generatedAtTime
+</td>
+<td>
+2012-04-09
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#date
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://manu.sporny.org/about#manu
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#type
+</td>
+<td>
+http://xmlns.com/foaf/0.1/Person
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://manu.sporny.org/about#manu
+</td>
+<td>
+http://xmlns.com/foaf/0.1/name
+</td>
+<td>
+Manu
+Sporny
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://manu.sporny.org/about#manu
+</td>
+<td>
+http://xmlns.com/foaf/0.1/knows
+</td>
+<td>
+http://greggkellogg.net/foaf#me
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://greggkellogg.net/foaf#me
+</td>
+<td>
+http://www.w3.org/2001/XMLSchema#type
+</td>
+<td>
+http://xmlns.com/foaf/0.1/Person
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://greggkellogg.net/foaf#me
+</td>
+<td>
+http://xmlns.com/foaf/0.1/name
+</td>
+<td>
+Gregg
+Kellogg
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+http://example.org/graphs/73
+</td>
+<td>
+http://greggkellogg.net/foaf#me
+</td>
+<td>
+http://xmlns.com/foaf/0.1/knows
+</td>
+<td>
+http://manu.sporny.org/about#manu
+</td>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+When
+a
+JSON-LD
+document's
+top-level
+structure
+is
+an
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+object
+</a>
+that
+contains
+no
+other
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+than
+<code>
+@graph
+</code>
+and
+optionally
+<code>
+@context
+</code>
+(properties
+that
+are
+not
+mapped
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+are
+ignored),
+<code>
+@graph
+</code>
+is
+considered
+to
+express
+the
+otherwise
+implicit
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>.
+This
+mechanism
+can
+be
+useful
+when
+a
+number
+of
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+exist
+at
+the
+document's
+top
+level
+that
+share
+the
+same
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>,
+which
+is,
+e.g.,
+the
+case
+when
+a
+document
+is
+<a href="#flattened-document-form">
+flattened
+</a>.
+The
+<code>
+@graph
+</code>
+keyword
+collects
+such
+nodes
+in
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+and
+allows
+the
+use
+of
+a
+shared
+context.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+50
+</ins></span>:<ins class="diff-chg">
+Using
+@graph
+to
+explicitly
+express
+the
+default
+graph
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": ...,
+  "<span class="highlight">@graph</span>":
+  [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "@type": "foaf:Person",
+      "name": "Manu Sporny",
+      "knows": "http://greggkellogg.net/foaf#me"
+    },
+    {
+      "@id": "http://greggkellogg.net/foaf#me",
+      "@type": "foaf:Person",
+      "name": "Gregg Kellogg",
+      "knows": "http://manu.sporny.org/about#manu"
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+In
+this
+case,
+embedding
+doesn't
+work
+as
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+references
+the
+other.
+This
+is
+equivalent
+to
+using
+multiple
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+in
+array
+and
+defining
+the
+<code>
+@context
+</code>
+within
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>:
+</p>
+<del class="diff-old">  [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+51
+</ins></span>:<ins class="diff-chg">
+Context
+needs
+to
+be
+duplicated
+if
+@graph
+is
+not
+used
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    <span class="highlight">"@context": ...,</span>
+    "@id": "http://manu.sporny.org/about#manu",
+    "@type": "foaf:Person",
+    "name": "Manu Sporny",
+    "knows": "http://greggkellogg.net/foaf#me"
+  },
+  {
+    <span class="highlight">"@context": ...,</span>
+    "@id": "http://greggkellogg.net/foaf#me",
+    "@type": "foaf:Person",
+    "name": "Gregg Kellogg",
+    "knows": "http://manu.sporny.org/about#manu"
+  }
+]
+</pre>
+</div>
+</section>
+<section class="informative" id="identifying-blank-nodes">
+<h3 aria-level="2" role="heading" id="h3_identifying-blank-nodes">
+<span class="secno">
+6.14
+</span>
+Identifying
+Blank
+Nodes
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+At
+times,
+it
+becomes
+necessary
+to
+be
+able
+to
+express
+information
+without
+being
+able
+to
+uniquely
+identify
+the
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+This
+type
+of
+node
+is
+called
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>.
+JSON-LD
+does
+not
+require
+all
+nodes
+to
+be
+identified
+using
+<code>
+@id
+</code>.
+However,
+some
+graph
+topologies
+may
+require
+identifiers
+to
+be
+serializable.
+Graphs
+containing
+loops,
+e.g.,
+cannot
+be
+serialized
+using
+embedding
+alone,
+<code>
+@id
+</code>
+must
+be
+used
+to
+connect
+the
+nodes.
+In
+these
+situations,
+one
+can
+use
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>,
+which
+look
+like
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+using
+an
+underscore
+(
+<code>
+_
+</code>
+)
+as
+scheme.
+This
+allows
+one
+to
+reference
+the
+node
+locally
+within
+the
+document,
+but
+makes
+it
+impossible
+to
+reference
+the
+node
+from
+an
+external
+document.
+The
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+is
+scoped
+to
+the
+document
+in
+which
+it
+is
+used.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+52
+</ins></span>:<ins class="diff-chg">
+Specifying
+a
+local
+blank
+node
+identifier
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+   ...
+   "@id": "<span class="highlight">_:n1</span>",
+   "name": "Secret Agent 1",
+   "knows":
+     {
+       "name": "Secret Agent 2",
+       "knows": { "@id": "<span class="highlight">_:n1</span>" }
+     }
+}
+</pre>
+</div>
+<p>
+The
+example
+above
+contains
+information
+about
+<del class="diff-old">to
+</del>
+<ins class="diff-chg">two
+</ins>
+secret
+agents
+that
+cannot
+be
+identified
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+While
+expressing
+that
+<em>
+<del class="diff-old">agent&nbsp;1
+</del>
+<ins class="diff-chg">agent&#160;1
+</ins>
+</em>
+knows
+<em>
+<del class="diff-old">agent&nbsp;2
+</del>
+<ins class="diff-chg">agent&#160;2
+</ins>
+</em>
+is
+possible
+without
+using
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>,
+it
+is
+necessary
+<ins class="diff-new">to
+</ins>
+assign
+<em>
+<del class="diff-old">agent&nbsp;1
+</del>
+<ins class="diff-chg">agent&#160;1
+</ins>
+</em>
+an
+identifier
+so
+that
+it
+can
+be
+referenced
+from
+<em>
+<del class="diff-old">agent&nbsp;2
+</del>
+<ins class="diff-chg">agent&#160;2
+</ins>
+</em>.
+</p>
+<p>
+It
+is
+worth
+nothing
+that
+blank
+node
+identifiers
+may
+be
+relabeled
+during
+processing.
+If
+a
+developer
+finds
+that
+they
+refer
+to
+the
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+more
+than
+once,
+they
+should
+consider
+naming
+the
+node
+using
+a
+dereferenceable
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+so
+that
+it
+can
+also
+be
+referenced
+from
+other
+documents.
+</p>
+</section>
+<section class="informative" id="aliasing-keywords">
+<h3 aria-level="2" role="heading" id="h3_aliasing-keywords">
+<span class="secno">
+6.15
+</span>
+Aliasing
+Keywords
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Each
+of
+the
+JSON-LD
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>,
+except
+for
+<code>
+@context
+</code>,
+may
+be
+aliased
+to
+application-specific
+keywords.
+This
+feature
+allows
+legacy
+JSON
+content
+to
+be
+utilized
+by
+JSON-LD
+by
+re-using
+JSON
+keys
+that
+already
+exist
+in
+legacy
+documents.
+This
+feature
+also
+allows
+developers
+to
+design
+domain-specific
+implementations
+using
+only
+the
+JSON-LD
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>.
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+53
+</ins></span>:<ins class="diff-chg">
+Aliasing
+keywords
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+     <span class="highlight">"url": "@id"</span>,
+     <span class="highlight">"a": "@type"</span>,
+     "name": "http://xmlns.com/foaf/0.1/name"
+  },
+  "<span class="highlight">url</span>": "http://example.com/about#gregg",
+  "<span class="highlight">a</span>": "http://xmlns.com/foaf/0.1/Person",
+  "name": "Gregg Kellogg"
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+the
+<code>
+@id
+</code>
+and
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+have
+been
+given
+the
+aliases
+<strong>
+url
+</strong>
+and
+<strong>
+a
+</strong>,
+respectively.
+</p>
+<p>
+Since
+keywords
+cannot
+be
+redefined,
+they
+can
+also
+not
+be
+aliased
+to
+other
+keywords.
+</p>
+</section>
+<section class="informative" id="data-indexing">
+<h3 aria-level="2" role="heading" id="h3_data-indexing">
+<span class="secno">
+6.16
+</span>
+Data
+Indexing
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+Databases
+are
+typically
+used
+to
+make
+access
+to
+data
+more
+efficient.
+Developers
+often
+extend
+this
+sort
+of
+functionality
+into
+their
+application
+data
+to
+deliver
+similar
+performance
+gains.
+Often
+this
+data
+does
+not
+have
+any
+meaning
+from
+a
+Linked
+Data
+standpoint,
+but
+is
+still
+useful
+for
+an
+application.
+</p>
+<p>
+JSON-LD
+introduces
+the
+notion
+of
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+maps
+</a>
+that
+can
+be
+used
+to
+structure
+data
+into
+a
+form
+that
+is
+more
+efficient
+to
+access.
+The
+data
+indexing
+feature
+allows
+an
+author
+to
+structure
+data
+using
+a
+simple
+key-value
+map
+where
+the
+keys
+do
+not
+map
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+This
+enables
+direct
+access
+to
+data
+instead
+of
+having
+to
+scan
+an
+array
+in
+search
+of
+a
+specific
+item.
+In
+JSON-LD
+such
+data
+can
+be
+specified
+by
+associating
+the
+<code>
+@index
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+with
+a
+<code>
+@container
+</code>
+declaration
+in
+the
+context:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+54
+</ins></span>:<ins class="diff-chg">
+Indexing
+data
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+     "schema": "http://schema.org/",
+     "name": "schema:name",
+     "body": "schema:articleBody",
+     "words": "schema:wordCount",
+     "post": {
+       "@id": "schema:blogPost",
+       <span class="highlight">"@container": "@index"</span>
+     }
+  },
+  "@id": "http://example.com/",
+  "@type": "schema:Blog",
+  "name": "World Financial News",
+  <span class="highlight">"post": {
+     "en": {
+       "@id": "http://example.com/posts/1/en",
+       "body": "World commodities were up today with heavy trading of crude oil...",
+       "words": 1539
+     },
+     "de": {
+       "@id": "http://example.com/posts/1/de",
+       "body": "Die Werte an Warenbörsen stiegen im Sog eines starken Handels von Rohöl...",
+       "words": 1204
+     }</span>
+  }
+}
+</pre>
+</div>
+<p>
+In
+the
+example
+above,
+the
+<strong>
+post
+</strong>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+has
+been
+marked
+as
+an
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+map
+</a>.
+The
+<strong>
+en
+<del class="diff-old">,
+de
+,
+</del>
+</strong>
+and
+<strong>
+<del class="diff-old">ja
+</del>
+<ins class="diff-chg">de
+</ins>
+</strong>
+keys
+will
+be
+ignored
+semantically,
+but
+preserved
+syntactically,
+by
+the
+JSON-LD
+Processor.
+This
+allows
+a
+developer
+to
+access
+the
+German
+version
+of
+the
+<strong>
+post
+</strong>
+using
+the
+following
+code
+snippet:
+<code>
+obj.post.de
+</code>.
+</p>
+<p>
+The
+interpretation
+of
+the
+data
+above
+is
+expressed
+in
+the
+table
+below.
+Note
+how
+the
+index
+keys
+do
+not
+appear
+in
+the
+Linked
+Data
+below,
+but
+would
+continue
+to
+exist
+if
+the
+document
+were
+compacted
+or
+expanded
+(see
+<a class="sectionRef sec-ref" href="#compacted-document-form">
+section
+6.18
+Compacted
+Document
+Form
+</a>
+and
+<a class="sectionRef sec-ref" href="#expanded-document-form">
+section
+6.17
+Expanded
+Document
+Form
+</a>
+)
+using
+a
+JSON-LD
+processor:
+</p>
+<table class="example">
+<thead>
+<tr>
+<th>
+Subject
+</th>
+<th>
+Property
+</th>
+<th>
+Value
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+http://example.com/
+</td>
+<td>
+http://www.w3.org/1999/02/22-rdf-syntax-ns#type
+</td>
+<td>
+http://schema.org/Blog
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/
+</td>
+<td>
+http://schema.org/name
+</td>
+<td>
+World
+Financial
+News
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/
+</td>
+<td>
+http://schema.org/blogPost
+</td>
+<td>
+http://example.com/posts/1/en
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/
+</td>
+<td>
+http://schema.org/blogPost
+</td>
+<td>
+http://example.com/posts/1/de
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/posts/1/en
+</td>
+<td>
+http://schema.org/articleBody
+</td>
+<td>
+World
+commodities
+were
+up
+today
+with
+heavy
+trading
+of
+crude
+oil...
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/posts/1/en
+</td>
+<td>
+http://schema.org/wordCount
+</td>
+<td>
+1539
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/posts/1/de
+</td>
+<td>
+http://schema.org/articleBody
+</td>
+<td>
+Die
+Werte
+an
+Warenbörsen
+stiegen
+im
+Sog
+eines
+starken
+Handels
+von
+Rohöl...
+</td>
+</tr>
+<tr>
+<td>
+http://example.com/posts/1/de
+</td>
+<td>
+http://schema.org/wordCount
+</td>
+<td>
+1204
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section class="informative" id="expanded-document-form">
+<h3 aria-level="2" role="heading" id="h3_expanded-document-form">
+<span class="secno">
+6.17
+</span>
+Expanded
+Document
+Form
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+defines
+a
+method
+for
+<em>
+expanding
+</em>
+a
+JSON-LD
+document.
+Expansion
+is
+the
+process
+of
+taking
+a
+JSON-LD
+document
+and
+applying
+a
+<code>
+@context
+</code>
+such
+that
+all
+IRIs,
+types,
+and
+values
+are
+expanded
+so
+that
+the
+<code>
+@context
+</code>
+is
+no
+longer
+necessary.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+JSON-LD
+input
+document:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+55
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+   "@context":
+   {
+      "name": "http://xmlns.com/foaf/0.1/name",
+      "homepage": {
+        "@id": "http://xmlns.com/foaf/0.1/homepage",
+        "@type": "@id"
+      }
+   },
+   "name": "Manu Sporny",
+   "homepage": "http://manu.sporny.org/"
+}
+</pre>
+</div>
+<p>
+Running
+the
+JSON-LD
+Expansion
+algorithm
+against
+the
+JSON-LD
+input
+document
+provided
+above
+would
+result
+in
+the
+following
+output:
+</p>
+<del class="diff-old">  [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+56
+</ins></span>:<ins class="diff-chg">
+Expanded
+form
+for
+the
+previous
+example
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Manu Sporny" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://manu.sporny.org/" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+<a href="#application-ld-json">
+JSON-LD's
+media
+type
+</a>
+defines
+a
+<code>
+profile
+</code>
+parameter
+which
+can
+be
+used
+to
+signal
+or
+request
+expanded
+document
+form.
+The
+profile
+URI
+identifying
+expanded
+document
+form
+is
+<code>
+http://www.w3.org/ns/json-ld#expanded
+</code>.
+</p>
+</section>
+<section class="informative" id="compacted-document-form">
+<h3 aria-level="2" role="heading" id="h3_compacted-document-form">
+<span class="secno">
+6.18
+</span>
+Compacted
+Document
+Form
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+defines
+a
+method
+for
+<em>
+compacting
+</em>
+a
+JSON-LD
+document.
+Compaction
+is
+the
+process
+of
+applying
+a
+developer-supplied
+context
+to
+shorten
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+to
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+or
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>
+and
+JSON-LD
+values
+expressed
+in
+expanded
+form
+to
+simple
+values
+such
+as
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+or
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>.
+Often
+this
+makes
+it
+simpler
+to
+work
+with
+document
+as
+the
+data
+is
+expressed
+in
+application-specific
+terms.
+Compacted
+documents
+are
+also
+typically
+easier
+to
+read
+for
+humans.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+JSON-LD
+input
+document:
+</p>
+<del class="diff-old">  [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+57
+</ins></span>:<ins class="diff-chg">
+Sample
+expanded
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "http://xmlns.com/foaf/0.1/name": [ "Manu Sporny" ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      {
+       "@id": "http://manu.sporny.org/"
+      }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Additionally,
+assume
+the
+following
+developer-supplied
+JSON-LD
+context:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+58
+</ins></span>:<ins class="diff-chg">
+Sample
+context
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  }
+}
+</pre>
+</div>
+<p>
+Running
+the
+JSON-LD
+Compaction
+algorithm
+given
+the
+context
+supplied
+above
+against
+the
+JSON-LD
+input
+document
+provided
+above
+would
+result
+in
+the
+following
+output:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+59
+</ins></span>:<ins class="diff-chg">
+Compact
+form
+of
+the
+sample
+document
+once
+sample
+context
+has
+been
+applied
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/"
+}
+</pre>
+</div>
+<p>
+<a href="#application-ld-json">
+JSON-LD's
+media
+type
+</a>
+defines
+a
+<code>
+profile
+</code>
+parameter
+which
+can
+be
+used
+to
+signal
+or
+request
+compacted
+document
+form.
+The
+profile
+URI
+identifying
+compacted
+document
+form
+is
+<code>
+http://www.w3.org/ns/json-ld#compacted
+</code>.
+</p>
+</section>
+<section class="informative" id="flattened-document-form">
+<h3 aria-level="2" role="heading" id="h3_flattened-document-form">
+<span class="secno">
+6.19
+</span>
+Flattened
+Document
+Form
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+defines
+a
+method
+for
+<em>
+flattening
+</em>
+a
+JSON-LD
+document.
+Flattening
+collects
+all
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+single
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+and
+labels
+all
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+with
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>.
+This
+ensures
+a
+shape
+of
+the
+data
+and
+consequently
+may
+drastically
+simplify
+the
+code
+required
+to
+process
+JSON-LD
+in
+certain
+applications.
+</p>
+<p>
+For
+example,
+assume
+the
+following
+JSON-LD
+input
+document:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+60
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+Running
+the
+JSON-LD
+Flattening
+algorithm
+against
+the
+JSON-LD
+input
+document
+in
+the
+example
+above
+and
+using
+the
+same
+context
+would
+result
+in
+the
+following
+output:
+</p>
+<del class="diff-old">  {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+61
+</ins></span>:<ins class="diff-chg">
+Flattened
+and
+compacted
+form
+for
+the
+previous
+example
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@graph": [
+    {
+      "@id": "_:b0",
+      "name": "Dave Longley"
+    },
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "@id": "http://me.markus-lanthaler.com/",
+      "name": "Markus Lanthaler",
+      "knows": [
+        { "@id": "http://manu.sporny.org/about#manu" },
+        { "@id": "_:b0" }
+      ]
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+<a href="#application-ld-json">
+JSON-LD's
+media
+type
+</a>
+defines
+a
+<code>
+profile
+</code>
+parameter
+which
+can
+be
+used
+to
+signal
+or
+request
+flattened
+document
+form.
+The
+profile
+URI
+identifying
+flattened
+document
+form
+is
+<code>
+http://www.w3.org/ns/json-ld#flattened
+</code>.
+It
+can
+be
+combined
+with
+the
+profile
+URI
+identifying
+<a href="#expanded-document-form">
+expanded
+document
+form
+</a>
+or
+<a href="#compacted-document-form">
+compacted
+document
+from
+</a>.
+</p>
+</section>
+<section class="informative" id="embedding-json-ld-in-html-documents">
+<h3 aria-level="2" role="heading" id="h3_embedding-json-ld-in-html-documents">
+<span class="secno">
+6.20
+</span>
+Embedding
+JSON-LD
+in
+HTML
+Documents
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+HTML
+script
+tags
+can
+be
+used
+to
+embed
+blocks
+of
+data
+in
+documents.
+This
+way,
+JSON-LD
+content
+can
+be
+easily
+embedded
+in
+HTML
+by
+placing
+it
+in
+a
+script
+element
+with
+the
+<code>
+type
+</code>
+attribute
+set
+to
+<code>
+application/ld+json
+</code>.
+</p>
+<del class="diff-old">
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+62
+</ins></span>:<ins class="diff-chg">
+Embedding
+JSON-LD
+in
+HTML
+</ins></div><pre class="example"><span class="highlight">&lt;script type="application/ld+json"&gt;</span>
+{
+  "@context": "http://json-ld.org/contexts/person.jsonld",
+  "@id": "http://dbpedia.org/resource/John_Lennon",
+  "name": "John Lennon",
+  "born": "1940-10-09",
+  "spouse": "http://dbpedia.org/resource/Cynthia_Lennon"
+}
+<del class="diff-old">&lt;/script&gt;
+</del>
+<span class="highlight">&lt;/script&gt;</span>
+</pre>
+</div>
+<p>
+Depending
+on
+how
+the
+HTML
+document
+is
+served,
+certain
+strings
+may
+need
+to
+be
+escaped.
+</p>
+<p>
+Defining
+how
+such
+data
+may
+be
+used
+is
+beyond
+the
+scope
+of
+this
+specification.
+The
+embedded
+JSON-LD
+document
+might
+be
+extracted
+as
+is
+or,
+e.g.,
+be
+interpreted
+as
+RDF.
+</p>
+<p>
+If
+JSON-LD
+content
+is
+extracted
+as
+RDF
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+],
+it
+should
+be
+expanded
+into
+an
+<a class="tref externalDFN" title="rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">
+RDF
+Dataset
+</a>
+using
+the
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#deserialize-json-ld-to-rdf-algorithm">
+Deserialize
+JSON-LD
+to
+RDF
+Algorithm
+</a>
+</cite>
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+].
+</p>
+</section>
+</section>
+<section class="normative" id="data-model">
+<h2 aria-level="1" role="heading" id="h2_data-model">
+<span class="secno">
+7.
+</span>
+Data
+Model
+</h2>
+<p>
+JSON-LD
+is
+a
+serialization
+format
+for
+Linked
+Data
+based
+on
+JSON.
+It
+is
+therefore
+important
+to
+distinguish
+between
+the
+syntax,
+which
+is
+defined
+by
+JSON
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+],
+and
+the
+<dfn title="data-model" id="dfn-data-model">
+data
+model
+</dfn>
+which
+is
+an
+extension
+of
+the
+RDF
+data
+model
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+The
+precise
+details
+of
+how
+JSON-LD
+relates
+to
+the
+RDF
+data
+model
+are
+given
+in
+<a class="sectionRef sec-ref" href="#relationship-to-rdf">
+section
+9.
+Relationship
+to
+RDF
+</a>.
+</p>
+<p>
+To
+ease
+understanding
+for
+developers
+unfamiliar
+with
+the
+RDF
+model,
+the
+following
+summary
+is
+provided:
+</p>
+<ul>
+<li>
+A
+<dfn title="json-ld-document" id="dfn-json-ld-document">
+JSON-LD
+document
+</dfn>
+serializes
+a
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset" class="externalDFN">
+generalized
+RDF
+Dataset
+</a>
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+],
+which
+is
+a
+collection
+of
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graphs
+</a>
+that
+comprises
+exactly
+one
+<dfn title="default-graph" id="dfn-default-graph">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-default-graph" class="externalDFN">
+default
+graph
+</a>
+</dfn>
+and
+zero
+or
+more
+<dfn title="named-graph" id="dfn-named-graph">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph" class="externalDFN">
+named
+graphs
+</a>
+</dfn>.
+</li>
+<li>
+The
+<a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">
+default
+graph
+</a>
+does
+not
+have
+a
+name
+and
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+be
+empty.
+</li>
+<li>
+Each
+<a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">
+named
+graph
+</a>
+is
+a
+pair
+consisting
+of
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>
+(the
+<dfn title="graph-name" id="dfn-graph-name">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-graph-name" class="externalDFN">
+graph
+name
+</a>
+</dfn>
+)
+and
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>.
+Whenever
+practical,
+the
+<a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">
+graph
+name
+</a>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+be
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+A
+<dfn title="graph" id="dfn-graph">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-graph" class="externalDFN">
+graph
+</a>
+</dfn>
+is
+a
+labeled
+directed
+graph,
+i.e.,
+a
+set
+of
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>
+connected
+by
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edges
+</a>.
+</li>
+<li>
+Every
+<dfn title="edge" id="dfn-edge">
+edge
+</dfn>
+has
+a
+direction
+associated
+with
+it
+and
+is
+labeled
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+Within
+the
+JSON-LD
+syntax
+these
+edge
+labels
+are
+called
+<dfn title="property" id="dfn-property">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-property" class="externalDFN">
+properties
+</a>
+</dfn>.
+Whenever
+practical,
+an
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edge
+</a>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+be
+labeled
+with
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+Every
+<dfn title="node" id="dfn-node">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-node" class="externalDFN">
+node
+</a>
+</dfn>
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>,
+a
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+value
+</a>,
+or
+a
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>.
+</li>
+<li>
+A
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+having
+an
+outgoing
+edge
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>.
+</li>
+<li>
+A
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+contain
+unconnected
+<a class="tref internalDFN" title="node" href="#dfn-node">
+nodes
+</a>,
+i.e.,
+nodes
+which
+are
+not
+connected
+by
+an
+<a class="tref internalDFN" title="edge" href="#dfn-edge">
+edge
+</a>
+to
+any
+other
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+</li>
+<li>
+An
+<dfn title="iri" id="dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri" class="externalDFN">
+IRI
+</a>
+</abbr>
+</dfn>
+(Internationalized
+Resource
+Identifier)
+is
+a
+string
+that
+conforms
+to
+the
+syntax
+defined
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+].
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+used
+within
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+return
+a
+Linked
+Data
+document
+describing
+the
+resource
+denoted
+by
+that
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+when
+being
+dereferenced.
+</li>
+<li>
+A
+<dfn title="blank-node" id="dfn-blank-node">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node" class="externalDFN">
+blank
+node
+</a>
+</dfn>
+is
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+which
+is
+neither
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+nor
+a
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+value
+</a>,
+nor
+a
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>.
+A
+blank
+node
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+be
+identified
+using
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</li>
+<li>
+A
+<dfn title="blank-node-identifier" id="dfn-blank-node-identifier">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node-identifier" class="externalDFN">
+blank
+node
+identifier
+</a>
+</dfn>
+is
+a
+string
+that
+can
+be
+used
+as
+an
+identifier
+for
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>
+within
+the
+scope
+of
+a
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>.
+Blank
+node
+identifiers
+begin
+with
+<code>
+_:
+</code>.
+</li>
+<li>
+A
+<dfn title="json-ld-value" id="dfn-json-ld-value">
+JSON-LD
+value
+</dfn>
+is
+a
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>,
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+(which
+is
+interpreted
+as
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>
+with
+type
+<code>
+xsd:string
+</code>
+),
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>
+(
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+with
+a
+non-zero
+fractional
+part,
+i.e.,
+the
+result
+of
+a
+modulo‑1
+operation,
+are
+interpreted
+as
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+with
+type
+<code>
+xsd:double
+</code>,
+all
+other
+<a class="tref internalDFN" title="number" href="#dfn-number">
+numbers
+</a>
+are
+interpreted
+as
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+with
+type
+<code>
+xsd:integer
+</code>
+),
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+or
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+(which
+are
+interpreted
+as
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+with
+type
+<code>
+xsd:boolean
+</code>
+),
+or
+a
+<a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">
+language-tagged
+string
+</a>.
+</li>
+<li>
+A
+<dfn title="typed-value" id="dfn-typed-value">
+typed
+value
+</dfn>
+consists
+of
+a
+value,
+which
+is
+a
+string,
+and
+a
+type,
+which
+is
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</li>
+<li>
+A
+<dfn title="language-tagged-string" id="dfn-language-tagged-string">
+<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string" class="externalDFN">
+language-tagged
+string
+</a>
+</dfn>
+consists
+of
+a
+string
+and
+a
+non-empty
+language
+tag
+as
+defined
+by
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+].
+The
+language
+tag
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+well-formed
+according
+to
+section
+<a href="http://tools.ietf.org/html/bcp47#section-2.2.9">
+2.2.9
+Classes
+of
+Conformance
+</a>
+of
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+].
+</li>
+<li>
+A
+<dfn title="list" id="dfn-list">
+list
+</dfn>
+is
+a
+sequence
+of
+zero
+or
+more
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>,
+and
+<a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">
+JSON-LD
+values
+</a>.
+<a class="tref internalDFN" title="list" href="#dfn-list">
+Lists
+</a>
+are
+interpreted
+as
+<a href="http://www.w3.org/TR/rdf11-mt/#rdf-collections" class="externalDFN">
+RDF
+list
+structures
+</a>
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-MT">
+RDF11-MT
+</a>
+</cite>
+].
+</li>
+</ul>
+<p>
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+documents
+</a>
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+contain
+data
+that
+cannot
+be
+represented
+by
+the
+<a class="tref internalDFN" title="data-model" href="#dfn-data-model">
+data
+model
+</a>
+defined
+above.
+Unless
+otherwise
+specified,
+such
+data
+is
+ignored
+when
+a
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+is
+being
+processed.
+One
+result
+of
+this
+rule
+is
+that
+properties
+which
+are
+not
+mapped
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+node
+</a>,
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+will
+be
+ignored.
+</p>
+<p style="text-align: center">
+<img src="linked-data-graph.png" title="An illustration of the data model" alt="An illustration of the data model" />
+</p>
+<p style="text-align: center">
+<del class="diff-old">Figure&nbsp;1:
+</del>
+<ins class="diff-chg">Figure&#160;1:
+</ins>
+An
+illustration
+of
+the
+data
+model.
+</p>
+</section>
+<section class="normative" id="json-ld-grammar">
+<h2 aria-level="1" role="heading" id="h2_json-ld-grammar">
+<span class="secno">
+8.
+</span>
+JSON-LD
+Grammar
+</h2>
+<p>
+This
+appendix
+restates
+the
+syntactic
+conventions
+described
+in
+the
+previous
+sections
+more
+formally.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+valid
+JSON
+document
+as
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+].
+</p>
+<p>
+A
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+single
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+whose
+elements
+are
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+at
+the
+top
+level.
+</p>
+<p>
+In
+contrast
+to
+JSON,
+in
+JSON-LD
+the
+keys
+in
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+objects
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+unique.
+</p>
+<div class="note">
+<div class="note-title" aria-level="2" role="heading" id="h_note_9">
+<span>
+Note
+</span>
+</div>
+<p class="">
+JSON-LD
+allows
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+to
+be
+aliased
+(see
+<a class="sectionRef sec-ref" href="#aliasing-keywords">
+section
+6.15
+Aliasing
+Keywords
+</a>
+for
+details).
+Whenever
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+is
+discussed
+in
+this
+grammar,
+the
+statements
+also
+apply
+to
+an
+alias
+for
+that
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+For
+example,
+if
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+defines
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+<code>
+id
+</code>
+as
+an
+alias
+for
+<code>
+@id
+</code>,
+that
+alias
+may
+be
+legitimately
+used
+as
+a
+substitution
+for
+<code>
+@id
+</code>.
+Note
+that
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+aliases
+are
+not
+expanded
+during
+context
+processing.
+</p>
+</div>
+<section class="normative" id="terms">
+<h3 aria-level="2" role="heading" id="h3_terms">
+<span class="secno">
+8.1
+</span>
+Terms
+</h3>
+<p>
+A
+<dfn title="term" id="dfn-term">
+term
+</dfn>
+is
+a
+short-hand
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+that
+expands
+to
+an
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+equal
+any
+of
+the
+JSON-LD
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>.
+</p>
+<p>
+To
+avoid
+forward-compatibility
+issues,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+<em class="rfc2119" title="SHOULD NOT">
+SHOULD
+NOT
+</em>
+start
+with
+an
+<code>
+@
+</code>
+character
+as
+future
+versions
+of
+JSON-LD
+may
+introduce
+additional
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>.
+Furthermore,
+the
+term
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+be
+an
+empty
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>
+(
+<code>
+""
+</code>
+)
+as
+not
+all
+programming
+languages
+are
+able
+to
+handle
+empty
+JSON
+keys.
+</p>
+<p>
+See
+<a class="sectionRef sec-ref" href="#the-context">
+section
+5.1
+The
+Context
+</a>
+and
+<a class="sectionRef sec-ref" href="#iris">
+section
+5.2
+IRIs
+</a>
+for
+further
+discussion
+on
+mapping
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+</p>
+</section>
+<section class="normative" id="node-objects">
+<h3 aria-level="2" role="heading" id="h3_node-objects">
+<span class="secno">
+8.2
+</span>
+Node
+Objects
+</h3>
+<p>
+A
+<dfn title="node-object" id="dfn-node-object">
+node
+object
+</dfn>
+represents
+zero
+or
+more
+properties
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+the
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+serialized
+by
+the
+<a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">
+JSON-LD
+document
+</a>.
+A
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+if
+it
+exists
+outside
+of
+a
+JSON-LD
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+and:
+</p>
+<ul>
+<li>
+it
+does
+not
+contain
+the
+<code>
+@value
+</code>,
+<code>
+@list
+</code>,
+or
+<code>
+@set
+</code>
+keywords,
+and
+</li>
+<li>
+it
+is
+not
+the
+top-most
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+in
+the
+JSON-LD
+document
+consisting
+of
+no
+other
+members
+than
+<code>
+@graph
+</code>
+and
+<code>
+@context
+</code>.
+</li>
+</ul>
+<p>
+The
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+of
+a
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>
+in
+a
+<a class="tref internalDFN" title="graph" href="#dfn-graph">
+graph
+</a>
+may
+be
+spread
+among
+different
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+within
+a
+document.
+When
+that
+happens,
+the
+keys
+of
+the
+different
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>
+need
+to
+be
+merged
+to
+create
+the
+properties
+of
+the
+resulting
+<a class="tref internalDFN" title="node" href="#dfn-node">
+node
+</a>.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>.
+All
+keys
+which
+are
+not
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>,
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>
+valid
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>,
+or
+one
+of
+the
+following
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+ignored
+when
+processed:
+</p>
+<ul>
+<li>
+<code>
+@context
+</code>,
+</li>
+<li>
+<code>
+@id
+</code>,
+</li>
+<li>
+<code>
+@graph
+</code>,
+</li>
+<li>
+<code>
+@type
+</code>,
+</li>
+<li>
+<code>
+@reverse
+</code>,
+or
+</li>
+<li>
+<code>
+@index
+</code>
+</li>
+</ul>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@context
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>,
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+composed
+of
+any
+of
+these.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@id
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(including
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+).
+See
+<a class="sectionRef sec-ref" href="#node-identifiers">
+section
+5.3
+Node
+Identifiers
+</a>,
+<a class="sectionRef sec-ref" href="#compact-iris">
+section
+6.3
+Compact
+IRIs
+</a>,
+and
+<a class="sectionRef sec-ref" href= "#identifying-blank-nodes">
+section
+6.14
+Identifying
+Blank
+Nodes
+</a>
+for
+further
+discussion
+on
+<code>
+@id
+</code>
+values.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@graph
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+zero
+or
+more
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>.
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+an
+<code>
+@id
+</code>
+keyword,
+its
+value
+is
+used
+as
+the
+label
+of
+a
+named
+graph.
+See
+<a class="sectionRef sec-ref" href="#named-graphs">
+section
+6.13
+Named
+Graphs
+</a>
+for
+further
+discussion
+on
+<code>
+@graph
+</code>
+values.
+As
+a
+special
+case,
+if
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+contains
+no
+keys
+other
+than
+<code>
+@graph
+</code>
+and
+<code>
+@context
+</code>,
+and
+the
+<a class= "tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+the
+root
+of
+the
+JSON-LD
+document,
+the
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+is
+not
+treated
+as
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+;
+this
+is
+used
+as
+a
+way
+of
+defining
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+definitions
+</a>
+that
+may
+not
+form
+a
+connected
+graph.
+This
+allows
+a
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+to
+be
+defined
+which
+is
+shared
+by
+all
+of
+the
+constituent
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@type
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+either
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+(including
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifiers
+</a>
+),
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+defined
+in
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+expanding
+into
+an
+<a class= "tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+any
+of
+these.
+See
+<a class="sectionRef sec-ref" href="#specifying-the-type">
+section
+5.4
+Specifying
+the
+Type
+</a>
+for
+further
+discussion
+on
+<code>
+@type
+</code>
+values.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@reverse
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+members
+representing
+reverse
+properties.
+Each
+value
+of
+such
+a
+reverse
+property
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+or
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+containing
+a
+combination
+of
+these.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+contains
+the
+<code>
+@index
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+See
+<a class="sectionRef sec-ref" href="#data-indexing">
+section
+6.16
+Data
+Indexing
+</a>
+for
+further
+discussion
+on
+<code>
+@index
+</code>
+values.
+</p>
+<p>
+Keys
+in
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+that
+are
+not
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+expand
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+using
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>.
+The
+values
+associated
+with
+keys
+that
+expand
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+one
+of
+the
+following:
+</p>
+<ul>
+<li>
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="set-object" href="#dfn-set-object">
+set
+object
+</a>,
+</li>
+<li>
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+zero
+or
+more
+of
+the
+possibilities
+above,
+</li>
+<li>
+a
+<a class="tref internalDFN" title="language-map" href="#dfn-language-map">
+language
+map
+</a>,
+or
+</li>
+<li>
+an
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+map
+</a>
+</li>
+</ul>
+</section>
+<section class="normative" id="value-objects">
+<h3 aria-level="2" role="heading" id="h3_value-objects">
+<span class="secno">
+8.3
+</span>
+Value
+Objects
+</h3>
+<p>
+A
+<dfn title="value-object" id="dfn-value-object">
+value
+object
+</dfn>
+is
+used
+to
+explicitly
+associate
+a
+type
+or
+a
+language
+with
+a
+value
+to
+create
+a
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+value
+</a>
+or
+a
+<a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">
+language-tagged
+string
+</a>.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+containing
+the
+<code>
+@value
+</code>
+key.
+It
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+also
+contain
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@type
+</code>,
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@language
+</code>,
+an
+<code>
+@index
+</code>,
+or
+an
+<code>
+@context
+</code>
+key
+but
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+contain
+both
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@type
+</code>
+and
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@language
+</code>
+key
+at
+the
+same
+time.
+A
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+contain
+any
+other
+keys
+that
+expand
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+</p>
+<p>
+The
+value
+associated
+with
+the
+<code>
+@value
+</code>
+key
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+either
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+a
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+The
+value
+associated
+with
+the
+<code>
+@type
+</code>
+key
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+The
+value
+associated
+with
+the
+<code>
+@language
+</code>
+key
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+have
+the
+lexical
+form
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+],
+or
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+The
+value
+associated
+with
+the
+<code>
+@index
+</code>
+key
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>.
+</p>
+<p>
+See
+<a class="sectionRef sec-ref" href="#typed-values">
+section
+6.4
+Typed
+Values
+</a>
+and
+<a class="sectionRef sec-ref" href="#string-internationalization">
+section
+6.9
+String
+Internationalization
+</a>
+for
+more
+information
+on
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+objects
+</a>.
+</p>
+</section>
+<section class="normative" id="lists-and-sets">
+<h3 aria-level="2" role="heading" id="h3_lists-and-sets">
+<span class="secno">
+8.4
+</span>
+Lists
+and
+Sets
+</h3>
+<p>
+A
+<a class="tref internalDFN" title="list" href="#dfn-list">
+list
+</a>
+represents
+an
+<em>
+ordered
+</em>
+set
+of
+values.
+A
+set
+represents
+an
+<em>
+unordered
+</em>
+set
+of
+values.
+Unless
+otherwise
+specified,
+<a class="tref internalDFN" title="array" href="#dfn-array">
+arrays
+</a>
+are
+unordered
+in
+JSON-LD.
+As
+such,
+the
+<code>
+@set
+</code>
+keyword,
+when
+used
+in
+the
+body
+of
+a
+JSON-LD
+document,
+represents
+just
+syntactic
+sugar
+which
+is
+optimized
+away
+when
+processing
+the
+document.
+However,
+it
+is
+very
+helpful
+when
+used
+within
+the
+context
+of
+a
+document.
+Values
+of
+terms
+associated
+with
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@set
+</code>
+or
+<code>
+@list
+</code>
+container
+will
+always
+be
+represented
+in
+the
+form
+of
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+when
+a
+document
+is
+processed—even
+if
+there
+is
+just
+a
+single
+value
+that
+would
+otherwise
+be
+optimized
+to
+a
+non-array
+form
+in
+<a href="#compacted-document-form">
+compact
+document
+form
+</a>.
+This
+simplifies
+post-processing
+of
+the
+data
+as
+the
+data
+is
+always
+in
+a
+deterministic
+form.
+</p>
+<p>
+A
+<dfn title="list-object" id="dfn-list-object">
+list
+object
+</dfn>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+contains
+no
+keys
+that
+expand
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+other
+than
+<code>
+@list
+</code>,
+<code>
+@context
+</code>,
+and
+<code>
+@index
+</code>.
+</p>
+<p>
+A
+<dfn title="set-object" id="dfn-set-object">
+set
+object
+</dfn>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+that
+contains
+no
+keys
+that
+expand
+to
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>
+other
+than
+<code>
+@list
+</code>,
+<code>
+@context
+</code>,
+and
+<code>
+@index
+</code>.
+Please
+note
+that
+the
+<code>
+@index
+</code>
+key
+will
+be
+ignored
+when
+being
+processed.
+</p>
+<p>
+In
+both
+cases,
+the
+value
+associated
+with
+the
+keys
+<code>
+@list
+</code>
+and
+<code>
+@set
+</code>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+one
+of
+the
+following
+types:
+</p>
+<ul>
+<li>
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>,
+or
+</li>
+<li>
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+zero
+or
+more
+of
+the
+above
+possibilities
+</li>
+</ul>
+<p>
+See
+<a class="sectionRef sec-ref" href="#sets-and-lists">
+section
+6.11
+Sets
+and
+Lists
+</a>
+for
+further
+discussion
+on
+sets
+and
+lists.
+</p>
+</section>
+<section class="normative" id="language-maps">
+<h3 aria-level="2" role="heading" id="h3_language-maps">
+<span class="secno">
+8.5
+</span>
+Language
+Maps
+</h3>
+<p>
+A
+<dfn title="language-map" id="dfn-language-map">
+language
+map
+</dfn>
+is
+used
+to
+associate
+a
+language
+with
+a
+value
+in
+a
+way
+that
+allows
+easy
+programmatic
+access.
+A
+<a class="tref internalDFN" title="language-map" href="#dfn-language-map">
+language
+map
+</a>
+may
+be
+used
+as
+a
+term
+value
+within
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+if
+the
+term
+is
+defined
+with
+<code>
+@container
+</code>
+set
+to
+<code>
+@language
+</code>.
+The
+keys
+of
+a
+<a class="tref internalDFN" title="language-map" href="#dfn-language-map">
+language
+map
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>
+representing
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+]
+language
+codes
+and
+the
+values
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+any
+of
+the
+following
+types:
+</p>
+<ul>
+<li>
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+or
+</li>
+<li>
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+zero
+or
+more
+of
+the
+above
+possibilities
+</li>
+</ul>
+<p>
+See
+<a class="sectionRef sec-ref" href="#string-internationalization">
+section
+6.9
+String
+Internationalization
+</a>
+for
+further
+discussion
+on
+language
+maps.
+</p>
+</section>
+<section class="normative" id="index-maps">
+<h3 aria-level="2" role="heading" id="h3_index-maps">
+<span class="secno">
+8.6
+</span>
+Index
+Maps
+</h3>
+<p>
+An
+<dfn title="index-map" id="dfn-index-map">
+index
+map
+</dfn>
+allows
+keys
+that
+have
+no
+semantic
+meaning,
+but
+should
+be
+preserved
+regardless,
+to
+be
+used
+in
+JSON-LD
+documents.
+An
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+map
+</a>
+may
+be
+used
+as
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+value
+within
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+if
+the
+term
+is
+defined
+with
+<code>
+@container
+</code>
+set
+to
+<code>
+@index
+</code>.
+The
+values
+of
+the
+members
+of
+an
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+map
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+one
+of
+the
+following
+types:
+</p>
+<ul>
+<li>
+<a class="tref internalDFN" title="string" href="#dfn-string">
+string
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="value-object" href="#dfn-value-object">
+value
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="list-object" href="#dfn-list-object">
+list
+object
+</a>,
+</li>
+<li>
+<a class="tref internalDFN" title="set-object" href="#dfn-set-object">
+set
+object
+</a>,
+</li>
+<li>
+an
+<a class="tref internalDFN" title="array" href="#dfn-array">
+array
+</a>
+of
+zero
+or
+more
+of
+the
+above
+possibilities
+</li>
+</ul>
+<p>
+See
+<a class="sectionRef sec-ref" href="#data-indexing">
+section
+6.16
+Data
+Indexing
+</a>
+for
+further
+information
+on
+this
+topic.
+</p>
+</section>
+<section class="normative" id="context-definitions">
+<h3 aria-level="2" role="heading" id="h3_context-definitions">
+<span class="secno">
+8.7
+</span>
+Context
+Definitions
+</h3>
+<p>
+A
+<dfn title="context-definition" id="dfn-context-definition">
+context
+definition
+</dfn>
+defines
+a
+<a class="tref internalDFN" title="local-context" href="#dfn-local-context">
+local
+context
+</a>
+in
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+</p>
+<p>
+A
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+whose
+keys
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+either
+be
+<a class="tref internalDFN" title="term" href="#dfn-term">
+terms
+</a>,
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+IRIs
+</a>,
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+IRIs
+</a>,
+or
+the
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<code>
+@language
+</code>,
+<code>
+@base
+</code>,
+and
+<code>
+@vocab
+</code>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>
+has
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@language
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+have
+the
+lexical
+form
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+]
+or
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>
+has
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@base
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">
+relative
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">
+context
+definition
+</a>
+has
+<del class="diff-old">a
+</del>
+<ins class="diff-chg">an
+</ins>
+<code>
+@vocab
+</code>
+key,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+or
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+The
+value
+of
+keys
+that
+are
+not
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+either
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+or
+an
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>.
+</p>
+<p>
+An
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+is
+used
+to
+describe
+the
+mapping
+between
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+and
+its
+expanded
+identifier,
+as
+well
+as
+other
+properties
+of
+the
+value
+associated
+with
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+when
+it
+is
+used
+as
+key
+in
+a
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>.
+</p>
+<p>
+An
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="json-object" href="#dfn-json-object">
+JSON
+object
+</a>
+composed
+of
+zero
+or
+more
+keys
+from
+<code>
+@id
+</code>,
+<code>
+@reverse
+</code>,
+<code>
+@type
+</code>,
+<code>
+@language
+</code>
+or
+<code>
+@container
+</code>.
+An
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+<em class="rfc2119" title="SHOULD NOT">
+SHOULD
+NOT
+</em>
+contain
+any
+other
+keys.
+</p>
+<p>
+If
+an
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+has
+an
+<code>
+@reverse
+</code>
+member,
+it
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+have
+an
+<code>
+@id
+</code>
+member
+at
+the
+same
+time.
+If
+an
+<code>
+@container
+</code>
+member
+exists,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+<code>
+@set
+</code>,
+or
+<code>
+@index
+</code>.
+</p>
+<p>
+If
+the
+term
+being
+defined
+is
+not
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+or
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>
+and
+the
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+does
+not
+have
+an
+<code>
+@vocab
+</code>
+mapping,
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+include
+the
+<code>
+@id
+</code>
+key.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+contains
+the
+<code>
+@id
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">
+blank
+node
+identifier
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+or
+a
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+contains
+the
+<code>
+@type
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">
+absolute
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">
+compact
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>,
+a
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>,
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>,
+or
+the
+one
+of
+the
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keywords
+</a>
+<code>
+@id
+</code>
+or
+<code>
+@vocab
+</code>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+contains
+the
+<code>
+@language
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+have
+the
+lexical
+form
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-BCP47">
+BCP47
+</a>
+</cite>
+]
+or
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+</p>
+<p>
+If
+the
+<a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">
+expanded
+term
+definition
+</a>
+contains
+the
+<code>
+@container
+</code>
+<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
+keyword
+</a>,
+its
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+either
+<code>
+@list
+</code>,
+<code>
+@set
+</code>,
+<code>
+@language
+</code>,
+<code>
+@index
+</code>,
+or
+be
+<a class="tref internalDFN" title="null" href="#dfn-null">
+null
+</a>.
+If
+the
+value
+is
+<code>
+@language
+</code>,
+when
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+used
+outside
+of
+the
+<code>
+@context
+</code>,
+the
+associated
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+a
+<a class="tref internalDFN" title="language-map" href="#dfn-language-map">
+language
+map
+</a>.
+If
+the
+value
+is
+<code>
+@index
+</code>,
+when
+the
+<a class="tref internalDFN" title="term" href="#dfn-term">
+term
+</a>
+is
+used
+outside
+of
+the
+<code>
+@context
+</code>,
+the
+associated
+value
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+be
+an
+<a class="tref internalDFN" title="index-map" href="#dfn-index-map">
+index
+map
+</a>.
+</p>
+<p>
+<a class="tref internalDFN" title="term" href="#dfn-term">
+Terms
+</a>
+<em class="rfc2119" title="MUST NOT">
+MUST
+NOT
+</em>
+be
+used
+in
+a
+circular
+manner.
+That
+is,
+the
+definition
+of
+a
+term
+cannot
+depend
+on
+the
+definition
+of
+another
+term
+if
+that
+other
+term
+also
+depends
+on
+the
+first
+term.
+</p>
+<p>
+See
+<a class="sectionRef sec-ref" href="#the-context">
+section
+5.1
+The
+Context
+</a>
+for
+further
+discussion
+on
+contexts.
+</p>
+</section>
+</section>
+<section class="normative" id="relationship-to-rdf">
+<h2 aria-level="1" role="heading" id="h2_relationship-to-rdf">
+<span class="secno">
+9.
+</span>
+Relationship
+to
+RDF
+</h2>
+<p>
+JSON-LD
+is
+a
+<a class="tref externalDFN" title="concrete-rdf-syntax" href="http://www.w3.org/TR/rdf11-concepts/#dfn-concrete-rdf-syntax">
+concrete
+RDF
+syntax
+</a>
+as
+described
+in
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+Hence,
+a
+JSON-LD
+document
+is
+both
+an
+RDF
+document
+<em>
+and
+</em>
+a
+JSON
+document
+and
+correspondingly
+represents
+an
+instance
+of
+an
+RDF
+data
+model.
+However,
+JSON-LD
+also
+extends
+the
+RDF
+data
+model
+to
+optionally
+allow
+JSON-LD
+to
+serialize
+<a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">
+Generalized
+RDF
+Datasets
+</a>.
+The
+JSON-LD
+extensions
+to
+the
+RDF
+data
+model
+are:
+</p>
+<ul>
+<li>
+In
+JSON-LD
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+can
+be
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+or
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+whereas
+in
+RDF
+properties
+(predicates)
+have
+to
+be
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>.
+This
+means
+that
+JSON-LD
+serializes
+<a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">
+generalized
+RDF
+Datasets
+</a>.
+</li>
+<li>
+In
+JSON-LD
+<a class="tref internalDFN" title="list" href="#dfn-list">
+lists
+</a>
+are
+part
+of
+the
+data
+model
+whereas
+in
+RDF
+they
+are
+part
+of
+a
+vocabulary,
+namely
+[
+<cite>
+<del class="diff-old">RDF-SCHEMA
+</del>
+<a class="bibref" href="#bib-RDF11-SCHEMA">
+<ins class="diff-chg">RDF11-SCHEMA
+</ins>
+</a>
+</cite>
+].
+</li>
+<li>
+RDF
+values
+are
+either
+typed
+<em>
+literals
+</em>
+(
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">
+typed
+values
+</a>
+)
+or
+<del class="diff-old">language-tagged
+strings
+(
+</del>
+<a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">
+language-tagged
+strings
+</a>
+<del class="diff-old">)
+</del>
+whereas
+JSON-LD
+also
+supports
+JSON's
+native
+data
+types,
+i.e.,
+<a class="tref internalDFN" title="number" href="#dfn-number">
+number
+</a>,
+<a class="tref internalDFN" title="string" href="#dfn-string">
+strings
+</a>,
+and
+the
+boolean
+values
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>.
+The
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+defines
+the
+<a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#data-round-tripping">
+conversion
+rules
+</a>
+between
+JSON's
+native
+data
+types
+and
+RDF's
+counterparts
+to
+allow
+round-tripping.
+</li>
+</ul>
+<p>
+Summarized,
+these
+differences
+mean
+that
+JSON-LD
+is
+capable
+of
+serializing
+any
+RDF
+graph
+or
+dataset
+and
+most,
+but
+not
+all,
+JSON-LD
+documents
+can
+be
+directly
+interpreted
+as
+RDF
+as
+described
+in
+RDF
+1.1
+Concepts
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</p>
+<p>
+For
+authors
+and
+developers
+working
+with
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+as
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+when
+deserializing
+to
+RDF,
+three
+potential
+approaches
+are
+suggested:
+</p>
+<ul>
+<li>
+If
+the
+author
+is
+not
+yet
+ready
+to
+commit
+to
+a
+stable
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>,
+the
+property
+should
+be
+mapped
+to
+an
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+that
+is
+documented
+as
+unstable.
+</li>
+<li>
+If
+the
+developer
+wishes
+to
+use
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+as
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+and
+also
+wishes
+to
+interpret
+the
+data
+as
+a
+<a class="tref externalDFN" title="generalized-rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">
+generalized
+RDF
+Dataset
+</a>,
+there
+is
+an
+option,
+<i>
+produce
+generalized
+RDF
+</i>,
+in
+the
+Deserialize
+JSON-LD
+to
+RDF
+algorithm
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+to
+do
+so.
+Note
+that
+a
+<a class="tref externalDFN" title="generalized-rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">
+generalized
+RDF
+Dataset
+</a>
+is
+an
+extension
+of
+RDF;
+it
+does
+not
+conform
+to
+the
+RDF
+standard.
+</li>
+<li>
+If
+the
+author
+or
+developer
+wishes
+to
+use
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+as
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+and
+wishes
+to
+interpret
+the
+data
+as
+a
+standard
+(non-generalized)
+<a class="tref externalDFN" title="rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">
+RDF
+Dataset
+</a>,
+it
+is
+possible
+to
+losslessly
+interpret
+JSON-LD
+as
+RDF
+by
+transforming
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>
+used
+as
+<a class="tref internalDFN" title="property" href="#dfn-property">
+properties
+</a>
+to
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>,
+by
+minting
+new
+"Skolem
+IRIs"
+as
+per
+<cite>
+<a href="http://www.w3.org/TR/rdf11-concepts/#section-skolemization">
+Replacing
+Blank
+Nodes
+with
+IRIs
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</li>
+</ul>
+<p>
+The
+normative
+algorithms
+for
+interpreting
+JSON-LD
+as
+RDF
+and
+serializing
+RDF
+as
+JSON-LD
+are
+specified
+in
+the
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+].
+</p>
+<p>
+Even
+though
+JSON-LD
+serializes
+<a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">
+generalized
+RDF
+Datasets
+</a>,
+it
+can
+also
+be
+used
+as
+a
+<a class="tref externalDFN" title="rdf-graph-source" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">
+RDF
+graph
+source
+</a>.
+In
+that
+case,
+a
+consumer
+<em class="rfc2119" title="MUST">
+MUST
+</em>
+only
+use
+the
+default
+graph
+and
+ignore
+all
+named
+graphs.
+This
+allows
+servers
+to
+expose
+data
+in
+languages
+such
+as
+Turtle
+and
+JSON-LD
+using
+content
+negotiation.
+</p>
+<div class="note">
+<div class="note-title" aria-level="2" role="heading" id="h_note_10">
+<span>
+Note
+</span>
+</div>
+<p class="">
+Publishers
+supporting
+both
+dataset
+and
+graph
+syntaxes
+have
+to
+ensure
+that
+the
+primary
+data
+is
+stored
+in
+the
+default
+graph
+to
+enable
+consumers
+that
+do
+not
+support
+datasets
+to
+process
+the
+information.
+</p>
+</div>
+<section class="informative" id="serializing-deserializing-rdf">
+<h3 aria-level="2" role="heading" id="h3_serializing-deserializing-rdf">
+<span class="secno">
+9.1
+</span>
+Serializing/Deserializing
+RDF
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+process
+of
+serializing
+RDF
+as
+JSON-LD
+and
+deserializing
+JSON-LD
+to
+RDF
+depends
+on
+executing
+the
+algorithms
+defined
+in
+<cite>
+<a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#rdf-serialization-deserialization-algorithms">
+RDF
+Serialization-Deserialization
+Algorithms
+</a>
+</cite>
+in
+the
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+].
+It
+is
+beyond
+the
+scope
+of
+this
+document
+to
+detail
+these
+algorithms
+any
+further,
+but
+a
+summary
+of
+the
+necessary
+operations
+is
+provided
+to
+illustrate
+the
+process.
+</p>
+<p>
+The
+procedure
+to
+deserialize
+a
+JSON-LD
+document
+to
+RDF
+involves
+the
+following
+steps:
+</p>
+<ol>
+<li>
+Expand
+the
+JSON-LD
+document,
+removing
+any
+context;
+this
+ensures
+that
+properties,
+types,
+and
+values
+are
+given
+their
+full
+representation
+as
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+IRIs
+</a>
+and
+expanded
+values.
+Expansion
+is
+discussed
+further
+in
+<a class="sectionRef sec-ref" href="#expanded-document-form">
+section
+6.17
+Expanded
+Document
+Form
+</a>.
+</li>
+<li>
+Flatten
+the
+document,
+which
+turns
+the
+document
+into
+an
+array
+of
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+objects
+</a>.
+Flattening
+is
+discussed
+further
+in
+<a class="sectionRef sec-ref" href="#flattened-document-form">
+section
+6.19
+Flattened
+Document
+Form
+</a>.
+</li>
+<li>
+Turn
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+into
+a
+series
+of
+<a class="tref externalDFN" title="rdf-triples" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">
+RDF
+triples
+</a>.
+</li>
+</ol>
+<p>
+For
+example,
+consider
+the
+following
+JSON-LD
+document
+in
+compact
+form:
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+63
+</ins></span>:<ins class="diff-chg">
+Sample
+JSON-LD
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}
+</pre>
+</div>
+<p>
+Running
+the
+JSON-LD
+Expansion
+and
+Flattening
+algorithms
+against
+the
+JSON-LD
+input
+document
+in
+the
+example
+above
+would
+result
+in
+the
+following
+output:
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+64
+</ins></span>:<ins class="diff-chg">
+Flattened
+and
+expanded
+form
+for
+the
+previous
+example
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "_:b0",
+    "http://xmlns.com/foaf/0.1/name": "Dave Longley"
+  },
+  {
+    "@id": "http://manu.sporny.org/about#manu",
+    "http://xmlns.com/foaf/0.1/name": "Manu Sporny"
+  },
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": "Markus Lanthaler",
+    "http://xmlns.com/foaf/0.1/knows": [
+      { "@id": "http://manu.sporny.org/about#manu" },
+      { "@id": "_:b0" }
+    ]
+  }
+]
+</pre>
+</div>
+<p>
+Deserializing
+this
+to
+RDF
+now
+is
+a
+straightforward
+process
+of
+turning
+each
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+into
+one
+or
+more
+RDF
+triples.
+This
+can
+be
+expressed
+in
+Turtle
+as
+follows:
+</p>
+<del class="diff-old">    _:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+65
+</ins></span>:<ins class="diff-chg">
+Turtle
+representation
+of
+expanded/flattened
+document
+</ins></div><pre class="example"><ins class="diff-chg">
+_:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .
+</ins>
+&lt;http://manu.sporny.org/about#manu&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Manu Sporny" .
+&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" ;
+<del class="diff-old">&lt;http://xmlns.com/foaf/0.1/knows&gt;
+&lt;http://manu.sporny.org/about#manu&gt;,
+_:b0
+.
+</del>
+<ins class="diff-chg">    &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://manu.sporny.org/about#manu&gt;, _:b0 .
+</ins>
+</pre>
+</div>
+<p>
+The
+process
+of
+serializing
+RDF
+as
+JSON-LD
+can
+be
+thought
+of
+as
+the
+inverse
+of
+this
+last
+step,
+creating
+an
+expanded
+JSON-LD
+document
+closely
+matching
+the
+triples
+from
+RDF,
+using
+a
+single
+<a class="tref internalDFN" title="node-object" href="#dfn-node-object">
+node
+object
+</a>
+for
+all
+triples
+having
+a
+common
+subject,
+and
+a
+single
+<a class="tref internalDFN" title="property" href="#dfn-property">
+property
+</a>
+for
+those
+triples
+also
+having
+a
+common
+predicate.
+</p>
+</section>
+</section>
+<section class="appendix informative" id="relationship-to-other-linked-data-formats">
+<h2 aria-level="1" role="heading" id="h2_relationship-to-other-linked-data-formats">
+<span class="secno">
+A.
+</span>
+Relationship
+to
+Other
+Linked
+Data
+Formats
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+examples
+below
+demonstrate
+how
+JSON-LD
+can
+be
+used
+to
+express
+semantic
+data
+marked
+up
+in
+other
+linked
+data
+formats
+such
+as
+Turtle,
+RDFa,
+Microformats,
+and
+Microdata.
+These
+sections
+are
+merely
+provided
+as
+evidence
+that
+JSON-LD
+is
+very
+flexible
+in
+what
+it
+can
+express
+across
+different
+Linked
+Data
+approaches.
+</p>
+<section class="informative" id="turtle">
+<h3 aria-level="2" role="heading" id="h3_turtle">
+<span class="secno">
+A.1
+</span>
+Turtle
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+following
+are
+examples
+of
+transforming
+RDF
+expressed
+in
+Turtle
+[
+<cite>
+<a class="bibref" href="#bib-TURTLE">
+TURTLE
+</a>
+</cite>
+]
+into
+JSON-LD.
+</p>
+<section>
+<h4 id="prefix-definitions" aria-level="3" role="heading">
+Prefix
+definitions
+</h4>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+JSON-LD
+context
+has
+direct
+equivalents
+for
+the
+Turtle
+<code>
+@prefix
+</code>
+declaration:
+</p>
+<del class="diff-old">      @prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+66
+</ins></span>:<ins class="diff-chg">
+A
+set
+of
+statements
+serialized
+in
+Turtle
+</ins></div><pre class="example"><ins class="diff-chg">
+@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</ins>
+&lt;http://manu.sporny.org/about#manu&gt; a foaf:Person;
+  foaf:name "Manu Sporny";
+<del class="diff-old">foaf:homepage
+&lt;http://manu.sporny.org/&gt;
+.
+</del>
+<ins class="diff-chg">  foaf:homepage &lt;http://manu.sporny.org/&gt; .
+</ins>
+</pre>
+</div>
+<del class="diff-old">      {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+67
+</ins></span>:<ins class="diff-chg">
+The
+same
+set
+of
+statements
+serialized
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://manu.sporny.org/about#manu",
+  "@type": "foaf:Person",
+  "foaf:name": "Manu Sporny",
+  "foaf:homepage": { "@id": "http://manu.sporny.org/" }
+}
+</pre>
+</div>
+</section>
+<section>
+<h4 id="embedding-1" aria-level="3" role="heading">
+Embedding
+</h4>
+<p>
+Both
+Turtle
+and
+JSON-LD
+allow
+embedding,
+although
+Turtle
+only
+allows
+embedding
+of
+<a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">
+blank
+nodes
+</a>.
+</p>
+<del class="diff-old">      @prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+68
+</ins></span>:<ins class="diff-chg">
+Embedding
+in
+Turtle
+</ins></div><pre class="example"><ins class="diff-chg">
+@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</ins>
+&lt;http://manu.sporny.org/about#manu&gt;
+  a foaf:Person;
+  foaf:name "Manu Sporny";
+<del class="diff-old">foaf:knows
+[
+a
+foaf:Person;
+foaf:name
+"Gregg
+Kellogg"
+]
+.
+</del>
+<ins class="diff-chg">  foaf:knows [ a foaf:Person; foaf:name "Gregg Kellogg" ] .
+</ins>
+</pre>
+</div>
+<del class="diff-old">      {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+69
+</ins></span>:<ins class="diff-chg">
+Same
+embedding
+example
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://manu.sporny.org/about#manu",
+  "@type": "foaf:Person",
+  "foaf:name": "Manu Sporny",
+  "foaf:knows":
+  {
+    "@type": "foaf:Person",
+    "foaf:name": "Gregg Kellogg"
+  }
+}
+</pre>
+</div>
+</section>
+<section>
+<h4 id="conversion-of-native-data-types" aria-level="3" role="heading">
+Conversion
+of
+native
+data
+types
+</h4>
+<p>
+In
+JSON-LD
+numbers
+and
+boolean
+values
+are
+native
+data
+types.
+While
+Turtle
+has
+a
+shorthand
+syntax
+to
+express
+such
+values,
+RDF's
+abstract
+syntax
+requires
+that
+numbers
+and
+boolean
+values
+are
+represented
+as
+typed
+literals.
+Thus,
+to
+allow
+full
+round-tripping,
+the
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+]
+defines
+conversion
+rules
+between
+JSON-LD's
+native
+data
+types
+and
+RDF's
+counterparts.
+<a class="tref internalDFN" title="number" href="#dfn-number">
+Numbers
+</a>
+without
+fractions
+are
+converted
+to
+<code>
+xsd:integer
+</code>
+-typed
+literals,
+numbers
+with
+fractions
+to
+<code>
+xsd:double
+</code>
+-typed
+literals
+and
+the
+two
+boolean
+values
+<a class="tref internalDFN" title="true" href="#dfn-true">
+true
+</a>
+and
+<a class="tref internalDFN" title="false" href="#dfn-false">
+false
+</a>
+to
+a
+<code>
+xsd:boolean
+</code>
+-typed
+literal.
+All
+typed
+literals
+are
+in
+canonical
+lexical
+form.
+</p>
+<del class="diff-old">      {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+70
+</ins></span>:<ins class="diff-chg">
+JSON-LD
+using
+native
+data
+types
+for
+numbers
+and
+boolean
+values
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "ex": "http://example.com/vocab#"
+  },
+  "@id": "http://example.com/",
+  "ex:numbers": [ 14, 2.78 ],
+  "ex:booleans": [ true, false ]
+}
+</pre>
+</div>
+<del class="diff-old">      @prefix ex: &lt;http://example.com/vocab#&gt; .
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+71
+</ins></span>:<ins class="diff-chg">
+Same
+example
+in
+Turtle
+using
+typed
+literals
+</ins></div><pre class="example"><ins class="diff-chg">
+@prefix ex: &lt;http://example.com/vocab#&gt; .
+</ins>
+@prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
+&lt;http://example.com/&gt;
+  ex:numbers "14"^^xsd:integer, "2.78E0"^^xsd:double ;
+<del class="diff-old">ex:booleans
+"true"^^xsd:boolean,
+"false"^^xsd:boolean
+.
+</del>
+<ins class="diff-chg">  ex:booleans "true"^^xsd:boolean, "false"^^xsd:boolean .
+</ins>
+</pre>
+</div>
+</section>
+<section>
+<h4 id="lists" aria-level="3" role="heading">
+Lists
+</h4>
+<p>
+Both
+JSON-LD
+and
+Turtle
+can
+represent
+sequential
+lists
+of
+values.
+</p>
+<del class="diff-old">      @prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+72
+</ins></span>:<ins class="diff-chg">
+A
+list
+of
+values
+in
+Turtle
+</ins></div><pre class="example"><ins class="diff-chg">
+@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+</ins>
+&lt;http://example.org/people#joebob&gt; a foaf:Person;
+  foaf:name "Joe Bob";
+<del class="diff-old">foaf:nick
+(
+"joe"
+"bob"
+"jaybee"
+)
+.
+</del>
+<ins class="diff-chg">  foaf:nick ( "joe" "bob" "jaybee" ) .
+</ins>
+</pre>
+</div>
+<del class="diff-old">      {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+73
+</ins></span>:<ins class="diff-chg">
+Same
+example
+with
+a
+list
+of
+values
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://example.org/people#joebob",
+  "@type": "foaf:Person",
+  "foaf:name": "Joe Bob",
+  "foaf:nick":
+  {
+    "@list": [ "joe", "bob", "jaybee" ]
+  }
+}
+</pre>
+</div>
+</section>
+</section>
+<section class="informative" id="rdfa">
+<h3 aria-level="2" role="heading" id="h3_rdfa">
+<span class="secno">
+A.2
+</span>
+RDFa
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+following
+example
+describes
+three
+people
+with
+their
+respective
+names
+and
+homepages
+in
+RDFa
+[
+<cite>
+<a class="bibref" href="#bib-RDFA-CORE">
+RDFA-CORE
+</a>
+</cite>
+].
+</p>
+<del class="diff-old">    &gt;
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+74
+</ins></span>:<ins class="diff-chg">
+RDFa
+fragment
+that
+describes
+three
+people
+</ins></div><pre class="example"><ins class="diff-chg">
+&lt;div <span class="highlight">prefix="foaf: http://xmlns.com/foaf/0.1/"</span>&gt;
+</ins>
+   &lt;ul&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/bob/" property="foaf:name"</span>&gt;Bob&lt;/a&gt;
+      &lt;/li&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/eve/" property="foaf:name"</span>&gt;Eve&lt;/a&gt;
+      &lt;/li&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/manu/" property="foaf:name"</span>&gt;Manu&lt;/a&gt;
+      &lt;/li&gt;
+   &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
+</div>
+<p>
+An
+example
+JSON-LD
+implementation
+using
+a
+single
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+is
+described
+below.
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+75
+</ins></span>:<ins class="diff-chg">
+Same
+description
+in
+JSON-LD
+(context
+shared
+among
+node
+objects)
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@graph":
+  [
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/bob/",
+      "foaf:name": "Bob"
+    },
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/eve/",
+      "foaf:name": "Eve"
+    },
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/manu/",
+      "foaf:name": "Manu"
+    }
+  ]
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="microformats">
+<h3 aria-level="2" role="heading" id="h3_microformats">
+<span class="secno">
+A.3
+</span>
+Microformats
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+following
+example
+uses
+a
+simple
+Microformats
+hCard
+example
+to
+express
+how
+Microformats
+[
+<cite>
+<a class="bibref" href="#bib-MICROFORMATS">
+MICROFORMATS
+</a>
+</cite>
+]
+are
+represented
+in
+JSON-LD.
+</p>
+<del class="diff-old">    &lt;div class="vcard"&gt;
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+76
+</ins></span>:<ins class="diff-chg">
+HTML
+fragment
+with
+a
+simple
+Microformats
+hCard
+</ins></div><pre class="example"><ins class="diff-chg">
+&lt;div class="vcard"&gt;
+</ins>
+ &lt;a class="url fn" href="http://tantek.com/"&gt;Tantek Çelik&lt;/a&gt;
+&lt;/div&gt;
+</pre>
+</div>
+<p>
+The
+representation
+of
+the
+hCard
+expresses
+the
+Microformat
+terms
+in
+the
+<a class="tref internalDFN" title="context" href="#dfn-context">
+context
+</a>
+and
+uses
+them
+directly
+for
+the
+<code>
+url
+</code>
+and
+<code>
+fn
+</code>
+properties.
+Also
+note
+that
+the
+Microformat
+to
+JSON-LD
+processor
+has
+generated
+the
+proper
+URL
+type
+for
+<code>
+http://tantek.com/
+</code>.
+</p>
+<del class="diff-old">    {
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+77
+</ins></span>:<ins class="diff-chg">
+Same
+hCard
+representation
+in
+JSON-LD
+</ins></div><pre class="example"><ins class="diff-chg">
+{
+</ins>
+  "@context":
+  {
+    "vcard": "http://microformats.org/profile/hcard#vcard",
+    "url":
+    {
+      "@id": "http://microformats.org/profile/hcard#url",
+      "@type": "@id"
+    },
+    "fn": "http://microformats.org/profile/hcard#fn"
+  },
+  "@type": "vcard",
+  "url": "http://tantek.com/",
+  "fn": "Tantek Çelik"
+}
+</pre>
+</div>
+</section>
+<section class="informative" id="microdata">
+<h3 aria-level="2" role="heading" id="h3_microdata">
+<span class="secno">
+A.4
+</span>
+Microdata
+</h3>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+HTML
+Microdata
+[
+<cite>
+<a class="bibref" href="#bib-MICRODATA">
+MICRODATA
+</a>
+</cite>
+]
+example
+below
+expresses
+book
+information
+as
+a
+Microdata
+Work
+item.
+</p>
+<del class="diff-old">    &lt;dl itemscope
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+78
+</ins></span>:<ins class="diff-chg">
+HTML
+fragments
+that
+describes
+a
+book
+using
+microdata
+</ins></div><pre class="example"><ins class="diff-chg">
+&lt;dl itemscope
+</ins>
+    itemtype="http://purl.org/vocab/frbr/core#Work"
+    itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N"&gt;
+ &lt;dt&gt;Title&lt;/dt&gt;
+ &lt;dd&gt;&lt;cite itemprop="http://purl.org/dc/terms/title"&gt;Just a Geek&lt;/cite&gt;&lt;/dd&gt;
+ &lt;dt&gt;By&lt;/dt&gt;
+ &lt;dd&gt;&lt;span itemprop="http://purl.org/dc/terms/creator"&gt;Wil Wheaton&lt;/span&gt;&lt;/dd&gt;
+ &lt;dt&gt;Format&lt;/dt&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596007683.BOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK"&gt;
+  Print
+ &lt;/dd&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596802189.EBOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK"&gt;
+  Ebook
+ &lt;/dd&gt;
+&lt;/dl&gt;
+</pre>
+</div>
+<p>
+Note
+that
+the
+JSON-LD
+representation
+of
+the
+Microdata
+information
+stays
+true
+to
+the
+desires
+of
+the
+Microdata
+community
+to
+avoid
+contexts
+and
+instead
+refer
+to
+items
+by
+their
+full
+<a class="tref internalDFN" title="iri" href="#dfn-iri">
+<abbr title="Internationalized Resource Identifier">
+IRI
+</abbr>
+</a>.
+</p>
+<del class="diff-old">    [
+</del>
+<div class="example">
+<div class="example-title">
+<span>
+<ins class="diff-chg">Example
+79
+</ins></span>:<ins class="diff-chg">
+Same
+book
+description
+in
+JSON-LD
+(avoiding
+contexts)
+</ins></div><pre class="example"><ins class="diff-chg">
+[
+</ins>
+  {
+    "@id": "http://purl.oreilly.com/works/45U8QJGZSQKDH8N",
+    "@type": "http://purl.org/vocab/frbr/core#Work",
+    "http://purl.org/dc/terms/title": "Just a Geek",
+    "http://purl.org/dc/terms/creator": "Whil Wheaton",
+    "http://purl.org/vocab/frbr/core#realization":
+    [
+      "http://purl.oreilly.com/products/9780596007683.BOOK",
+      "http://purl.oreilly.com/products/9780596802189.EBOOK"
+    ]
+  },
+  {
+    "@id": "http://purl.oreilly.com/products/9780596007683.BOOK",
+    "@type": "http://purl.org/vocab/frbr/core#Expression",
+    "http://purl.org/dc/terms/type": "http://purl.oreilly.com/product-types/BOOK"
+  },
+  {
+    "@id": "http://purl.oreilly.com/products/9780596802189.EBOOK",
+    "@type": "http://purl.org/vocab/frbr/core#Expression",
+    "http://purl.org/dc/terms/type": "http://purl.oreilly.com/product-types/EBOOK"
+  }
+]
+</pre>
+</div>
+</section>
+</section>
+<section class="appendix normative" id="iana-considerations">
+<h2 aria-level="1" role="heading" id="h2_iana-considerations">
+<span class="secno">
+B.
+</span>
+IANA
+Considerations
+</h2>
+<p>
+This
+section
+has
+been
+submitted
+to
+the
+Internet
+Engineering
+Steering
+Group
+(IESG)
+for
+review,
+approval,
+and
+registration
+with
+IANA.
+</p>
+<h2 id="application-ld-json">
+application/ld+json
+</h2>
+<dl>
+<dt>
+Type
+name:
+</dt>
+<dd>
+application
+</dd>
+<dt>
+Subtype
+name:
+</dt>
+<dd>
+ld+json
+</dd>
+<dt>
+Required
+parameters:
+</dt>
+<dd>
+None
+</dd>
+<dt>
+Optional
+parameters:
+</dt>
+<dd>
+<dl>
+<dt>
+<code>
+profile
+</code>
+</dt>
+<dd>
+<p>
+A
+a
+non-empty
+list
+of
+space-separated
+URIs
+identifying
+specific
+constraints
+or
+conventions
+that
+apply
+to
+a
+JSON-LD
+document
+according
+[
+<cite>
+<a class="bibref" href="#bib-RFC6906">
+RFC6906
+</a>
+</cite>
+].
+A
+profile
+does
+not
+change
+the
+semantics
+of
+the
+resource
+representation
+when
+processed
+without
+profile
+knowledge,
+so
+that
+clients
+both
+with
+and
+without
+knowledge
+of
+a
+profiled
+resource
+can
+safely
+use
+the
+same
+representation.
+The
+<code>
+profile
+</code>
+parameter
+<em class="rfc2119" title="MAY">
+MAY
+</em>
+be
+used
+by
+clients
+to
+express
+their
+preferences
+in
+the
+content
+negotiation
+process.
+If
+the
+profile
+parameter
+is
+given,
+a
+server
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+return
+a
+document
+that
+honors
+the
+profiles
+in
+the
+list
+which
+are
+recognized
+by
+the
+server.
+It
+is
+<em class="rfc2119" title="RECOMMENDED">
+RECOMMENDED
+</em>
+that
+profile
+URIs
+are
+dereferenceable
+and
+provide
+useful
+documentation
+at
+that
+URI.
+For
+more
+information
+and
+background
+please
+refer
+to
+[
+<cite>
+<a class="bibref" href= "#bib-RFC6906">
+RFC6906
+</a>
+</cite>
+].
+</p>
+<p>
+This
+specification
+defines
+three
+values
+for
+the
+<code>
+profile
+</code>
+parameter.
+To
+request
+or
+specify
+<a href="#expanded-document-form">
+expanded
+JSON-LD
+document
+form
+</a>,
+the
+URI
+<code>
+http://www.w3.org/ns/json-ld#expanded
+</code>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+be
+used.
+To
+request
+or
+specify
+<a href="#compacted-document-form">
+compacted
+JSON-LD
+document
+form
+</a>,
+the
+URI
+<code>
+http://www.w3.org/ns/json-ld#compacted
+</code>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+be
+used.
+To
+request
+or
+specify
+<a href="#flattened-document-form">
+flattened
+JSON-LD
+document
+form
+</a>,
+the
+URI
+<code>
+http://www.w3.org/ns/json-ld#flattened
+</code>
+<em class="rfc2119" title="SHOULD">
+SHOULD
+</em>
+be
+used.
+Please
+note
+that,
+according
+[
+<cite>
+<a class="bibref" href="#bib-HTTP11">
+HTTP11
+</a>
+</cite>
+],
+the
+value
+of
+the
+<code>
+profile
+</code>
+parameter
+has
+to
+be
+enclosed
+in
+quotes
+(
+<code>
+"
+</code>
+)
+because
+it
+contains
+special
+characters
+and,
+if
+multiple
+profiles
+are
+combined,
+whitespace.
+</p>
+<p>
+When
+processing
+the
+"profile"
+media
+type
+parameter,
+it
+is
+important
+to
+note
+that
+its
+value
+contains
+one
+or
+more
+URIs
+and
+not
+IRIs.
+In
+some
+cases
+it
+might
+therefore
+be
+necessary
+to
+convert
+between
+IRIs
+and
+URIs
+as
+specified
+in
+<cite>
+<a href="http://tools.ietf.org/html/rfc3986#section-5.1">
+section
+3
+Relationship
+between
+IRIs
+and
+URIs
+</a>
+</cite>
+of
+[
+<cite>
+<a class="bibref" href="#bib-RFC3987">
+RFC3987
+</a>
+</cite>
+].
+</p>
+</dd>
+</dl>
+</dd>
+<dt>
+Encoding
+considerations:
+</dt>
+<dd>
+See
+<del class="diff-old">RFC&nbsp;6839,
+</del>
+<ins class="diff-chg">RFC&#160;6839,
+</ins>
+section
+3.1.
+</dd>
+<dt>
+Security
+considerations:
+</dt>
+<dd>
+See
+[
+<cite>
+<a class="bibref" href="#bib-RFC4627">
+RFC4627
+</a>
+</cite>
+]
+<p>
+Since
+JSON-LD
+is
+intended
+to
+be
+a
+pure
+data
+exchange
+format
+for
+directed
+graphs,
+the
+serialization
+<em class="rfc2119" title="SHOULD NOT">
+SHOULD
+NOT
+</em>
+be
+passed
+through
+a
+code
+execution
+mechanism
+such
+as
+JavaScript's
+<code>
+eval()
+</code>
+function
+to
+be
+parsed.
+An
+(invalid)
+document
+may
+contain
+code
+that,
+when
+executed,
+could
+lead
+to
+unexpected
+side
+effects
+compromising
+the
+security
+of
+a
+system.
+</p>
+<p>
+When
+processing
+JSON-LD
+documents,
+links
+to
+remote
+contexts
+are
+typically
+followed
+automatically,
+resulting
+in
+the
+transfer
+of
+files
+without
+the
+explicit
+request
+of
+the
+user
+for
+each
+one.
+If
+remote
+contexts
+are
+served
+by
+third
+parties,
+it
+may
+allow
+them
+to
+gather
+usage
+patterns
+or
+similar
+information
+leading
+to
+privacy
+concerns.
+Specific
+implementations,
+such
+as
+the
+API
+defined
+in
+the
+JSON-LD
+Processing
+Algorithms
+and
+API
+specification
+[
+<cite>
+<a class="bibref" href="#bib-JSON-LD-API">
+JSON-LD-API
+</a>
+</cite>
+],
+may
+provide
+fine-grained
+mechanisms
+to
+control
+this
+behavior.
+</p>
+<p>
+JSON-LD
+contexts
+that
+are
+loaded
+from
+the
+Web
+over
+non-secure
+connections,
+such
+as
+HTTP,
+run
+the
+risk
+of
+being
+altered
+by
+an
+attacker
+such
+that
+they
+may
+modify
+the
+JSON-LD
+<a class="tref internalDFN" title="active-context" href="#dfn-active-context">
+active
+context
+</a>
+in
+a
+way
+that
+could
+compromise
+security.
+It
+is
+advised
+that
+any
+application
+that
+depends
+on
+a
+remote
+context
+for
+mission
+critical
+purposes
+vet
+and
+cache
+the
+remote
+context
+before
+allowing
+the
+system
+to
+use
+it.
+</p>
+<p>
+Given
+that
+JSON-LD
+allows
+the
+substitution
+of
+long
+IRIs
+with
+short
+terms,
+JSON-LD
+documents
+may
+expand
+considerably
+when
+processed
+and,
+in
+the
+worst
+case,
+the
+resulting
+data
+might
+consume
+all
+of
+the
+recipient's
+resources.
+Applications
+should
+treat
+any
+data
+with
+due
+skepticism.
+</p>
+</dd>
+<dt>
+Interoperability
+considerations:
+</dt>
+<dd>
+Not
+Applicable
+</dd>
+<dt>
+Published
+specification:
+</dt>
+<dd>
+http://www.w3.org/TR/json-ld
+</dd>
+<dt>
+Applications
+that
+use
+this
+media
+type:
+</dt>
+<dd>
+Any
+programming
+environment
+that
+requires
+the
+exchange
+of
+directed
+graphs.
+Implementations
+of
+JSON-LD
+have
+been
+created
+for
+JavaScript,
+Python,
+Ruby,
+PHP,
+and
+C++.
+</dd>
+<dt>
+Additional
+information:
+</dt>
+<dd>
+<dl>
+<dt>
+Magic
+number(s):
+</dt>
+<dd>
+Not
+Applicable
+</dd>
+<dt>
+File
+extension(s):
+</dt>
+<dd>.jsonld
+</dd>
+<dt>
+Macintosh
+file
+type
+code(s):
+</dt>
+<dd>
+TEXT
+</dd>
+</dl>
+</dd>
+<dt>
+Person
+&amp;
+email
+address
+to
+contact
+for
+further
+information:
+</dt>
+<dd>
+Manu
+Sporny
+&lt;msporny@digitalbazaar.com&gt;
+</dd>
+<dt>
+Intended
+usage:
+</dt>
+<dd>
+Common
+</dd>
+<dt>
+Restrictions
+on
+usage:
+</dt>
+<dd>
+None
+</dd>
+<dt>
+Author(s):
+</dt>
+<dd>
+Manu
+Sporny,
+Dave
+Longley,
+Gregg
+Kellogg,
+Markus
+Lanthaler,
+Niklas
+Lindström
+</dd>
+<dt>
+Change
+controller:
+</dt>
+<dd>
+<abbr title="World Wide Web Consortium">
+W3C
+</abbr>
+</dd>
+</dl>
+<p>
+Fragment
+identifiers
+used
+with
+<a href="#application-ld-json">
+application/ld+json
+</a>
+are
+treated
+as
+in
+RDF
+syntaxes,
+as
+per
+<cite>
+<a href="http://www.w3.org/TR/rdf11-concepts/#section-fragID">
+RDF
+1.1
+Concepts
+and
+Abstract
+Syntax
+</a>
+</cite>
+[
+<cite>
+<a class="bibref" href="#bib-RDF11-CONCEPTS">
+RDF11-CONCEPTS
+</a>
+</cite>
+].
+</p>
+</section>
+<section class="appendix informative" id="acknowledgements">
+<h2 aria-level="1" role="heading" id="h2_acknowledgements">
+<span class="secno">
+C.
+</span>
+Acknowledgements
+</h2>
+<p>
+<em>
+This
+section
+is
+non-normative.
+</em>
+</p>
+<p>
+The
+authors
+would
+like
+to
+extend
+a
+deep
+appreciation
+and
+the
+most
+sincere
+thanks
+to
+Mark
+Birbeck,
+who
+contributed
+foundational
+concepts
+to
+JSON-LD
+via
+his
+work
+on
+RDFj.
+JSON-LD
+uses
+a
+number
+of
+core
+concepts
+introduced
+in
+RDFj,
+such
+as
+the
+context
+as
+a
+mechanism
+to
+provide
+an
+environment
+for
+interpreting
+JSON
+data.
+Mark
+had
+also
+been
+very
+involved
+in
+the
+work
+on
+RDFa
+as
+well.
+RDFj
+built
+upon
+that
+work.
+JSON-LD
+exists
+because
+of
+the
+work
+and
+ideas
+he
+started
+nearly
+a
+decade
+ago
+in
+2004.
+</p>
+<p>
+A
+large
+amount
+of
+thanks
+goes
+out
+to
+the
+JSON-LD
+Community
+Group
+participants
+who
+worked
+through
+many
+of
+the
+technical
+issues
+on
+the
+mailing
+list
+and
+the
+weekly
+telecons
+-
+of
+special
+mention
+are
+François
+Daoust,
+Stéphane
+Corlosquet,
+Lin
+Clark,
+and
+Zdenko
+'Denny'
+Vrandečić.
+</p>
+<p>
+The
+work
+of
+David
+I.
+Lehn
+and
+Mike
+Johnson
+are
+appreciated
+for
+reviewing,
+and
+performing
+several
+early
+implementations
+of
+the
+specification.
+Thanks
+also
+to
+Ian
+Davis
+for
+this
+work
+on
+RDF/JSON.
+</p>
+<p>
+Thanks
+to
+the
+following
+individuals,
+in
+order
+of
+their
+first
+name,
+for
+their
+input
+on
+the
+specification:
+Adrian
+Walker,
+Alexandre
+Passant,
+Andy
+Seaborne,
+Ben
+Adida,
+Blaine
+Cook,
+Bradley
+Allen,
+Brian
+Peterson,
+Bryan
+Thompson,
+Conal
+Tuohy,
+Dan
+Brickley,
+Danny
+Ayers,
+Daniel
+Leja,
+Dave
+Reynolds,
+David
+Booth,
+David
+I.
+Lehn,
+David
+Wood,
+Dean
+Landolt,
+Ed
+Summers,
+elf
+Pavlik,
+Eric
+Prud'hommeaux,
+Erik
+Wilde,
+Fabian
+Christ,
+Jon
+A.
+Frost,
+Gavin
+Carothers,
+Glenn
+McDonald,
+Guus
+Schreiber,
+Henri
+Bergius,
+Jose
+María
+Alvarez
+Rodríguez,
+Ivan
+Herman,
+Jack
+Moffitt,
+Josh
+Mandel,
+KANZAKI
+Masahide,
+Kingsley
+Idehen,
+Kuno
+Woudt,
+Larry
+Garfield,
+Mark
+Baker,
+Mark
+MacGillivray,
+Marko
+Rodriguez,
+Marios
+Meimaris,
+Matt
+Wuerstl,
+Melvin
+Carvalho,
+Nathan
+Rixham,
+Olivier
+Grisel,
+Paolo
+Ciccarese,
+Pat
+Hayes,
+Patrick
+Logan,
+Paul
+Kuykendall,
+Pelle
+Braendgaard,
+Peter
+Patel-Schneider,
+Peter
+Williams,
+Pierre-Antoine
+Champin,
+Richard
+Cyganiak,
+Roy
+T.
+Fielding,
+Sandro
+Hawke,
+Simon
+Grant,
+Srecko
+Joksimovic,
+Stephane
+Fellah,
+Steve
+Harris,
+Ted
+Thibodeau
+Jr.,
+Thomas
+Steiner,
+Tim
+Bray,
+Tom
+Morris,
+Tristan
+King,
+Sergio
+Fernández,
+Werner
+Wilms,
+and
+William
+Waites.
+</p>
+</section>
+<section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter">
+<h2 aria-level="1" role="heading" id="h2_references">
+<span class="secno">
+D.
+</span>
+References
+</h2>
+<section id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter">
+<h3 aria-level="2" role="heading" id="h3_normative-references">
+<span class="secno">
+D.1
+</span>
+Normative
+references
+</h3>
+<dl class="bibliography" about="">
+<dt id="bib-BCP47">
+[BCP47]
+</dt>
+<dd rel="dcterms:requires">
+A.
+Phillips;
+M.
+Davis.
+<a href="http://tools.ietf.org/html/bcp47">
+<cite>
+Tags
+for
+Identifying
+Languages
+</cite>
+</a>.
+September
+2009.
+IETF
+Best
+Current
+Practice.
+URL:
+<a href="http://tools.ietf.org/html/bcp47">
+http://tools.ietf.org/html/bcp47
+</a>
+</dd>
+<dt id="bib-RDF11-CONCEPTS">
+[RDF11-CONCEPTS]
+</dt>
+<dd rel="dcterms:requires">
+Richard
+Cyganiak,
+David
+Wood,
+Markus
+Lanthaler,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">
+RDF
+1.1
+Concepts
+and
+Abstract
+<del class="diff-old">Syntax.
+</del>
+<ins class="diff-chg">Syntax
+</ins>
+</a>
+<del class="diff-old">5
+November
+2013.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Candidate
+</del>
+<ins class="diff-chg">Proposed
+</ins>
+Recommendation
+(work
+in
+progress).
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/
+</ins>
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/rdf11-concepts/">
+http://www.w3.org/TR/rdf11-concepts/
+</a>
+</dd>
+<dt id="bib-RFC2119">
+[RFC2119]
+</dt>
+<dd rel="dcterms:requires">
+S.
+Bradner.
+<a href="http://www.ietf.org/rfc/rfc2119.txt">
+<cite>
+Key
+words
+for
+use
+in
+RFCs
+to
+Indicate
+Requirement
+Levels.
+</cite>
+</a>
+March
+1997.
+Internet
+RFC
+2119.
+URL:
+<a href="http://www.ietf.org/rfc/rfc2119.txt">
+http://www.ietf.org/rfc/rfc2119.txt
+</a>
+</dd>
+<dt id="bib-RFC3987">
+[RFC3987]
+</dt>
+<dd rel="dcterms:requires">
+M.
+Dürst;
+M.
+Suignard.
+<a href="http://www.ietf.org/rfc/rfc3987.txt">
+<cite>
+Internationalized
+Resource
+Identifiers
+(IRIs)
+</cite>
+</a>.
+January
+2005.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc3987.txt">
+http://www.ietf.org/rfc/rfc3987.txt
+</a>
+</dd>
+<dt id="bib-RFC4627">
+[RFC4627]
+</dt>
+<dd rel="dcterms:requires">
+D.
+Crockford.
+<a href="http://www.ietf.org/rfc/rfc4627.txt">
+<cite>
+The
+application/json
+Media
+Type
+for
+JavaScript
+Object
+Notation
+(JSON)
+(RFC
+4627)
+</cite>
+</a>.
+July
+2006.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc4627.txt">
+http://www.ietf.org/rfc/rfc4627.txt
+</a>
+</dd>
+<dt id="bib-RFC5988">
+[RFC5988]
+</dt>
+<dd rel="dcterms:requires">
+M.
+Nottingham.
+<cite>
+<a href="http://www.ietf.org/rfc/rfc5988.txt">
+Web
+Linking
+<del class="diff-old">.
+</del>
+</a>
+</cite>.
+October
+2010.
+Internet
+RFC
+5988.
+URL:
+<a href="http://www.ietf.org/rfc/rfc5988.txt">
+http://www.ietf.org/rfc/rfc5988.txt
+</a>
+</dd>
+</dl>
+</section>
+<section id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter">
+<h3 aria-level="2" role="heading" id="h3_informative-references">
+<span class="secno">
+D.2
+</span>
+Informative
+references
+</h3>
+<dl class="bibliography" about="">
+<dt id="bib-HTTP11">
+[HTTP11]
+</dt>
+<dd rel="dcterms:references">
+R.
+Fielding
+et
+al.
+<a href="http://www.ietf.org/rfc/rfc2616.txt">
+<cite>
+Hypertext
+Transfer
+Protocol
+-
+HTTP/1.1
+</cite>
+</a>.
+June
+1999.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc2616.txt">
+http://www.ietf.org/rfc/rfc2616.txt
+</a>
+</dd>
+<dt id="bib-JSON-LD-API">
+[JSON-LD-API]
+</dt>
+<dd rel="dcterms:references">
+Markus
+Lanthaler,
+Gregg
+Kellogg,
+Manu
+Sporny,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/json-ld-api/">
+JSON-LD
+1.0
+Processing
+Algorithms
+and
+API
+<del class="diff-old">.
+5
+November
+2013.
+</del>
+</a>
+</cite>.
+<ins class="diff-chg">16
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Proposed
+</del>
+Recommendation.
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/PR-json-ld-api-20131105/
+.
+The
+latest
+edition
+is
+available
+at
+</del>
+<a href="http://www.w3.org/TR/json-ld-api/">
+http://www.w3.org/TR/json-ld-api/
+</a>
+<del class="diff-old">[JSON-LD-TESTS]
+JSON-LD
+1.0
+Test
+Suite
+</del>
+<del class="diff-old">.
+W3C
+Test
+Suite.
+URL:
+http://www.w3.org/2013/json-ld-tests/
+</del>
+</dd>
+<dt id="bib-LINKED-DATA">
+[LINKED-DATA]
+</dt>
+<dd rel="dcterms:references">
+Tim
+Berners-Lee.
+<cite>
+<a href="http://www.w3.org/DesignIssues/LinkedData.html">
+Linked
+Data
+</a>
+</cite>.
+Personal
+View,
+imperfect
+but
+published.
+URL:
+<a href="http://www.w3.org/DesignIssues/LinkedData.html">
+http://www.w3.org/DesignIssues/LinkedData.html
+</a>
+</dd>
+<dt id="bib-MICRODATA">
+[MICRODATA]
+</dt>
+<dd rel="dcterms:references">
+Ian
+Hickson,
+Editor.
+<cite>
+<a href="http://www.w3.org/TR/2013/NOTE-microdata-20131029/">
+HTML
+Microdata
+<del class="diff-old">.
+25
+</del>
+</a>
+</cite>.
+<ins class="diff-chg">29
+</ins>
+October
+<del class="diff-old">2012.
+</del>
+<ins class="diff-chg">2013.
+</ins>
+W3C
+Working
+<del class="diff-old">Draft
+(work
+in
+progress).
+</del>
+<ins class="diff-chg">Group
+Note.
+</ins>
+URL:
+<del class="diff-old">http://www.w3.org/TR/2012/WD-microdata-20121025/
+.
+The
+latest
+edition
+is
+available
+at
+http://www.w3.org/TR/microdata/
+</del>
+<a href="http://www.w3.org/TR/2013/NOTE-microdata-20131029/">
+<ins class="diff-chg">http://www.w3.org/TR/2013/NOTE-microdata-20131029/
+</ins>
+</a>
+</dd>
+<dt id="bib-MICROFORMATS">
+[MICROFORMATS]
+</dt>
+<dd rel="dcterms:references">
+<a href="http://microformats.org">
+<cite>
+Microformats
+</cite>
+</a>.
+URL:
+<a href="http://microformats.org">
+http://microformats.org
+</a>
+<del class="diff-old">[RDF-SCHEMA]
+Dan
+Brickley;
+Ramanathan
+Guha.
+RDF
+Vocabulary
+Description
+Language
+1.0:
+RDF
+Schema
+</del>
+<del class="diff-old">.
+10
+February
+2004.
+W3C
+Recommendation.
+URL:
+http://www.w3.org/TR/rdf-schema
+</del>
+</dd>
+<dt id="bib-RDF11-MT">
+[RDF11-MT]
+</dt>
+<dd rel="dcterms:references">
+Patrick
+J.
+Hayes,
+Peter
+F.
+Patel-Schneider,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">
+RDF
+1.1
+<del class="diff-old">Semantics.
+</del>
+<ins class="diff-chg">Semantics
+</ins>
+</a>
+<del class="diff-old">5
+November
+2013.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Candidate
+</del>
+<ins class="diff-chg">Proposed
+</ins>
+Recommendation
+(work
+in
+progress).
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/CR-rdf11-mt-20131105/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/
+</ins>
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/rdf11-mt/">
+http://www.w3.org/TR/rdf11-mt/
+</a>
+</dd>
+<dt id="bib-RDF11-SCHEMA">
+<ins class="diff-new">[RDF11-SCHEMA]
+</ins></dt><dd rel="dcterms:references"><ins class="diff-new">
+Dan
+Brickley;
+R.V.
+Guha,
+Editors.
+</ins><cite><a href="http://www.w3.org/TR/2014/PER-rdf-schema-20140109/"><ins class="diff-new">
+RDF
+Schema
+1.1
+</ins></a></cite>.<ins class="diff-new">
+9
+January
+2014.
+W3C
+Proposed
+Edited
+Recommendation
+(work
+in
+progress).
+URL:
+</ins><a href="http://www.w3.org/TR/2014/PER-rdf-schema-20140109/"><ins class="diff-new">
+http://www.w3.org/TR/2014/PER-rdf-schema-20140109/
+</ins></a>.<ins class="diff-new">
+The
+latest
+edition
+is
+available
+at
+</ins><a href="http://www.w3.org/TR/rdf-schema/"><ins class="diff-new">
+http://www.w3.org/TR/rdf-schema/
+</ins></a>
+</dd>
+<dt id="bib-RDFA-CORE">
+[RDFA-CORE]
+</dt>
+<dd rel="dcterms:references">
+Ben
+Adida;
+Mark
+Birbeck;
+Shane
+McCarron;
+Ivan
+Herman
+et
+al.
+<a href="http://www.w3.org/TR/rdfa-core/">
+<cite>
+RDFa
+Core
+1.1
+-
+Second
+Edition
+</cite>
+</a>.
+22
+August
+2013.
+W3C
+Recommendation.
+URL:
+<a href="http://www.w3.org/TR/rdfa-core/">
+http://www.w3.org/TR/rdfa-core/
+</a>
+</dd>
+<dt id="bib-RFC3986">
+[RFC3986]
+</dt>
+<dd rel="dcterms:references">
+T.
+Berners-Lee;
+R.
+Fielding;
+L.
+Masinter.
+<a href="http://www.ietf.org/rfc/rfc3986.txt">
+<cite>
+Uniform
+Resource
+Identifier
+(URI):
+Generic
+Syntax
+(RFC
+3986)
+</cite>
+</a>.
+January
+2005.
+RFC.
+URL:
+<a href="http://www.ietf.org/rfc/rfc3986.txt">
+http://www.ietf.org/rfc/rfc3986.txt
+</a>
+</dd>
+<dt id="bib-RFC6839">
+[RFC6839]
+</dt>
+<dd rel="dcterms:references">
+Tony
+Hansen,
+Alexey
+Melnikov.
+<cite>
+<a href="http://www.ietf.org/rfc/rfc6839.txt">
+Additional
+Media
+Type
+Structured
+Syntax
+Suffixes
+</a>.
+</cite>
+January
+2013.
+Internet
+RFC
+6839.
+URL:
+<a href="http://www.ietf.org/rfc/rfc6839.txt">
+http://www.ietf.org/rfc/rfc6839.txt
+</a>
+</dd>
+<dt id="bib-RFC6906">
+[RFC6906]
+</dt>
+<dd rel="dcterms:references">
+Erik
+Wilde.
+<cite>
+<a href="http://www.ietf.org/rfc/rfc6906.txt">
+The
+'profile'
+Link
+Relation
+Type
+<del class="diff-old">.
+</del>
+</a>
+</cite>.
+March
+2013.
+Internet
+RFC
+6906.
+URL:
+<a href="http://www.ietf.org/rfc/rfc6906.txt">
+http://www.ietf.org/rfc/rfc6906.txt
+</a>
+</dd>
+<dt id="bib-TURTLE">
+[TURTLE]
+</dt>
+<dd rel="dcterms:references">
+Eric
+Prud'hommeaux,
+Gavin
+Carothers,
+Editors.
+<cite>
+<a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">
+<ins class="diff-chg">RDF
+1.1
+</ins>
+Turtle:
+Terse
+RDF
+Triple
+<del class="diff-old">Language.
+</del>
+<ins class="diff-chg">Language
+</ins>
+</a>
+<del class="diff-old">19
+February
+2013.
+</del>
+</cite>.
+<ins class="diff-chg">9
+January
+2014.
+</ins>
+W3C
+<del class="diff-old">Candidate
+</del>
+<ins class="diff-chg">Proposed
+</ins>
+Recommendation
+(work
+in
+progress).
+URL:
+<del class="diff-old">http://www.w3.org/TR/2013/CR-turtle-20130219/
+</del>
+<a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">
+<ins class="diff-chg">http://www.w3.org/TR/2014/PR-turtle-20140109/
+</ins>
+</a>.
+The
+latest
+edition
+is
+available
+at
+<a href="http://www.w3.org/TR/turtle/">
+http://www.w3.org/TR/turtle/
+</a>
+</dd>
+</dl>
+</section>
+</section>
+</body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/REC/json-ld/20140116/index.html	Fri Jan 10 13:53:42 2014 +0100
@@ -0,0 +1,3718 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr" typeof="bibo:Document w3p:REC" about="" property="dcterms:language" content="en">
+<head>
+<title>JSON-LD 1.0</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<style type="text/css">
+  .highlight { font-weight: bold; color: #0a3; }
+  .comment { color: #999; }
+  table, thead, tr, td { padding: 5px; border-width: 1px; border-spacing: 0px; border-style: solid; border-collapse: collapse; }
+</style>
+<style>
+/* --- INLINES --- */
+em.rfc2119 {
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><style>/* --- EXAMPLES --- */
+div.example-title {
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.example-title span {
+    text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+    border-color: #e0cb52;
+    background: #fcfaee;
+}
+
+aside.example div.example {
+    border-left-width: .1em;
+    border-color: #999;
+    background: #fff;
+}
+aside.example div.example div.example-title {
+    color: #999;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 1em 1.2em 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-REC"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+
+<body class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader">
+  <p>
+
+      <a href="http://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+  </p>
+  <h1 class="title p-name" id="title" property="dcterms:title">JSON-LD 1.0</h1>
+
+    <h2 property="bibo:subtitle" id="subtitle">A JSON-based Serialization for Linked Data</h2>
+
+  <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-01-15T23:00:00.000Z" id="w3c-recommendation-16-january-2014"><abbr title="World Wide Web Consortium">W3C</abbr> Recommendation <time class="dt-published" datetime="2014-01-16">16 January 2014</time></h2>
+  <dl>
+
+      <dt>This version:</dt>
+      <dd><a class="u-url" href="http://www.w3.org/TR/2014/REC-json-ld-20140116/">http://www.w3.org/TR/2014/REC-json-ld-20140116/</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/json-ld/">http://www.w3.org/TR/json-ld/</a></dd>
+
+
+
+
+
+
+      <dt>Previous version:</dt>
+      <dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/PR-json-ld-20131105/">http://www.w3.org/TR/2013/PR-json-ld-20131105/</a></dd>
+
+
+    <dt>Editors:</dt>
+    <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+
+
+      <dt>Authors:</dt>
+      <dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">Dave Longley</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Niklas Lindström" href="http://neverspace.net/">Niklas Lindström</a></span>
+</dd>
+
+
+
+  </dl>
+
+    <p>
+      Please refer to the <a href="http://www.w3.org/2014/json-ld-errata/#syntax"><strong>errata</strong></a> for this document, which may include some normative corrections.
+    </p>
+
+
+    <p>
+
+        This document is also available in this non-normative format:
+
+      <a rel="alternate" href="diff-20131105.html">diff to previous version</a>
+    </p>
+
+
+    <p>
+      The English version of this specification is the only normative version. Non-normative
+      <a href="http://www.w3.org/Consortium/Translation/">translations</a> may also be available.
+    </p>
+
+
+
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+        2010-2014
+
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+
+
+  <hr>
+</div>
+<section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2>
+  <p>JSON is a useful data serialization and messaging format.
+    This specification defines JSON-LD, a JSON-based format to serialize
+    Linked Data. The syntax is designed to easily integrate into deployed
+    systems that already use JSON, and provides a smooth upgrade path from
+    JSON to JSON-LD.
+    It is primarily intended to be a way to use Linked Data in Web-based
+    programming environments, to build interoperable Web services, and to
+    store Linked Data in JSON-based storage engines.</p>
+</section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2>
+
+
+
+        <p>
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+          index</a> at http://www.w3.org/TR/.</em>
+        </p>
+
+  <p>This document has been reviewed by <abbr title="World Wide Web Consortium">W3C</abbr> Members, by software developers,
+    and by other <abbr title="World Wide Web Consortium">W3C</abbr> groups and interested parties, and is endorsed by the
+    Director as a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation. It is a stable document and may be
+    used as reference material or cited from another document. <abbr title="World Wide Web Consortium">W3C</abbr>'s role in
+    making the Recommendation is to draw attention to the specification and
+    to promote its widespread deployment. This enhances the functionality
+    and interoperability of the Web.</p>
+
+  <p>This specification has been developed by the JSON for Linking Data Community Group
+    before it has been transferred to the RDF Working Group for review,
+    improvement, and publication along the Recommendation track.
+    The document contains small editorial changes arising from comments received
+    during the Proposed Recommendation review; see the
+    <a href="diff-20131105.html">diff-marked version</a> for details.</p>
+
+  <p>There are several independent interoperable implementations of this specification. An
+    <a href="https://dvcs.w3.org/hg/json-ld/raw-file/default/test-suite/reports/cr-20131022.html">implementation report</a>
+    as of October&nbsp;2013 is available.</p>
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/rdf-wg/">RDF Working Group</a> as a Recommendation.
+
+
+          If you wish to make comments regarding this document, please send them to
+          <a href="mailto:public-rdf-comments@w3.org">public-rdf-comments@w3.org</a>
+          (<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">archives</a>).
+
+
+
+
+            All comments are welcome.</p>
+
+
+
+        <p>
+
+            This document was produced by a group operating under the
+
+                <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+
+
+
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">public list of any patent disclosures</a>
+
+            made in connection with the deliverables of the group; that page also includes instructions for
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+        </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#how-to-read-this-document" class="tocxref"><span class="secno">1.1 </span>How to Read this Document</a></li></ul></li><li class="tocline"><a href="#design-goals-and-rationale" class="tocxref"><span class="secno">2. </span>Design Goals and Rationale</a></li><li class="tocline"><a href="#terminology" class="tocxref"><span class="secno">3. </span>Terminology</a><ul class="toc"><li class="tocline"><a href="#general-terminology" class="tocxref"><span class="secno">3.1 </span>General Terminology</a></li><li class="tocline"><a href="#data-model-overview" class="tocxref"><span class="secno">3.2 </span>Data Model Overview</a></li><li class="tocline"><a href="#syntax-tokens-and-keywords" class="tocxref"><span class="secno">3.3 </span>Syntax Tokens and Keywords</a></li></ul></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">4. </span>Conformance</a></li><li class="tocline"><a href="#basic-concepts" class="tocxref"><span class="secno">5. </span>Basic Concepts</a><ul class="toc"><li class="tocline"><a href="#the-context" class="tocxref"><span class="secno">5.1 </span>The Context</a></li><li class="tocline"><a href="#iris" class="tocxref"><span class="secno">5.2 </span>IRIs</a></li><li class="tocline"><a href="#node-identifiers" class="tocxref"><span class="secno">5.3 </span>Node Identifiers</a></li><li class="tocline"><a href="#specifying-the-type" class="tocxref"><span class="secno">5.4 </span>Specifying the Type</a></li></ul></li><li class="tocline"><a href="#advanced-concepts" class="tocxref"><span class="secno">6. </span>Advanced Concepts</a><ul class="toc"><li class="tocline"><a href="#base-iri" class="tocxref"><span class="secno">6.1 </span>Base <abbr title="Internationalized Resource Identifier">IRI</abbr></a></li><li class="tocline"><a href="#default-vocabulary" class="tocxref"><span class="secno">6.2 </span>Default Vocabulary</a></li><li class="tocline"><a href="#compact-iris" class="tocxref"><span class="secno">6.3 </span>Compact IRIs</a></li><li class="tocline"><a href="#typed-values" class="tocxref"><span class="secno">6.4 </span>Typed Values</a></li><li class="tocline"><a href="#type-coercion" class="tocxref"><span class="secno">6.5 </span>Type Coercion</a></li><li class="tocline"><a href="#embedding" class="tocxref"><span class="secno">6.6 </span>Embedding</a></li><li class="tocline"><a href="#advanced-context-usage" class="tocxref"><span class="secno">6.7 </span>Advanced Context Usage</a></li><li class="tocline"><a href="#interpreting-json-as-json-ld" class="tocxref"><span class="secno">6.8 </span>Interpreting JSON as JSON-LD</a></li><li class="tocline"><a href="#string-internationalization" class="tocxref"><span class="secno">6.9 </span>String Internationalization</a></li><li class="tocline"><a href="#iri-expansion-within-a-context" class="tocxref"><span class="secno">6.10 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion within a Context</a></li><li class="tocline"><a href="#sets-and-lists" class="tocxref"><span class="secno">6.11 </span>Sets and Lists</a></li><li class="tocline"><a href="#reverse-properties" class="tocxref"><span class="secno">6.12 </span>Reverse Properties</a></li><li class="tocline"><a href="#named-graphs" class="tocxref"><span class="secno">6.13 </span>Named Graphs</a></li><li class="tocline"><a href="#identifying-blank-nodes" class="tocxref"><span class="secno">6.14 </span>Identifying Blank Nodes</a></li><li class="tocline"><a href="#aliasing-keywords" class="tocxref"><span class="secno">6.15 </span>Aliasing Keywords</a></li><li class="tocline"><a href="#data-indexing" class="tocxref"><span class="secno">6.16 </span>Data Indexing</a></li><li class="tocline"><a href="#expanded-document-form" class="tocxref"><span class="secno">6.17 </span>Expanded Document Form</a></li><li class="tocline"><a href="#compacted-document-form" class="tocxref"><span class="secno">6.18 </span>Compacted Document Form</a></li><li class="tocline"><a href="#flattened-document-form" class="tocxref"><span class="secno">6.19 </span>Flattened Document Form</a></li><li class="tocline"><a href="#embedding-json-ld-in-html-documents" class="tocxref"><span class="secno">6.20 </span>Embedding JSON-LD in HTML Documents</a></li></ul></li><li class="tocline"><a href="#data-model" class="tocxref"><span class="secno">7. </span>Data Model</a></li><li class="tocline"><a href="#json-ld-grammar" class="tocxref"><span class="secno">8. </span>JSON-LD Grammar</a><ul class="toc"><li class="tocline"><a href="#terms" class="tocxref"><span class="secno">8.1 </span>Terms</a></li><li class="tocline"><a href="#node-objects" class="tocxref"><span class="secno">8.2 </span>Node Objects</a></li><li class="tocline"><a href="#value-objects" class="tocxref"><span class="secno">8.3 </span>Value Objects</a></li><li class="tocline"><a href="#lists-and-sets" class="tocxref"><span class="secno">8.4 </span>Lists and Sets</a></li><li class="tocline"><a href="#language-maps" class="tocxref"><span class="secno">8.5 </span>Language Maps</a></li><li class="tocline"><a href="#index-maps" class="tocxref"><span class="secno">8.6 </span>Index Maps</a></li><li class="tocline"><a href="#context-definitions" class="tocxref"><span class="secno">8.7 </span>Context Definitions</a></li></ul></li><li class="tocline"><a href="#relationship-to-rdf" class="tocxref"><span class="secno">9. </span>Relationship to RDF</a><ul class="toc"><li class="tocline"><a href="#serializing-deserializing-rdf" class="tocxref"><span class="secno">9.1 </span>Serializing/Deserializing RDF</a></li></ul></li><li class="tocline"><a href="#relationship-to-other-linked-data-formats" class="tocxref"><span class="secno">A. </span>Relationship to Other Linked Data Formats</a><ul class="toc"><li class="tocline"><a href="#turtle" class="tocxref"><span class="secno">A.1 </span>Turtle</a></li><li class="tocline"><a href="#rdfa" class="tocxref"><span class="secno">A.2 </span>RDFa</a></li><li class="tocline"><a href="#microformats" class="tocxref"><span class="secno">A.3 </span>Microformats</a></li><li class="tocline"><a href="#microdata" class="tocxref"><span class="secno">A.4 </span>Microdata</a></li></ul></li><li class="tocline"><a href="#iana-considerations" class="tocxref"><span class="secno">B. </span>IANA Considerations</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">C. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">D.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">D.2 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+<section class="informative" id="introduction">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_introduction"><span class="secno">1. </span>Introduction</h2><p><em>This section is non-normative.</em></p>
+
+  <p>Linked Data [<cite><a class="bibref" href="#bib-LINKED-DATA">LINKED-DATA</a></cite>] is a way to create a network of
+   standards-based machine interpretable data across different documents and
+   Web sites. It allows an application to start at one piece of Linked Data,
+   and follow embedded links to other pieces of Linked Data that are hosted on
+   different sites across the Web.</p>
+
+  <p>JSON-LD is a lightweight syntax to serialize Linked Data in
+    JSON [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]. Its design allows existing JSON to be interpreted as
+    Linked Data with minimal changes. JSON-LD is primarily intended to be a
+    way to use Linked Data in Web-based programming environments, to build
+    interoperable Web services, and to store Linked Data in JSON-based storage engines. Since
+    JSON-LD is 100% compatible with JSON, the large number of JSON parsers and libraries
+    available today can be reused. In addition to all the features JSON provides,
+    JSON-LD introduces:</p>
+
+  <ul>
+    <li>a universal identifier mechanism for <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a>
+      via the use of <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,</li>
+    <li>a way to disambiguate keys shared among different JSON documents by mapping
+      them to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> via a <a class="tref internalDFN" title="context" href="#dfn-context">context</a>,</li>
+    <li>a mechanism in which a value in a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> may refer
+      to a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> on a different site on the Web,</li>
+    <li>the ability to annotate <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> with their language,</li>
+    <li>a way to associate datatypes with values such as dates and times,</li>
+    <li>and a facility to express one or more directed graphs, such as a social
+      network, in a single document.</li>
+  </ul>
+
+  <p>
+   JSON-LD is designed to be usable directly as JSON, with no knowledge of RDF
+   [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]. It is also designed to be usable as RDF, if desired, for
+   use with other Linked Data technologies like SPARQL. Developers who
+   require any of the facilities listed above or need to serialize an RDF Graph
+   or RDF Dataset in a JSON-based syntax will find JSON-LD of interest. People
+   intending to use JSON-LD with RDF tools will find it can be used as another
+   RDF syntax, like Turtle [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>]. Complete details of how JSON-LD relates
+   to RDF are in section <a href="#relationship-to-rdf" class="sec-ref"><span class="secno">9.</span> <span class="sec-title">Relationship to RDF</span></a>.
+  </p>
+
+  <p>
+    The syntax is designed to not disturb already
+   deployed systems running on JSON, but provide a smooth upgrade path from
+   JSON to JSON-LD. Since the shape of such data varies wildly, JSON-LD
+   features mechanisms to reshape documents into a deterministic structure
+   which simplifies their processing.</p>
+
+  <section class="informative" id="how-to-read-this-document">
+    <h3 aria-level="2" role="heading" id="h3_how-to-read-this-document"><span class="secno">1.1 </span>How to Read this Document</h3><p><em>This section is non-normative.</em></p>
+
+    <p>This document is a detailed specification for a serialization of Linked
+      Data in JSON. The document is primarily intended for the following audiences:</p>
+
+    <ul>
+      <li>Software developers who want to encode Linked Data in a variety of
+        programming languages that can use JSON</li>
+      <li>Software developers who want to convert existing JSON to JSON-LD</li>
+      <li>Software developers who want to understand the design decisions and
+        language syntax for JSON-LD</li>
+      <li>Software developers who want to implement processors and APIs for
+        JSON-LD</li>
+      <li>Software developers who want to generate or consume Linked Data,
+        an RDF graph, or an RDF Dataset in a JSON syntax</li>
+    </ul>
+
+    <p>A companion document, the JSON-LD Processing Algorithms and API specification
+      [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>], specifies how to work with JSON-LD at a higher level by
+      providing a standard library interface for common JSON-LD operations.</p>
+
+    <p>To understand the basics in this specification you must first be familiar with
+      JSON, which is detailed in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>].</p>
+
+    <p>This document almost exclusively uses the term <abbr title="Internationalized Resource Identifier">IRI</abbr>
+    (<a href="http://www.w3.org/TR/ld-glossary/#internationalized-resource-identifier">Internationalized Resource Indicator</a>)
+    when discussing hyperlinks. Many Web developers are more familiar with the
+    URL (<a href="http://www.w3.org/TR/ld-glossary/#uniform-resource-locator">Uniform Resource Locator</a>)
+    terminology. The document also uses, albeit rarely, the URI
+    (<a href="http://www.w3.org/TR/ld-glossary/#uniform-resource-identifier">Uniform Resource Indicator</a>)
+    terminology. While these terms are often used interchangeably among
+    technical communities, they do have important distinctions from one
+    another and the specification goes to great lengths to try and use the
+    proper terminology at all times.
+    </p>
+  </section>
+</section>
+
+<section class="informative" id="design-goals-and-rationale">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_design-goals-and-rationale"><span class="secno">2. </span>Design Goals and Rationale</h2><p><em>This section is non-normative.</em></p>
+
+  <p>JSON-LD satisfies the following design goals:</p>
+
+  <dl>
+   <dt>Simplicity</dt>
+   <dd>No extra processors or software libraries are necessary to use JSON-LD
+     in its most basic form. The language provides developers with a very easy
+     learning curve. Developers only need to know JSON and two
+     <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> (<code>@context</code>
+     and <code>@id</code>) to use the basic functionality in JSON-LD.</dd>
+   <dt>Compatibility</dt>
+   <dd>A JSON-LD document is always a valid JSON document. This ensures that
+    all of the standard JSON libraries work seamlessly with JSON-LD documents.</dd>
+   <dt>Expressiveness</dt>
+   <dd>The syntax serializes directed graphs. This ensures that almost
+    every real world data model can be expressed.</dd>
+   <dt>Terseness</dt>
+   <dd>The JSON-LD syntax is very terse and human readable, requiring as
+    little effort as possible from the developer.</dd>
+   <dt>Zero Edits, most of the time</dt>
+   <dd>JSON-LD ensures a smooth and simple transition from existing
+     JSON-based systems. In many cases,
+     zero edits to the JSON document and the addition of one line to the HTTP response
+     should suffice (see <a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">section 6.8 Interpreting JSON as JSON-LD</a>).
+     This allows organizations that have
+     already deployed large JSON-based infrastructure to use JSON-LD's features
+     in a way that is not disruptive to their day-to-day operations and is
+     transparent to their current customers. However, there are times where
+     mapping JSON to a graph representation is a complex undertaking.
+     In these instances, rather than extending JSON-LD to support
+     esoteric use cases, we chose not to support the use case. While Zero
+     Edits is a design goal, it is not always possible without adding
+     great complexity to the language. JSON-LD focuses on simplicity when
+     possible.</dd>
+    <dt>Usable as RDF</dt>
+    <dd>JSON-LD is usable by developers as
+      idiomatic JSON, with no need to understand RDF [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].
+      JSON-LD is also usable as RDF, so people intending to use JSON-LD
+      with RDF tools will find it can be used like any other RDF syntax.
+      Complete details of how JSON-LD relates to RDF are in section
+      <a href="#relationship-to-rdf" class="sec-ref"><span class="secno">9.</span> <span class="sec-title">Relationship to RDF</span></a>.</dd>
+  </dl>
+</section>
+
+<section class="normative" id="terminology">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_terminology"><span class="secno">3. </span>Terminology</h2>
+
+  <section class="normative" id="general-terminology">
+    <h3 aria-level="2" role="heading" id="h3_general-terminology"><span class="secno">3.1 </span>General Terminology</h3>
+
+    <p>This document uses the following terms as defined in JSON [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]. Refer
+      to the <em>JSON Grammar</em> section in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>] for formal definitions.</p>
+
+    <dl>
+      <dt><dfn title="json-object" id="dfn-json-object">JSON object</dfn></dt><dd>
+        An object structure is represented as a pair of curly brackets surrounding
+        zero or more key-value pairs. A key is a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>.
+        A single colon comes after each key, separating the key from the value.
+        A single comma separates a value from a following key. In contrast to JSON,
+        in JSON-LD the keys in an object must be unique.</dd>
+      <dt><dfn title="array" id="dfn-array">array</dfn></dt>
+      <dd>An array structure is represented as square brackets surrounding zero
+        or more values. Values are separated by commas.
+        In JSON, an array is an <em>ordered</em> sequence of zero or more values.
+        While JSON-LD uses the same array representation as JSON,
+        the collection is <em>unordered</em> by default. While order is
+        preserved in regular JSON arrays, it is not in regular JSON-LD arrays
+        unless specifically defined (see <a class="sectionRef sec-ref" href="#sets-and-lists">section 6.11 Sets and Lists</a>).</dd>
+      <dt><dfn title="string" id="dfn-string">string</dfn></dt><dd>
+        A string is a sequence of zero or more Unicode characters,
+        wrapped in double quotes, using backslash escapes (if necessary).</dd>
+      <dt><dfn title="number" id="dfn-number">number</dfn></dt>
+      <dd>A number is similar to that used in most programming languages, except
+        that the octal and hexadecimal formats are not used and leading zeros
+        are not allowed.</dd>
+      <dt><dfn title="true" id="dfn-true">true</dfn> and <dfn title="false" id="dfn-false">false</dfn></dt><dd>
+        Values that are used to express one of two possible boolean states.</dd>
+      <dt><dfn title="null" id="dfn-null">null</dfn></dt>
+      <dd>The <a class="tref internalDFN" title="null" href="#dfn-null">null</a> value, which is typically used to clear or forget
+        data. For example, a key-value pair in the
+        <code>@context</code> where the value is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> explicitly
+        decouples a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>'s association with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+        A key-value pair in the body of a JSON-LD document whose
+        value is <a class="tref internalDFN" title="null" href="#dfn-null">null</a> has the same meaning as if the key-value pair
+        was not defined. If <code>@value</code>, <code>@list</code>, or
+        <code>@set</code> is set to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> in expanded form, then
+        the entire <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is ignored.</dd>
+    </dl>
+  </section>
+
+  <section class="informative" id="data-model-overview">
+    <h3 aria-level="2" role="heading" id="h3_data-model-overview"><span class="secno">3.2 </span>Data Model Overview</h3><p><em>This section is non-normative.</em></p>
+
+    <p>Generally speaking, the data model used for JSON-LD is a labeled,
+      directed <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>. The graph contains
+      <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>, which are connected by
+      <a class="tref internalDFN" title="edge" href="#dfn-edge">edges</a>. A <a class="tref internalDFN" title="node" href="#dfn-node">node</a> is typically data
+      such as a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, <a class="tref internalDFN" title="number" href="#dfn-number">number</a>,
+      <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a> (like dates and times)
+      or an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+      There is also a special class of <a class="tref internalDFN" title="node" href="#dfn-node">node</a> called a
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>, which is typically used to express data that does
+      not have a global identifier like an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">Blank nodes</a> are identified using a
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. This simple data model is incredibly
+      flexible and powerful, capable of modeling almost any kind of
+      data. For a deeper explanation of the data model, see
+      section <a href="#data-model" class="sec-ref"><span class="secno">7.</span> <span class="sec-title">Data Model</span></a>.
+    </p>
+
+    <p>Developers who are familiar with Linked Data technologies will
+    recognize the data model as the RDF Data Model. To dive deeper into how
+    JSON-LD and RDF are related, see
+    section <a href="#relationship-to-rdf" class="sec-ref"><span class="secno">9.</span> <span class="sec-title">Relationship to RDF</span></a>.
+    </p>
+  </section>
+
+  <section class="normative" id="syntax-tokens-and-keywords">
+    <h3 aria-level="2" role="heading" id="h3_syntax-tokens-and-keywords"><span class="secno">3.3 </span>Syntax Tokens and Keywords</h3>
+
+    <p>JSON-LD specifies a number of syntax tokens and <dfn title="keyword" id="dfn-keyword">keywords</dfn>
+    that are a core part of the language:</p>
+
+    <dl>
+      <dt><code>@context</code></dt>
+      <dd>Used to define the short-hand names that are used throughout a JSON-LD
+        document. These short-hand names are called <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> and help
+        developers to express specific identifiers in a compact manner. The
+        <code>@context</code> keyword is described in detail in
+        <a class="sectionRef sec-ref" href="#the-context">section 5.1 The Context</a>.</dd>
+      <dt><code>@id</code></dt>
+      <dd>Used to uniquely identify <em>things</em> that are being described in the document
+        with <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> or
+        <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>. This keyword
+        is described in <a class="sectionRef sec-ref" href="#node-identifiers">section 5.3 Node Identifiers</a>.</dd>
+      <dt><code>@value</code></dt>
+      <dd>Used to specify the data that is associated with a particular
+        <a class="tref internalDFN" title="property" href="#dfn-property">property</a> in the graph. This keyword is described in
+        <a class="sectionRef sec-ref" href="#string-internationalization">section 6.9 String Internationalization</a> and
+        <a class="sectionRef sec-ref" href="#typed-values">section 6.4 Typed Values</a>.</dd>
+      <dt><code>@language</code></dt>
+      <dd>Used to specify the language for a particular string value or the default
+        language of a JSON-LD document. This keyword is described in
+        <a class="sectionRef sec-ref" href="#string-internationalization">section 6.9 String Internationalization</a>.</dd>
+      <dt><code>@type</code></dt>
+      <dd>Used to set the data type of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> or
+        <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a>. This keyword is described in
+        <a class="sectionRef sec-ref" href="#typed-values">section 6.4 Typed Values</a>.</dd>
+      <dt><code>@container</code></dt>
+      <dd>Used to set the default container type for a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.
+        This keyword is described in <a class="sectionRef sec-ref" href="#sets-and-lists">section 6.11 Sets and Lists</a>.</dd>
+      <dt><code>@list</code></dt>
+      <dd>Used to express an ordered set of data.
+        This keyword is described in <a class="sectionRef sec-ref" href="#sets-and-lists">section 6.11 Sets and Lists</a>.</dd>
+      <dt><code>@set</code></dt>
+      <dd>Used to express an unordered set of data and to ensure that values are always
+         represented as arrays. This keyword is described in
+         <a class="sectionRef sec-ref" href="#sets-and-lists">section 6.11 Sets and Lists</a>.</dd>
+      <dt><code>@reverse</code></dt>
+      <dd>Used to express reverse properties. This keyword is described in
+        <a class="sectionRef sec-ref" href="#reverse-properties">section 6.12 Reverse Properties</a>.</dd>
+      <dt><code>@index</code></dt>
+      <dd>Used to specify that a container is used to index information and
+        that processing should continue deeper into a JSON data structure.
+        This keyword is described in <a class="sectionRef sec-ref" href="#data-indexing">section 6.16 Data Indexing</a>.</dd>
+      <dt><code>@base</code></dt>
+      <dd>Used to set the base <abbr title="Internationalized Resource Identifier">IRI</abbr> against which <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative IRIs</a>
+        are resolved. This keyword is described in <a class="sectionRef sec-ref" href="#base-iri">section 6.1 Base IRI</a>.</dd>
+      <dt><code>@vocab</code></dt>
+      <dd>Used to expand properties and values in <code>@type</code> with a common prefix
+        <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. This keyword is described in <a class="sectionRef sec-ref" href="#default-vocabulary">section 6.2 Default Vocabulary</a>.</dd>
+      <dt><code>@graph</code></dt><dd>Used to express a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>.
+        This keyword is described in <a class="sectionRef sec-ref" href="#named-graphs">section 6.13 Named Graphs</a>.</dd>
+      <dt><code>:</code></dt>
+      <dd>The separator for JSON keys and values that use
+        <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>.</dd>
+    </dl>
+
+    <p>All keys, <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a>, and values in JSON-LD are case-sensitive.</p>
+  </section>
+</section>
+
+<section class="normative" id="conformance">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_conformance"><span class="secno">4. </span>Conformance</h2>
+
+  <p>This specification describes the conformance criteria for JSON-LD documents.
+    This criteria is relevant to authors and authoring tool implementers. As well
+    as sections marked as non-normative, all authoring guidelines, diagrams, examples,
+    and notes in this specification are non-normative. Everything else in this
+    specification is normative.</p>
+
+  <p>A <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> complies with this specification if it follows
+    the normative statements in appendix <a href="#json-ld-grammar" class="sec-ref"><span class="secno">8.</span> <span class="sec-title">JSON-LD Grammar</span></a>. JSON documents
+    can be interpreted as JSON-LD by following the normative statements in
+    <a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">section 6.8 Interpreting JSON as JSON-LD</a>. For convenience, normative
+    statements for documents are often phrased as statements on the properties of the document.</p>
+
+  <p>The key words <em class="rfc2119" title="MUST">MUST</em>, <em class="rfc2119" title="MUST NOT">MUST NOT</em>, <em class="rfc2119" title="REQUIRED">REQUIRED</em>, <em class="rfc2119" title="SHALL">SHALL</em>, <em class="rfc2119" title="SHALL NOT">SHALL NOT</em>, <em class="rfc2119" title="SHOULD">SHOULD</em>, <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em>,
+    <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em>, <em class="rfc2119" title="NOT RECOMMENDED">NOT RECOMMENDED</em>, <em class="rfc2119" title="MAY">MAY</em>, and <em class="rfc2119" title="OPTIONAL">OPTIONAL</em> in this specification have the
+    meaning defined in [<cite><a class="bibref" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+</section>
+
+<section class="informative" id="basic-concepts">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_basic-concepts"><span class="secno">5. </span>Basic Concepts</h2><p><em>This section is non-normative.</em></p>
+
+  <p>JSON [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>] is a lightweight, language-independent data interchange format.
+    It is easy to parse and easy to generate. However, it is difficult to integrate JSON
+    from different sources as the data may contain keys that conflict with other
+    data sources. Furthermore, JSON has no
+    built-in support for hyperlinks, which are a fundamental building block on
+    the Web. Let's start by looking at an example that we will be using for the
+    rest of this section:</p>
+
+  <div class="example"><div class="example-title"><span>Example 1</span>: Sample JSON document</div><pre class="example">{
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}</pre></div>
+
+  <p>It's obvious to humans that the data is about a person whose
+    <code>name</code> is "Manu Sporny"
+    and that the <code>homepage</code> property contains the URL of that person's homepage.
+    A machine doesn't have such an intuitive understanding and sometimes,
+    even for humans, it is difficult to resolve ambiguities in such representations. This problem
+    can be solved by using unambiguous identifiers to denote the different concepts instead of
+    tokens such as "name", "homepage", etc.</p>
+
+  <p>Linked Data, and the Web in general, uses <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+    (Internationalized Resource Identifiers as described in [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>]) for unambiguous
+    identification. The idea is to use <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+    to assign unambiguous identifiers to data that may be of use to other developers.
+    It is useful for <a class="tref internalDFN" title="term" href="#dfn-term">terms</a>,
+    like <code>name</code> and <code>homepage</code>, to expand to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+    so that developers don't accidentally step on each other's terms. Furthermore, developers and
+    machines are able to use this <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> (by using a web browser, for instance) to go to
+    the term and get a definition of what the term means. This process is known as <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+    dereferencing.</p>
+
+  <p>Leveraging the popular <a href="http://schema.org/">schema.org vocabulary</a>,
+    the example above could be unambiguously expressed as follows:</p>
+
+  <div class="example"><div class="example-title"><span>Example 2</span>: Sample JSON-LD document using full IRIs instead of terms</div><pre class="example">{
+  "<span class="highlight">http://schema.org/name</span>": "Manu Sporny",
+  "<span class="highlight">http://schema.org/url</span>": <span class="highlight">{ "@id": </span>"http://manu.sporny.org/" <span class="highlight">}</span>,  <span class="comment">← The '@id' keyword means 'This value is an identifier that is an IRI'</span>
+  "<span class="highlight">http://schema.org/image</span>": <span class="highlight">{ "@id": </span>"http://manu.sporny.org/images/manu.png" <span class="highlight">}</span>
+}</pre></div>
+
+  <p>In the example above, every property is unambiguously identified by an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> and all values
+    representing <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> are explicitly marked as such by the
+    <code>@id</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. While this is a valid JSON-LD
+    document that is very specific about its data, the document is also overly verbose and difficult
+    to work with for human developers. To address this issue, JSON-LD introduces the notion
+    of a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> as described in the next section.</p>
+
+  <section class="informative" id="the-context">
+    <h3 aria-level="2" role="heading" id="h3_the-context"><span class="secno">5.1 </span>The Context</h3><p><em>This section is non-normative.</em></p>
+
+    <p>When two people communicate with one another, the conversation takes
+    place in a shared environment, typically called
+    "the context of the conversation". This shared context allows the
+    individuals to use shortcut terms, like the first name of a mutual friend,
+    to communicate more quickly but without losing accuracy. A context in
+    JSON-LD works in the same way. It allows two applications to use shortcut
+    terms to communicate with one another more efficiently, but without
+    losing accuracy.</p>
+
+    <p>Simply speaking, a <dfn title="context" id="dfn-context">context</dfn> is used to map <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> to
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>. <a class="tref internalDFN" title="term" href="#dfn-term">Terms</a> are case sensitive
+      and any valid <a class="tref internalDFN" title="string" href="#dfn-string">string</a> that is not a reserved JSON-LD <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>
+      can be used as a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.</p>
+
+    <p>For the sample document in the previous section, a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> would
+      look something like this:</p>
+
+    <div class="example"><div class="example-title"><span>Example 3</span>: Context for the sample document in the previous section</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    "name": "http://schema.org/name",</span>  <span class="comment">← This means that 'name' is shorthand for 'http://schema.org/name'</span> <span class="highlight">
+    "image": {
+      "@id": "http://schema.org/image",</span>  <span class="comment">← This means that 'image' is shorthand for 'http://schema.org/image'</span> <span class="highlight">
+      "@type": "@id"</span>  <span class="comment">← This means that a string value associated with 'image' should be interpreted as an identifier that is an IRI</span> <span class="highlight">
+    },
+    "homepage": {
+      "@id": "http://schema.org/url",</span>  <span class="comment">← This means that 'homepage' is shorthand for 'http://schema.org/url'</span> <span class="highlight">
+      "@type": "@id"</span>  <span class="comment">← This means that a string value associated with 'homepage' should be interpreted as an identifier that is an IRI</span> <span class="highlight">
+    }
+  }</span>
+}</pre></div>
+
+    <p>As the <a class="tref internalDFN" title="context" href="#dfn-context">context</a> above shows, the value of a <dfn title="term-definition" id="dfn-term-definition">term definition</dfn> can
+      either be a simple string, mapping the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      or a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.</p>
+
+    <p>When a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is associated with a term, it is called
+      an <dfn title="expanded-term-definition" id="dfn-expanded-term-definition">expanded term definition</dfn>. The example above specifies that
+      the values of <code>image</code> and <code>homepage</code>, if they are
+      strings, are to be interpreted as
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>. <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">Expanded term definitions</a>
+      also allow terms to be used for <a href="#data-indexing">index maps</a>
+      and to specify whether <a class="tref internalDFN" title="array" href="#dfn-array">array</a> values are to be
+      interpreted as <a href="#sets-and-lists">sets or lists</a>.
+      <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">Expanded term definitions</a> may
+      be defined using <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute</a> or
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> as keys, which is
+      mainly used to associate type or language information with an
+      <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute</a> or <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+    <p><a class="tref internalDFN" title="context" href="#dfn-context">Contexts</a> can either be directly embedded
+      into the document or be referenced. Assuming the context document in the previous
+      example can be retrieved at <code>http://json-ld.org/contexts/person.jsonld</code>,
+      it can be referenced by adding a single line and allows a JSON-LD document to
+      be expressed much more concisely as shown in the example below:</p>
+
+    <div class="example"><div class="example-title"><span>Example 4</span>: Referencing a JSON-LD context</div><pre class="example">{
+  <span class="highlight">"@context": "http://json-ld.org/contexts/person.jsonld",</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}</pre></div>
+
+    <p>The referenced context not only specifies how the terms map to
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> in the Schema.org vocabulary but also
+      specifies that string values associated with
+      the <code>homepage</code> and <code>image</code> property
+      can be interpreted as an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> (<code>"@type": "@id"</code>,
+      see <a class="sectionRef sec-ref" href="#iris">section 5.2 IRIs</a> for more details). This information allows developers
+      to re-use each other's data without having to agree to how their data will interoperate
+      on a site-by-site basis. External JSON-LD context documents may contain extra
+      information located outside of the <code>@context</code> key, such as
+      documentation about the <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> declared in the
+      document. Information contained outside of the <code>@context</code> value
+      is ignored when the document is used as an external JSON-LD context document.</p>
+
+    <p>JSON documents can be interpreted as JSON-LD without having to be modified by
+      referencing a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> via an HTTP Link Header
+      as described in <a class="sectionRef sec-ref" href="#interpreting-json-as-json-ld">section 6.8 Interpreting JSON as JSON-LD</a>. It is also
+      possible to apply a custom context using the JSON-LD API [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>].</p>
+
+    <p>In <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD documents</a>,
+      <a class="tref internalDFN" title="context" href="#dfn-context">contexts</a> may also be specified inline.
+      This has the advantage that documents can be processed even in the
+      absence of a connection to the Web. Ultimately, this is a modeling decision
+      and different use cases may require different handling.</p>
+
+    <div class="example"><div class="example-title"><span>Example 5</span>: In-line context definition</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    "name": "http://schema.org/name",
+    "image": {
+      "@id": "http://schema.org/image",
+      "@type": "@id"
+    },
+    "homepage": {
+      "@id": "http://schema.org/url",
+      "@type": "@id"
+    }
+  },</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  "image": "http://manu.sporny.org/images/manu.png"
+}</pre></div>
+
+    <p>This section only covers the most basic features of the JSON-LD
+    Context. More advanced features related to the JSON-LD Context are covered
+    in section <a href="#advanced-concepts" class="sec-ref"><span class="secno">6.</span> <span class="sec-title">Advanced Concepts</span></a>.
+    </p>
+  </section>
+
+<section class="informative" id="iris">
+  <h3 aria-level="2" role="heading" id="h3_iris"><span class="secno">5.2 </span>IRIs</h3><p><em>This section is non-normative.</em></p>
+
+  <p><a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> (Internationalized Resource Identifiers
+    [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>]) are fundamental to Linked Data as that is how most
+    <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> and <a class="tref internalDFN" title="property" href="#dfn-property">properties</a>
+    are identified. In JSON-LD, IRIs may be represented as an
+    <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>. An
+    <dfn title="absolute-iri" id="dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn> is defined in [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] as containing a
+    <em>scheme</em> along with <em>path</em> and optional <em>query</em> and
+    <em>fragment</em> segments. A <dfn title="relative-iri" id="dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn> is an <abbr title="Internationalized Resource Identifier">IRI</abbr>
+    that is relative to some other <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+    In JSON-LD all <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative IRIs</a> are resolved
+    relative to the <dfn title="base-iri" id="dfn-base-iri">base <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn>.</p>
+
+  <p>A <a class="tref internalDFN" title="string" href="#dfn-string">string</a> is interpreted as an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> when it is the
+    value of an <code>@id</code> member:</p>
+
+  <div class="example"><div class="example-title"><span>Example 6</span>: Values of @id are interpreted as IRI</div><pre class="example">{
+...
+  "homepage": { "<span class="highlight">@id</span>": "http://example.com/" }
+...
+}</pre></div>
+
+  <p>Values that are interpreted as <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>, can also be
+    expressed as <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative IRIs</a>. For example,
+    assuming that the following document is located at
+    <code>http://example.com/about/</code>, the <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+    <code>../</code> would expand to <code>http://example.com/</code> (for more
+    information on where  <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative IRIs</a> can be
+    used, please refer to section <a href="#json-ld-grammar" class="sec-ref"><span class="secno">8.</span> <span class="sec-title">JSON-LD Grammar</span></a>).</p>
+
+  <div class="example"><div class="example-title"><span>Example 7</span>: IRIs can be relative</div><pre class="example">{
+...
+  "homepage": { "<span class="highlight">@id</span>": "../" }
+...
+}</pre></div>
+
+  <p><a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">Absolute IRIs</a> can be expressed directly
+    in the key position like so:</p>
+
+  <div class="example"><div class="example-title"><span>Example 8</span>: IRI as a key</div><pre class="example">{
+...
+  "<span class="highlight">http://schema.org/name</span>": "Manu Sporny",
+...
+}</pre></div>
+
+  <p>In the example above, the key <code>http://schema.org/name</code>
+    is interpreted as an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+  <p>Term-to-<abbr title="Internationalized Resource Identifier">IRI</abbr> expansion occurs if the key matches a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> defined
+    within the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 9</span>: Term expansion from context definition</div><pre class="example">{
+  "<span class="highlight">@context</span>":
+  {
+    "<span class="highlight">name</span>": "<span class="highlight">http://schema.org/name</span>"
+  },
+  "<span class="highlight">name</span>": "Manu Sporny",
+  "status": "trollin'"
+}</pre></div>
+
+  <p>JSON keys that do not expand to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, such as <code>status</code>
+    in the example above, are not Linked Data and thus ignored when processed.</p>
+
+  <p>If type <a class="tref internalDFN" title="coercion" href="#dfn-coercion">coercion</a> rules are specified in the <code>@context</code> for
+    a particular <a class="tref internalDFN" title="term" href="#dfn-term">term</a> or property <abbr title="Internationalized Resource Identifier">IRI</abbr>, an <abbr title="Internationalized Resource Identifier">IRI</abbr> is generated:</p>
+
+  <div class="example"><div class="example-title"><span>Example 10</span>: Type coercion</div><pre class="example">{<span class="highlight">
+  "@context":
+  {
+    ...
+    "homepage":
+    {
+      "@id": "http://schema.org/url",
+      "@type": "@id"
+    }
+    ...
+  }</span>
+...
+  "homepage": "http://manu.sporny.org/",
+...
+}</pre></div>
+
+  <p>In the example above, since the value <code>http://manu.sporny.org/</code>
+    is expressed as a JSON <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, the type <a class="tref internalDFN" title="coercion" href="#dfn-coercion">coercion</a>
+    rules will transform the value into an <abbr title="Internationalized Resource Identifier">IRI</abbr> when processing the data.
+    See <a class="sectionRef sec-ref" href="#type-coercion">section 6.5 Type Coercion</a> for more
+    details about this feature.</p>
+
+  <p>In summary, <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> can be expressed in a variety of
+    different ways in JSON-LD:</p>
+
+  <ol>
+    <li><a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> keys that have a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> mapping in
+      the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> expand to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+      (only applies outside of the <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a>).</li>
+    <li>An <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> is generated for the <a class="tref internalDFN" title="string" href="#dfn-string">string</a> value specified using
+      <code>@id</code> or <code>@type</code>.</li>
+    <li>An <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> is generated for the <a class="tref internalDFN" title="string" href="#dfn-string">string</a> value of any key for which there
+      are <a class="tref internalDFN" title="coercion" href="#dfn-coercion">coercion</a> rules that contain an <code>@type</code> key that is
+      set to a value of <code>@id</code> or <code>@vocab</code>.</li>
+  </ol>
+
+  <p>This section only covers the most basic features associated with IRIs
+  in JSON-LD. More advanced features related to IRIs are covered in
+  section <a href="#advanced-concepts" class="sec-ref"><span class="secno">6.</span> <span class="sec-title">Advanced Concepts</span></a>.
+  </p>
+
+</section>
+
+<section class="informative" id="node-identifiers">
+  <h3 aria-level="2" role="heading" id="h3_node-identifiers"><span class="secno">5.3 </span>Node Identifiers</h3><p><em>This section is non-normative.</em></p>
+
+  <p>To be able to externally reference <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>
+    in a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>, it is important that
+    <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> have an identifier. <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+    are a fundamental concept of Linked Data, for
+    <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> to be truly linked, dereferencing the
+    identifier should result in a representation of that <a class="tref internalDFN" title="node" href="#dfn-node">node</a>.
+    This may allow an application to retrieve further information about a
+    <a class="tref internalDFN" title="node" href="#dfn-node">node</a>.</p>
+
+  <p>In JSON-LD, a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> is identified using the <code>@id</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 11</span>: Identifying a node</div><pre class="example">{
+  "@context":
+  {
+    ...
+    "name": "http://schema.org/name"
+  },
+  <span class="highlight">"@id": "http://me.markus-lanthaler.com/"</span>,
+  "name": "Markus Lanthaler",
+  ...
+}</pre></div>
+
+  <p>The example above contains a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> identified by the <abbr title="Internationalized Resource Identifier">IRI</abbr>
+    <code>http://me.markus-lanthaler.com/</code>.</p>
+
+  <p>This section only covers the most basic features associated with
+  node identifiers in JSON-LD. More advanced features related to
+  node identifiers are covered in section <a href="#advanced-concepts" class="sec-ref"><span class="secno">6.</span> <span class="sec-title">Advanced Concepts</span></a>.
+  </p>
+
+</section>
+
+<section class="informative" id="specifying-the-type">
+<h3 aria-level="2" role="heading" id="h3_specifying-the-type"><span class="secno">5.4 </span>Specifying the Type</h3><p><em>This section is non-normative.</em></p>
+
+<p>The type of a particular node can be specified using the <code>@type</code>
+  <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. In Linked Data, types are uniquely
+  identified with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+<div class="example"><div class="example-title"><span>Example 12</span>: Specifying the type for a node</div><pre class="example">{
+...
+  "@id": "http://example.org/places#BrewEats",
+  "<span class="highlight">@type</span>": "<span class="highlight">http://schema.org/Restaurant</span>",
+...
+}</pre></div>
+
+<p>A node can be assigned more than one type by using an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 13</span>: Specifying multiple types for a node</div><pre class="example">{
+...
+  "@id": "http://example.org/places#BrewEats",
+  "<span class="highlight">@type</span>": <span class="highlight">[ "http://schema.org/Restaurant", "http://schema.org/Brewery" ],</span>
+...
+}</pre></div>
+
+<p>The value of an <code>@type</code> key may also be a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> defined in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>:</p>
+<div class="example"><div class="example-title"><span>Example 14</span>: Using a term to specify the type</div><pre class="example">{
+  "@context": {
+    ...
+    <span class="highlight">"Restaurant": "http://schema.org/Restaurant", </span>
+    <span class="highlight">"Brewery": "http://schema.org/Brewery"</span>
+  }
+  "@id": "http://example.org/places#BrewEats",
+  <span class="highlight">"@type": [ "Restaurant", "Brewery" ]</span>,
+  ...
+}</pre></div>
+
+<div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_1"><span>Note</span></div><p class="">This section only covers the most basic features associated with
+  types in JSON-LD. It is worth noting that the <code>@type</code>
+  <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> is not only used to specify the type of a
+  <a class="tref internalDFN" title="node" href="#dfn-node">node</a> but also to express <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a>
+  (as described in <a class="sectionRef sec-ref" href="#typed-values">section 6.4 Typed Values</a>) and to
+  <a class="tref internalDFN" title="coercion" href="#dfn-coercion">type coerce</a> values (as described in
+  <a class="sectionRef sec-ref" href="#type-coercion">section 6.5 Type Coercion</a>). Specifically, <code>@type</code>
+  cannot be used in a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> to define a <a class="tref internalDFN" title="node" href="#dfn-node">node's</a>
+  type. For a detailed description of the differences, please refer to
+  <a class="sectionRef sec-ref" href="#typed-values">section 6.4 Typed Values</a>.</p></div>
+
+</section>
+</section>
+
+<section class="normative" id="advanced-concepts">
+<!--OddPage--><h2 aria-level="1" role="heading" id="h2_advanced-concepts"><span class="secno">6. </span>Advanced Concepts</h2>
+
+<p>JSON-LD has a number of features that provide functionality above and beyond
+  the core functionality described above. The following section describes this
+  advanced functionality in more detail.</p>
+
+<section class="informative" id="base-iri">
+  <h3 aria-level="2" role="heading" id="h3_base-iri"><span class="secno">6.1 </span>Base <abbr title="Internationalized Resource Identifier">IRI</abbr></h3><p><em>This section is non-normative.</em></p>
+
+  <p>JSON-LD allows <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>s to be specified in a relative form which is
+    resolved against the document base according
+    <cite><a href="http://tools.ietf.org/html/rfc3986#section-5.1">section 5.1 Establishing a Base URI</a></cite>
+    of [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>]. The base <abbr title="Internationalized Resource Identifier">IRI</abbr> may be explicitly set with a <a class="tref internalDFN" title="context" href="#dfn-context">context</a>
+    using the <code>@base</code> keyword.</p>
+
+  <p>For example, if a JSON-LD document was retrieved from <code>http://example.com/document.jsonld</code>,
+    relative IRIs would resolve against that <abbr title="Internationalized Resource Identifier">IRI</abbr>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 15</span>: Use a relative IRI as node identifier</div><pre class="example">{
+  "@context": {
+    "label": "http://www.w3.org/2000/01/rdf-schema#label"
+  },
+  <span class="highlight">"@id": ""</span>,
+  "label": "Just a simple document"
+}</pre></div>
+
+  <p>This document uses an empty <code>@id</code>, which resolves to the document base.
+    However, if the document is moved to a different location, the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> would change.
+    To prevent this without having to use an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="context" href="#dfn-context">context</a>
+    may define an <code>@base</code> mapping, to overwrite the base <abbr title="Internationalized Resource Identifier">IRI</abbr> for the document.</p>
+
+  <div class="example"><div class="example-title"><span>Example 16</span>: Setting the document base in a document</div><pre class="example">{
+  "@context": {
+    <span class="highlight">"@base": "http://example.com/document.jsonld"</span>
+  },
+  "@id": "",
+  "label": "Just a simple document"
+}</pre></div>
+
+  <p>Setting <code>@base</code> to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> will prevent
+    <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative IRIs</a> to be expanded to
+    <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>.</p>
+
+  <p>Please note that the <code>@base</code> will be ignored if used in
+    external contexts.</p>
+</section>
+
+<section class="informative" id="default-vocabulary">
+  <h3 aria-level="2" role="heading" id="h3_default-vocabulary"><span class="secno">6.2 </span>Default Vocabulary</h3><p><em>This section is non-normative.</em></p>
+
+  <p>At times, all properties and types may come from the same vocabulary. JSON-LD's
+    <code>@vocab</code> keyword allows an author to set a common prefix to be used
+    for all properties and types that do not match a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> and are neither
+    a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> nor an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> (i.e., they do
+    not contain a colon).</p>
+
+  <div class="example"><div class="example-title"><span>Example 17</span>: Using a common vocabulary prefix</div><pre class="example">{
+  "@context": {
+    <span class="highlight">"@vocab": "http://schema.org/"</span>
+  }
+  "@id": "http://example.org/places#BrewEats",
+  "@type": <span class="highlight">"Restaurant"</span>,
+  <span class="highlight">"name"</span>: "Brew Eats"
+  ...
+}</pre></div>
+
+  <p>If <code>@vocab</code> is used but certain keys in an
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">object</a> should not be expanded using
+    the vocabulary <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> can be explicitly set
+    to <a class="tref internalDFN" title="null" href="#dfn-null">null</a> in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. For instance, in the
+    example below the <code>databaseId</code> member would not expand to an
+    <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+  <div class="example"><div class="example-title"><span>Example 18</span>: Using the null keyword to ignore data</div><pre class="example">{
+  "@context":
+  {
+     "@vocab": "http://schema.org/",
+     <span class="highlight">"databaseId": null</span>
+  },
+    "@id": "http://example.org/places#BrewEats",
+    "@type": "Restaurant",
+    "name": "Brew Eats",
+    <span class="highlight">"databaseId"</span>: "23987520"
+}</pre></div>
+</section>
+
+<section class="informative" id="compact-iris">
+  <h3 aria-level="2" role="heading" id="h3_compact-iris"><span class="secno">6.3 </span>Compact IRIs</h3><p><em>This section is non-normative.</em></p>
+
+  <p>A <dfn title="compact-iri" id="dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></dfn> is a way of expressing an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+    using a <em>prefix</em> and <em>suffix</em> separated by a colon (<code>:</code>).
+    The <dfn title="prefix" id="dfn-prefix">prefix</dfn> is a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> taken from the
+    <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and is a short string identifying a
+    particular <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> in a JSON-LD document. For example, the
+    prefix <code>foaf</code> may be used as a short hand for the
+    Friend-of-a-Friend vocabulary, which is identified using the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+    <code>http://xmlns.com/foaf/0.1/</code>. A developer may append
+    any of the FOAF vocabulary terms to the end of the prefix to specify a short-hand
+    version of the <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> for the vocabulary term. For example,
+    <code>foaf:name</code> would be expanded to the <abbr title="Internationalized Resource Identifier">IRI</abbr>
+    <code>http://xmlns.com/foaf/0.1/name</code>.</p>
+
+  <div class="example"><div class="example-title"><span>Example 19</span>: Prefix expansion</div><pre class="example">{
+  "<span class="highlight">@context</span>":
+  {
+    "<span class="highlight">foaf</span>": "<span class="highlight">http://xmlns.com/foaf/0.1/</span>"
+...
+  },
+  "@type": "<span class="highlight">foaf:Person</span>"
+  "<span class="highlight">foaf:name</span>": "Dave Longley",
+...
+}</pre></div>
+
+  <p>In the example above, <code>foaf:name</code> expands to the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+    <code>http://xmlns.com/foaf/0.1/name</code> and <code>foaf:Person</code> expands
+    to <code>http://xmlns.com/foaf/0.1/Person</code>.</p>
+
+  <p><a class="tref internalDFN" title="prefix" href="#dfn-prefix">Prefixes</a> are expanded when the form of the value
+    is a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> represented as a <code>prefix:suffix</code>
+    combination, the <em>prefix</em> matches a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> defined within the
+    <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, and the <em>suffix</em> does not begin with two
+    slashes&nbsp;(<code>//</code>). The <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> is expanded by
+    concatenating the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> mapped to the <em>prefix</em> to the (possibly empty)
+    <em>suffix</em>. If the <em>prefix</em> is not defined in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>,
+    or the suffix begins with two slashes (such as in <code>http://example.com</code>),
+    the value is interpreted as <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> instead. If the prefix is an
+    underscore (<code>_</code>), the value is interpreted as <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>
+    instead.</p>
+
+
+  <p>It's also possible to use compact IRIs within the context as shown in the
+    following example:</p>
+
+  <div class="example"><div class="example-title"><span>Example 20</span>: Using vocabularies</div><pre class="example">{
+  "@context":
+  {
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    <span class="highlight">"foaf:homepage"</span>: { "@type": "@id" },
+    "picture": { "@id": <span class="highlight">"foaf:depiction"</span>, "@type": "@id" }
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "@type": "foaf:Person",
+  "foaf:name": "Markus Lanthaler",
+  "foaf:homepage": "http://www.markus-lanthaler.com/",
+  "picture": "http://twitter.com/account/profile_image/markuslanthaler"
+}</pre></div>
+</section>
+
+<section class="informative" id="typed-values">
+<h3 aria-level="2" role="heading" id="h3_typed-values"><span class="secno">6.4 </span>Typed Values</h3><p><em>This section is non-normative.</em></p>
+
+<p>
+  A value with an associated type, also known as a
+  <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a>, is indicated by associating a value with
+  an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> which indicates the value's type. Typed values may be
+  expressed in JSON-LD in three ways:
+</p>
+
+<ol>
+  <li>By utilizing the <code>@type</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> when defining
+    a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> within an <code>@context</code> section.</li>
+  <li>By utilizing a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>.</li>
+  <li>By using a native JSON type such as <a class="tref internalDFN" title="number" href="#dfn-number">number</a>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a>, or <a class="tref internalDFN" title="false" href="#dfn-false">false</a>.</li>
+</ol>
+
+<p>The first example uses the <code>@type</code> keyword to associate a
+type with a particular <a class="tref internalDFN" title="term" href="#dfn-term">term</a> in the <code>@context</code>:</p>
+
+<div class="example"><div class="example-title"><span>Example 21</span>: Expanded term definition with type coercion</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    "modified":
+    {
+      "@id": "http://purl.org/dc/terms/modified",
+      "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+    }
+  },</span>
+...
+  "@id": "http://example.com/docs/1",
+  "modified": "2010-05-29T14:17:39+02:00",
+...
+}</pre></div>
+
+<p>The <em>modified</em> key's value above is automatically type coerced to a
+  <em>dateTime</em> value because of the information specified in the
+  <code>@context</code>. A JSON-LD processor will interpret the example above
+  as follows:</p>
+
+<table class="example">
+<thead>
+  <tr><th>Subject</th>
+  <th>Property</th>
+  <th>Value</th>
+  <th>Value Type</th>
+</tr></thead>
+<tbody>
+<tr>
+  <td>http://example.com/docs/1</td>
+  <td>http://purl.org/dc/terms/modified</td>
+  <td>2010-05-29T14:17:39+02:00</td>
+  <td>http://www.w3.org/2001/XMLSchema#dateTime</td>
+</tr>
+</tbody>
+</table>
+
+<p>The second example uses the expanded form of setting the type information
+in the body of a JSON-LD document:</p>
+
+<div class="example"><div class="example-title"><span>Example 22</span>: Expanded value with type</div><pre class="example">{
+  "@context":
+  {
+    "modified":
+    {
+      "@id": "http://purl.org/dc/terms/modified"
+    }
+  },
+...
+  "modified":
+  <span class="highlight">{
+    "@value": "2010-05-29T14:17:39+02:00",
+    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+  }</span>
+...
+}</pre></div>
+
+<p>Both examples above would generate the value
+  <code>2010-05-29T14:17:39+02:00</code> with the type
+  <code>http://www.w3.org/2001/XMLSchema#dateTime</code>. Note that it is
+  also possible to use a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> or a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> to
+  express the value of a type.</p>
+
+<div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_2"><span>Note</span></div><p class="">The <code>@type</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> is also used to associate a type
+  with a <a class="tref internalDFN" title="node" href="#dfn-node">node</a>. The concept of a <a class="tref internalDFN" title="node-type" href="#dfn-node-type">node type</a> and
+  a <a class="tref internalDFN" title="value-type" href="#dfn-value-type">value type</a> are different.</p></div>
+
+<p>A <dfn title="node-type" id="dfn-node-type">node type</dfn> specifies the type of thing
+  that is being described, like a person, place, event, or web page. A
+  <dfn title="value-type" id="dfn-value-type">value type</dfn> specifies the data type of a particular value, such
+  as an integer, a floating point number, or a date.</p>
+
+<div class="example"><div class="example-title"><span>Example 23</span>: Example demonstrating the context-sensitivity for @type</div><pre class="example">{
+...
+  "@id": "http://example.org/posts#TripToWestVirginia",
+  <span class="highlight">"@type": "http://schema.org/BlogPosting"</span>,  <span class="comment">← This is a node type</span>
+  "modified":
+  {
+    "@value": "2010-05-29T14:17:39+02:00",
+    <span class="highlight">"@type": "http://www.w3.org/2001/XMLSchema#dateTime"</span>  <span class="comment">← This is a value type</span>
+  }
+...
+}</pre></div>
+
+<p>The first use of <code>@type</code> associates a <a class="tref internalDFN" title="node-type" href="#dfn-node-type">node type</a>
+  (<code>http://schema.org/BlogPosting</code>) with the <a class="tref internalDFN" title="node" href="#dfn-node">node</a>,
+  which is expressed using the <code>@id</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>.
+  The second use of <code>@type</code> associates a <a class="tref internalDFN" title="value-type" href="#dfn-value-type">value type</a>
+  (<code>http://www.w3.org/2001/XMLSchema#dateTime</code>) with the
+  value expressed using the <code>@value</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. As a
+  general rule, when <code>@value</code> and <code>@type</code> are used in
+  the same <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>, the <code>@type</code>
+  <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> is expressing a <a class="tref internalDFN" title="value-type" href="#dfn-value-type">value type</a>.
+  Otherwise, the <code>@type</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> is expressing a
+  <a class="tref internalDFN" title="node-type" href="#dfn-node-type">node type</a>. The example above expresses the following data:</p>
+
+<table class="example">
+<thead>
+  <tr><th>Subject</th>
+  <th>Property</th>
+  <th>Value</th>
+  <th>Value Type</th>
+</tr></thead>
+<tbody>
+<tr>
+  <td>http://example.org/posts#TripToWestVirginia</td>
+  <td>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</td>
+  <td>http://schema.org/BlogPosting</td>
+  <td style="text-align:center;">-</td>
+</tr>
+<tr>
+  <td>http://example.org/posts#TripToWestVirginia</td>
+  <td>http://purl.org/dc/terms/modified</td>
+  <td>2010-05-29T14:17:39+02:00</td>
+  <td>http://www.w3.org/2001/XMLSchema#dateTime</td>
+</tr>
+</tbody>
+</table>
+
+</section>
+
+<section class="informative" id="type-coercion">
+<h3 aria-level="2" role="heading" id="h3_type-coercion"><span class="secno">6.5 </span>Type Coercion</h3><p><em>This section is non-normative.</em></p>
+
+<p>JSON-LD supports the coercion of values to particular data types.
+Type <dfn title="coercion" id="dfn-coercion">coercion</dfn> allows someone deploying JSON-LD to coerce the incoming or
+outgoing values to the proper data type based on a mapping of data type <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> to
+<a class="tref internalDFN" title="term" href="#dfn-term">terms</a>. Using type coercion, value representation is preserved without requiring
+the data type to be specified with each piece of data.</p>
+
+<p>Type coercion is specified within an <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a>
+  using the <code>@type</code> key. The value of this key expands to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+  Alternatively, the <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <code>@id</code> or <code>@vocab</code> may be used
+  as value to indicate that within the body of a JSON-LD document, a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> value of a
+  <a class="tref internalDFN" title="term" href="#dfn-term">term</a> coerced to <code>@id</code> or <code>@vocab</code> is to be interpreted as an
+  <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. The difference between <code>@id</code> and <code>@vocab</code> is how values are expanded
+  to <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>. <code>@vocab</code> first tries to expand the value
+  by interpreting it as <a class="tref internalDFN" title="term" href="#dfn-term">term</a>. If no matching <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is found in the
+  <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, it tries to expand it as <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+  if there's a colon in the value; otherwise, it will expand the value using the
+  <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context's</a> vocabulary mapping, if present, or by interpreting it
+  as <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Values coerced to <code>@id</code> in contrast are expanded as
+  <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> if a colon is present; otherwise, they are interpreted
+  as <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+<p><a class="tref internalDFN" title="term" href="#dfn-term">Terms</a> or <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a> used as the value of a
+  <code>@type</code> key may be defined within the same context. This means that one may specify a
+  <a class="tref internalDFN" title="term" href="#dfn-term">term</a> like <code>xsd</code> and then use <code>xsd:integer</code> within the same
+  context definition.</p>
+
+<p>The example below demonstrates how a JSON-LD author can coerce values to
+<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a> and <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>.</p>
+
+<div class="example"><div class="example-title"><span>Example 24</span>: Expanded term definition with types</div><pre class="example">{
+  "@context":
+  {
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "age":
+    <span class="highlight">{
+      "@id": "http://xmlns.com/foaf/0.1/age",
+      "@type": "xsd:integer"
+    }</span>,
+    "homepage":
+    <span class="highlight">{
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }</span>
+  },
+  "@id": "http://example.com/people#john",
+  "name": "John Smith",
+  "age": <span class="highlight">"41"</span>,
+  "homepage":
+  <span class="highlight">[
+    "http://personal.example.org/",
+    "http://work.example.com/jsmith/"
+  ]</span>
+}</pre></div>
+
+<p>The example shown above would generate the following data.</p>
+
+<table class="example">
+<thead>
+  <tr><th>Subject</th>
+  <th>Property</th>
+  <th>Value</th>
+  <th>Value Type</th>
+</tr></thead>
+<tbody>
+<tr>
+  <td>http://example.com/people#john</td>
+  <td>http://xmlns.com/foaf/0.1/name</td>
+  <td>John Smith</td>
+  <td>&nbsp;</td>
+</tr>
+<tr>
+  <td>http://example.com/people#john</td>
+  <td>http://xmlns.com/foaf/0.1/age</td>
+  <td>41</td>
+  <td>http://www.w3.org/2001/XMLSchema#integer</td>
+</tr>
+<tr>
+  <td rowspan="2">http://example.com/people#john</td>
+  <td rowspan="2">http://xmlns.com/foaf/0.1/homepage</td>
+  <td>http://personal.example.org/</td>
+  <td><a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a></td>
+</tr>
+<tr>
+  <td>http://work.example.com/jsmith/</td>
+  <td><a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a></td>
+</tr>
+</tbody>
+</table>
+
+<p>Terms may also be defined using <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>
+  or <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>. This allows coercion rules
+  to be applied to keys which are not represented as a simple <a class="tref internalDFN" title="term" href="#dfn-term">term</a>.
+  For example:</p>
+
+<div class="example"><div class="example-title"><span>Example 25</span>: Term definitions using compact and absolute IRIs</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/",
+    "<span class="highlight">foaf:age</span>":
+    {
+      <span class="highlight">"@id": "http://xmlns.com/foaf/0.1/age"</span>,
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+    {
+      "@type": "@id"
+    }
+  },
+  "foaf:name": "John Smith",
+  "<span class="highlight">foaf:age</span>": "41",
+  "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+  [
+    "http://personal.example.org/",
+    "http://work.example.com/jsmith/"
+  ]
+}</pre></div>
+
+<p>In this case the <code>@id</code> definition in the term definition is optional.
+  If it does exist, the <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> representing
+  the term will always be expanded to <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> defined by the <code>@id</code>
+  key—regardless of whether a prefix is defined or not.</p>
+
+<p>Type coercion is always performed using the unexpanded value of the key. In the
+  example above, that means that type coercion is done looking for <code>foaf:age</code>
+  in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> and not for the corresponding, expanded
+  <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> <code>http://xmlns.com/foaf/0.1/age</code>.</p>
+
+<div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_3"><span>Note</span></div><p class="">Keys in the context are treated as <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> for the purpose of
+  expansion and value coercion. At times, this may result in multiple representations for the same expanded <abbr title="Internationalized Resource Identifier">IRI</abbr>.
+  For example, one could specify that <code>dog</code> and <code>cat</code> both expanded to <code>http://example.com/vocab#animal</code>.
+  Doing this could be useful for establishing different type coercion or language specification rules. It also allows a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> (or even an
+  absolute <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>) to be defined as something else entirely. For example, one could specify that
+  the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> <code>http://example.org/zoo</code> should expand to
+  <code>http://example.org/river</code>, but this usage is discouraged because it would lead to a
+  great deal of confusion among developers attempting to understand the JSON-LD document.</p></div>
+
+
+</section>
+
+<section class="informative" id="embedding">
+  <h3 aria-level="2" role="heading" id="h3_embedding"><span class="secno">6.6 </span>Embedding</h3><p><em>This section is non-normative.</em></p>
+
+  <p><dfn title="embedding" id="dfn-embedding">Embedding</dfn> is a JSON-LD feature that allows an author to
+    use <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> as
+    <a class="tref internalDFN" title="property" href="#dfn-property">property</a> values. This is a commonly used mechanism for
+    creating a parent-child relationship between two <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>.</p>
+
+  <p>The example shows two nodes related by a property from the first node:</p>
+
+  <div class="example"><div class="example-title"><span>Example 26</span>: Embedding a node object as property value of another node object</div><pre class="example">{
+...
+  "name": "Manu Sporny",
+  "<span class="highlight">knows</span>":
+  {
+    "<span class="highlight">@type</span>": "<span class="highlight">Person</span>",
+    "<span class="highlight">name</span>": "<span class="highlight">Gregg Kellogg</span>",
+  }
+...
+}</pre></div>
+
+  <p>
+    A <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>, like the one used above, may be used in
+    any value position in the body of a JSON-LD document.</p>
+</section>
+
+<section class="informative" id="advanced-context-usage">
+  <h3 aria-level="2" role="heading" id="h3_advanced-context-usage"><span class="secno">6.7 </span>Advanced Context Usage</h3><p><em>This section is non-normative.</em></p>
+
+  <p>Section <a href="#the-context" class="sec-ref"><span class="secno">5.1</span> <span class="sec-title">The Context</span></a> introduced the basics of what makes
+  JSON-LD work. This section expands on the basic principles of the
+  <a class="tref internalDFN" title="context" href="#dfn-context">context</a> and demonstrates how more advanced use cases can
+  be achieved using JSON-LD. </p>
+
+  <p>In general, contexts may be used at any time a
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is defined. The only time that one cannot
+    express a context is inside a context definition itself. For example, a
+    <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> may use more than one context at different
+    points in a document:</p>
+
+  <div class="example"><div class="example-title"><span>Example 27</span>: Using multiple contexts</div><pre class="example">[
+  {
+    <span class="highlight">"@context": "http://example.org/contexts/person.jsonld",</span>
+    "name": "Manu Sporny",
+    "homepage": "http://manu.sporny.org/",
+    "depiction": "http://twitter.com/account/profile_image/manusporny"
+  },
+  {
+    <span class="highlight">"@context": "http://example.org/contexts/place.jsonld",</span>
+    "name": "The Empire State Building",
+    "description": "The Empire State Building is a 102-story landmark in New York City.",
+    "geo": {
+      "latitude": "40.75",
+      "longitude": "73.98"
+    }
+  }
+]</pre></div>
+
+  <p>Duplicate context <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> are overridden using a
+    most-recently-defined-wins mechanism.</p>
+
+  <div class="example"><div class="example-title"><span>Example 28</span>: Scoped contexts within node objects</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    "name": "http://example.com/person#name,
+    "details": "http://example.com/person#details"
+  }"</span>,
+  "<span class="highlight">name</span>": "Markus Lanthaler",
+  ...
+  "details":
+  {
+    <span class="highlight">"@context":
+    {
+      "name": "http://example.com/organization#name"
+    }</span>,
+    "<span class="highlight">name</span>": "Graz University of Technology"
+  }
+}</pre></div>
+
+  <p>In the example above, the <code>name</code> <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is overridden
+    in the more deeply nested <code>details</code> structure. Note that this is
+    rarely a good authoring practice and is typically used when working with
+    legacy applications that depend on a specific structure of the
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. If a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is redefined within a
+    context, all previous rules associated with the previous definition are
+    removed. If a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is redefined to <code>null</code>,
+    the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is effectively removed from the list of
+    <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> defined in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>.</p>
+
+  <p>Multiple contexts may be combined using an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>, which is processed
+    in order. The set of contexts defined within a specific <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> are
+    referred to as <dfn title="local-context" id="dfn-local-context">local contexts</dfn>. The
+    <dfn title="active-context" id="dfn-active-context">active context</dfn> refers to the accumulation of
+    <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local contexts</a> that are in scope at a
+    specific point within the document. Setting a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a>
+    to <code>null</code> effectively resets the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>
+    to an empty context. The following example specifies an external context
+    and then layers an embedded context on top of the external context:</p>
+
+  <div class="example"><div class="example-title"><span>Example 29</span>: Combining external and local contexts</div><pre class="example">{
+  <span class="highlight">"@context": [
+    "http://json-ld.org/contexts/person.jsonld",
+    {
+      "pic": "http://xmlns.com/foaf/0.1/depiction"
+    }
+  ],</span>
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/",
+  <span class="highlight">"pic": "http://twitter.com/account/profile_image/manusporny"</span>
+}</pre></div>
+
+  <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_4"><span>Note</span></div><p class="">When possible, the <a class="tref internalDFN" title="context" href="#dfn-context">context</a> definition should be put
+    at the top of a JSON-LD document. This makes the document easier to read and
+    might make streaming parsers more efficient. Documents that do not have the
+    <a class="tref internalDFN" title="context" href="#dfn-context">context</a> at the top are still conformant JSON-LD.</p></div>
+
+  <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_5"><span>Note</span></div><p class="">To avoid forward-compatibility issues, <a class="tref internalDFN" title="term" href="#dfn-term">terms</a>
+    starting with an&nbsp;<code>@</code> character are to be avoided as they
+    might be used as <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> in future versions
+    of JSON-LD. Terms starting with an&nbsp;<code>@</code> character that are not
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">JSON-LD 1.0 keywords</a> are treated as any other term, i.e.,
+    they are ignored unless mapped to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. Furthermore, the use of
+    empty <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> (<code>""</code>) is not allowed as
+    not all programming languages are able to handle empty JSON keys.</p></div>
+</section>
+
+<section class="normative" id="interpreting-json-as-json-ld">
+  <h3 aria-level="2" role="heading" id="h3_interpreting-json-as-json-ld"><span class="secno">6.8 </span>Interpreting JSON as JSON-LD</h3>
+
+  <p>Ordinary JSON documents can be interpreted as JSON-LD by referencing a JSON-LD
+    <a class="tref internalDFN" title="context" href="#dfn-context">context</a> document in an HTTP Link Header. Doing so allows JSON to
+    be unambiguously machine-readable without requiring developers to drastically
+    change their documents and provides an upgrade path for existing infrastructure
+    without breaking existing clients that rely on the <code>application/json</code>
+    media type or a media type with a <code>+json</code> suffix as defined in
+    [<cite><a class="bibref" href="#bib-RFC6839">RFC6839</a></cite>].</p>
+
+  <p>In order to use an external context with an ordinary JSON document, an author
+    <em class="rfc2119" title="MUST">MUST</em> specify an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> to a valid <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> in
+    an HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>] using the <code>http://www.w3.org/ns/json-ld#context</code>
+    link relation. The referenced document <em class="rfc2119" title="MUST">MUST</em> have a top-level <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>.
+    The <code>@context</code> subtree within that object is added to the top-level
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> of the referencing document. If an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+    is at the top-level of the referencing document and its items are
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON objects</a>, the <code>@context</code>
+    subtree is added to all <a class="tref internalDFN" title="array" href="#dfn-array">array</a> items. All extra information located outside
+    of the <code>@context</code> subtree in the referenced document <em class="rfc2119" title="MUST">MUST</em> be
+    discarded. Effectively this means that the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> is
+    initialized with the referenced external <a class="tref internalDFN" title="context" href="#dfn-context">context</a>. A response <em class="rfc2119" title="MUST NOT">MUST NOT</em>
+    contain more than one HTTP Link Header [<cite><a class="bibref" href="#bib-RFC5988">RFC5988</a></cite>] using the
+    <code>http://www.w3.org/ns/json-ld#context</code> link relation.</p>
+
+  <p>The following example demonstrates the use of an external context with an
+    ordinary JSON document:</p>
+
+  <div class="example"><div class="example-title"><span>Example 30</span>: Referencing a JSON-LD context from a JSON document via an HTTP Link Header</div><pre class="example">GET /ordinary-json-document.json HTTP/1.1
+Host: example.com
+Accept: application/ld+json,application/json,*/*;q=0.1
+
+====================================
+
+HTTP/1.1 200 OK
+...
+Content-Type: <span class="highlight">application/json</span>
+<span class="highlight">Link: &lt;http://json-ld.org/contexts/person.jsonld&gt;; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"</span>
+
+{
+  "name": "Markus Lanthaler",
+  "homepage": "http://www.markus-lanthaler.com/",
+  "image": "http://twitter.com/account/profile_image/markuslanthaler"
+}</pre></div>
+
+  <p>Please note that <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD documents</a>
+    served with the <code>application/ld+json</code>
+    media type <em class="rfc2119" title="MUST">MUST</em> have all context information, including references to external
+    contexts, within the body of the document. Contexts linked via a
+    <code>http://www.w3.org/ns/json-ld#context</code> HTTP Link Header <em class="rfc2119" title="MUST">MUST</em> be
+    ignored for such documents.</p>
+</section>
+
+<section class="informative" id="string-internationalization">
+  <h3 aria-level="2" role="heading" id="h3_string-internationalization"><span class="secno">6.9 </span>String Internationalization</h3><p><em>This section is non-normative.</em></p>
+
+  <p>At times, it is important to annotate a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>
+    with its language. In JSON-LD this is possible in a variety of ways.
+    First, it is possible to define a default language for a JSON-LD document
+    by setting the <code>@language</code> key in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 31</span>: Setting the default language of a JSON-LD document</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    ...
+    "@language": "ja"
+  }</span>,
+  "name": <span class="highlight">"花澄"</span>,
+  "occupation": <span class="highlight">"科学者"</span>
+}</pre></div>
+
+  <p>The example above would associate the <code>ja</code> language
+    code with the two <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> <em>花澄</em> and <em>科学者</em>.
+    Languages codes are defined in [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>]. The default language applies to all
+    <a class="tref internalDFN" title="string" href="#dfn-string">string</a> values that are not <a href="#type-coercion">type coerced</a>.</p>
+
+  <p>To clear the default language for a subtree, <code>@language</code> can
+    be set to <code>null</code> in a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> as follows:</p>
+
+  <div class="example"><div class="example-title"><span>Example 32</span>: Clearing default language</div><pre class="example">{
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": "花澄",
+  "details": {
+<span class="highlight">    "@context": {
+      "@language": null
+    }</span>,
+    "occupation": "Ninja"
+  }
+}</pre></div>
+
+  <p>Second, it is possible to associate a language with a specific <a class="tref internalDFN" title="term" href="#dfn-term">term</a>
+    using an <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 33</span>: Expanded term definition with language</div><pre class="example">{
+  "@context": {
+    ...
+    "ex": "http://example.com/vocab/",
+    "@language": "ja",
+    "name": { "@id": "ex:name", <span class="highlight">"@language": null</span> },
+    "occupation": { "@id": "ex:occupation" },
+    "occupation_en": { "@id": "ex:occupation", <span class="highlight">"@language": "en"</span> },
+    "occupation_cs": { "@id": "ex:occupation", <span class="highlight">"@language": "cs"</span> }
+  },
+  <span class="highlight">"name": "Yagyū Muneyoshi",
+  "occupation": "忍者",
+  "occupation_en": "Ninja",
+  "occupation_cs": "Nindža",</span>
+  ...
+}</pre></div>
+
+  <p>The example above would associate <em>忍者</em> with the specified default
+    language code <code>ja</code>, <em>Ninja</em> with the language code
+    <code>en</code>, and <em>Nindža</em> with the language code <code>cs</code>.
+    The value of <code>name</code>, <em>Yagyū Muneyoshi</em> wouldn't be
+    associated with any language code since <code>@language</code> was reset to
+    <a class="tref internalDFN" title="null" href="#dfn-null">null</a> in the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a>.</p>
+
+  <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_6"><span>Note</span></div><p class="">Language associations are only applied to plain
+    <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>. <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">Typed values</a>
+    or values that are subject to <a href="#type-coercion">type coercion</a>
+    are not language tagged.</p></div>
+
+  <p>Just as in the example above, systems often need to express the value of a
+    property in multiple languages. Typically, such systems also try to ensure that
+    developers have a programmatically easy way to navigate the data structures for
+    the language-specific data. In this case, <a class="tref internalDFN" title="language-map" href="#dfn-language-map">language maps</a>
+    may be utilized.</p>
+
+  <div class="example"><div class="example-title"><span>Example 34</span>: Language map expressing a property in three languages</div><pre class="example">{
+  "@context":
+  {
+    ...
+    "occupation": { "@id": "ex:occupation", <span class="highlight">"@container": "@language"</span> }
+  },
+  "name": "Yagyū Muneyoshi",
+  "occupation":
+  <span class="highlight">{
+    "ja": "忍者",
+    "en": "Ninja",
+    "cs": "Nindža"
+  }</span>
+  ...
+}</pre></div>
+
+  <p>The example above expresses exactly the same information as the previous
+    example but consolidates all values in a single property. To access the
+    value in a specific language in a programming language supporting dot-notation
+    accessors for object properties, a developer may use the
+    <code>property.language</code> pattern. For example, to access the occupation
+    in English, a developer would use the following code snippet:
+    <code>obj.occupation.en</code>.</p>
+
+  <p>Third, it is possible to override the default language by using a
+    <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 35</span>: Overriding default language using an expanded value</div><pre class="example">{
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": "花澄",
+  "occupation": <span class="highlight">{
+    "@value": "Scientist",
+    "@language": "en"
+  }</span>
+}</pre></div>
+
+  <p>This makes it possible to specify a plain string by omitting the
+    <code>@language</code> tag or setting it to <code>null</code> when expressing
+    it using a <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 36</span>: Removing language information using an expanded value</div><pre class="example">{
+  "@context": {
+    ...
+    "@language": "ja"
+  },
+  "name": <span class="highlight">{
+    "@value": "Frank"
+  }</span>,
+  "occupation": {
+    "@value": "Ninja",
+    "@language": "en"
+  },
+  "speciality": "手裏剣"
+}</pre></div>
+
+</section>
+
+<section class="informative" id="iri-expansion-within-a-context">
+  <h3 aria-level="2" role="heading" id="h3_iri-expansion-within-a-context"><span class="secno">6.10 </span><abbr title="Internationalized Resource Identifier">IRI</abbr> Expansion within a Context</h3><p><em>This section is non-normative.</em></p>
+  <p>In general, normal <abbr title="Internationalized Resource Identifier">IRI</abbr> expansion rules apply
+    anywhere an <abbr title="Internationalized Resource Identifier">IRI</abbr> is expected (see <a class="sectionRef sec-ref" href="#iris">section 5.2 IRIs</a>). Within
+    a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> definition, this can mean that terms defined
+    within the context may also be used within that context as long as
+    there are no circular dependencies. For example, it is common to use
+    the <code>xsd</code> namespace when defining <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a>s:</p>
+
+<div class="example"><div class="example-title"><span>Example 37</span>: IRI expansion within a context</div><pre class="example">{
+  "@context":
+  {
+    <span class="highlight">"xsd": "http://www.w3.org/2001/XMLSchema#"</span>,
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "age":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/age",
+      "@type": <span class="highlight">"xsd:integer"</span>
+    },
+    "homepage":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  ...
+}</pre></div>
+
+<p>In this example, the <code>xsd</code> <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is defined
+  and used as a <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> for the <code>@type</code> coercion
+  of the <code>age</code> property.</p>
+
+<p><a class="tref internalDFN" title="term" href="#dfn-term">Terms</a> may also be used when defining the <abbr title="Internationalized Resource Identifier">IRI</abbr> of another
+<a class="tref internalDFN" title="term" href="#dfn-term">term</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 38</span>: Using a term to define the IRI of another term within a context</div><pre class="example">{
+  "@context":
+  {
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": <span class="highlight">"foaf:name"</span>,
+    "age":
+    {
+      "@id": <span class="highlight">"foaf:age"</span>,
+      "@type": "xsd:integer"
+    },
+    "homepage":
+    {
+      "@id": <span class="highlight">"foaf:homepage"</span>,
+      "@type": "@id"
+    }
+  },
+  ...
+}</pre></div>
+
+<p><a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">Compact IRIs</a>
+  and <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> may be used on the left-hand side of a
+  <a class="tref internalDFN" title="term" href="#dfn-term">term</a> definition.</p>
+
+<div class="example"><div class="example-title"><span>Example 39</span>: Using a compact IRI as a term</div><pre class="example">{
+  "@context":
+  {
+    <span class="highlight">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "foaf:name",
+    "<span class="highlight">foaf:age</span>":
+    {
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">foaf:homepage</span>":
+    <span class="highlight">{
+      "@type": "@id"
+    }</span>
+  },
+  ...
+}</pre></div>
+
+<p>
+In this example, the <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> form is used in two different
+ways.
+In the first approach, <code>foaf:age</code> declares both the
+<a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> for the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> (using short-form) as well as the
+<code>@type</code> associated with the <a class="tref internalDFN" title="term" href="#dfn-term">term</a>. In the second
+approach, only the <code>@type</code> associated with the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is
+specified. The full <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> for
+<code>foaf:homepage</code> is determined by looking up the <code>foaf</code>
+<a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> in the
+<a class="tref internalDFN" title="context" href="#dfn-context">context</a>.
+</p>
+
+<p>
+<a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">Absolute IRIs</a> may also be used in the key position in a <a class="tref internalDFN" title="context" href="#dfn-context">context</a>:
+</p>
+
+<div class="example"><div class="example-title"><span>Example 40</span>: Associating context definitions with absolute IRIs</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/",
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "name": "foaf:name",
+    "foaf:age":
+    {
+      "@id": "foaf:age",
+      "@type": "xsd:integer"
+    },
+    "<span class="highlight">http://xmlns.com/foaf/0.1/homepage</span>":
+    {
+      "@type": "@id"
+    }
+  },
+  ...
+}</pre></div>
+
+<p>In order for the <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> to match above, the <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+  needs to be used in the <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a>. Also note that <code>foaf:homepage</code>
+  will not use the <code>{ "@type": "@id" }</code> declaration because
+  <code>foaf:homepage</code> is not the same as <code>http://xmlns.com/foaf/0.1/homepage</code>.
+  That is, <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> are looked up in a <a class="tref internalDFN" title="context" href="#dfn-context">context</a> using
+  direct string comparison before the <a class="tref internalDFN" title="prefix" href="#dfn-prefix">prefix</a> lookup mechanism is applied.</p>
+
+<div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_7"><span>Note</span></div><p class="">While it is possible to define a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or
+  an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> to expand to some other unrelated <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+  (for example, <code>foaf:name</code> expanding to
+  <code>http://example.org/unrelated#species</code>), such usage is strongly
+  discouraged.</p></div>
+
+<p>The only exception for using terms in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is that
+  circular definitions are not allowed. That is,
+  a definition of <em>term1</em> cannot depend on the
+  definition of <em>term2</em> if <em>term2</em> also depends on
+  <em>term1</em>. For example, the following <a class="tref internalDFN" title="context" href="#dfn-context">context</a> definition
+  is illegal:</p>
+<div class="example"><div class="example-title"><span>Example 41</span>: Illegal circular definition of terms within a context</div><pre class="example">{
+  "@context":
+  {
+    <span class="highlight">"term1": "term2:foo",
+    "term2": "term1:bar"</span>
+  },
+  ...
+}</pre></div>
+</section>
+
+<section class="informative" id="sets-and-lists">
+<h3 aria-level="2" role="heading" id="h3_sets-and-lists"><span class="secno">6.11 </span>Sets and Lists</h3><p><em>This section is non-normative.</em></p>
+
+<p>A JSON-LD author can express multiple values in a compact way by using
+  <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a>. Since graphs do not describe ordering for links
+  between nodes, arrays in JSON-LD do not provide an ordering of the
+  contained elements by default. This is exactly the opposite from regular JSON
+  arrays, which are ordered by default. For example, consider the following
+  simple document:</p>
+
+<div class="example"><div class="example-title"><span>Example 42</span>: Multiple values with no inherent order</div><pre class="example">{
+...
+  "@id": "http://example.org/people#joebob",
+  "nick": <span class="highlight">[ "joe", "bob", "JB" ]</span>,
+...
+}</pre></div>
+
+<p>The example shown above would result in the following data being generated,
+  each relating the node to an individual value, with no inherent order:</p>
+
+<table class="example">
+<thead>
+  <tr><th>Subject</th>
+  <th>Property</th>
+  <th>Value</th>
+</tr></thead>
+<tbody>
+<tr>
+  <td>http://example.org/people#joebob</td>
+  <td>http://xmlns.com/foaf/0.1/nick</td>
+  <td>joe</td>
+</tr>
+<tr>
+  <td>http://example.org/people#joebob</td>
+  <td>http://xmlns.com/foaf/0.1/nick</td>
+  <td>bob</td>
+</tr>
+<tr>
+  <td>http://example.org/people#joebob</td>
+  <td>http://xmlns.com/foaf/0.1/nick</td>
+  <td>JB</td>
+</tr>
+</tbody>
+</table>
+
+<p>Multiple values may also be expressed using the expanded form:</p>
+
+<div class="example"><div class="example-title"><span>Example 43</span>: Using an expanded form to set multiple values</div><pre class="example">{
+  "@id": "http://example.org/articles/8",
+  "dc:title": <span class="highlight">
+  [
+    {
+      "@value": "Das Kapital",
+      "@language": "de"
+    },
+    {
+      "@value": "Capital",
+      "@language": "en"
+    }
+  ]</span>
+}</pre></div>
+
+<p>The example shown above would generate the following data, again with
+  no inherent order:</p>
+
+<table class="example">
+<thead>
+  <tr><th>Subject</th>
+  <th>Property</th>
+  <th>Value</th>
+  <th>Language</th>
+</tr></thead>
+<tbody>
+<tr>
+  <td>http://example.org/articles/8</td>
+  <td>http://purl.org/dc/terms/title</td>
+  <td>Das Kapital</td>
+  <td>de</td>
+</tr>
+<tr>
+  <td>http://example.org/articles/8</td>
+  <td>http://purl.org/dc/terms/title</td>
+  <td>Capital</td>
+  <td>en</td>
+</tr>
+</tbody>
+</table>
+
+<p>As the notion of ordered collections is rather important in data
+  modeling, it is useful to have specific language support. In JSON-LD,
+  a list may be represented using the <code>@list</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> as follows:</p>
+<div class="example"><div class="example-title"><span>Example 44</span>: An ordered collection of values in JSON-LD</div><pre class="example">{
+...
+  "@id": "http://example.org/people#joebob",
+  "foaf:nick":
+  <span class="highlight">{
+    "@list": [ "joe", "bob", "jaybee" ]
+  }</span>,
+...
+}</pre></div>
+
+<p>This describes the use of this <a class="tref internalDFN" title="array" href="#dfn-array">array</a> as being ordered,
+  and order is maintained when processing a document. If every use of a given multi-valued
+  property is a list, this may be abbreviated by setting <code>@container</code>
+  to <code>@list</code> in the <a class="tref internalDFN" title="context" href="#dfn-context">context</a>:</p>
+<div class="example"><div class="example-title"><span>Example 45</span>: Specifying that a collection is ordered in the context</div><pre class="example">{
+  <span class="highlight">"@context":
+  {
+    ...
+    "nick":
+    {
+      "@id": "http://xmlns.com/foaf/0.1/nick",
+      "@container": "@list"
+    }
+  }</span>,
+...
+  "@id": "http://example.org/people#joebob",
+  "nick": <span class="highlight">[ "joe", "bob", "jaybee" ]</span>,
+...
+}</pre></div>
+
+<div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_8"><span>Note</span></div><p class="">List of lists in the form of <a class="tref internalDFN" title="list-object" href="#dfn-list-object">list objects</a>
+  are not allowed in this version of JSON-LD. This decision was made due to the
+  extreme amount of added complexity when processing lists of lists.</p></div>
+
+<p>While <code>@list</code> is used to describe <em>ordered lists</em>,
+  the <code>@set</code> keyword is used to describe <em>unordered sets</em>.
+  The use of <code>@set</code> in the body of a JSON-LD document
+  is optimized away when processing the document, as it is just syntactic
+  sugar. However, <code>@set</code> is helpful when used within the context
+  of a document.
+  Values of terms associated with an <code>@set</code> or <code>@list</code> container
+  are always represented in the form of an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>,
+  even if there is just a single value that would otherwise be optimized to
+  a non-array form in compact form (see
+  <a class="sectionRef sec-ref" href="#compacted-document-form">section 6.18 Compacted Document Form</a>). This makes post-processing of
+  JSON-LD documents easier as the data is always in array form, even if the
+  array only contains a single value.</p>
+
+</section>
+
+<section class="informative" id="reverse-properties">
+  <h3 aria-level="2" role="heading" id="h3_reverse-properties"><span class="secno">6.12 </span>Reverse Properties</h3><p><em>This section is non-normative.</em></p>
+
+  <p>JSON-LD serializes directed <a class="tref internalDFN" title="graph" href="#dfn-graph">graphs</a>. That means that
+    every <a class="tref internalDFN" title="property" href="#dfn-property">property</a> points from a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> to another <a class="tref internalDFN" title="node" href="#dfn-node">node</a>
+    or <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">value</a>. However, in some cases, it is desirable
+    to serialize in the reverse direction. Consider for example the case where a person
+    and its children should be described in a document. If the used vocabulary does not
+    provide a <em>children</em> <a class="tref internalDFN" title="property" href="#dfn-property">property</a> but just a <em>parent</em>
+    <a class="tref internalDFN" title="property" href="#dfn-property">property</a>, every <a class="tref internalDFN" title="node" href="#dfn-node">node</a> representing a child would have to
+    be expressed with a <a class="tref internalDFN" title="property" href="#dfn-property">property</a> pointing to the parent as in the following
+    example.</p>
+
+  <div class="example"><div class="example-title"><span>Example 46</span>: A document with children linking to their parent</div><pre class="example">[
+  {
+    <span class="highlight">"@id": "#homer"</span>,
+    "http://example.com/vocab#name": "Homer"
+  },
+  {
+    "@id": "#bart",
+    "http://example.com/vocab#name": "Bart",
+    <span class="highlight">"http://example.com/vocab#parent": { "@id": "#homer" }</span>
+  },
+  {
+    "@id": "#lisa",
+    "http://example.com/vocab#name": "Lisa",
+    <span class="highlight">"http://example.com/vocab#parent": { "@id": "#homer" }</span>
+  }
+]</pre></div>
+
+  <p>Expressing such data is much simpler by using JSON-LD's <code>@reverse</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 47</span>: A person and its children using a reverse property</div><pre class="example">{
+  "@id": "#homer",
+  "http://example.com/vocab#name": "Homer",
+  <span class="highlight">"@reverse"</span>: {
+    <span class="highlight">"http://example.com/vocab#parent"</span>: [
+      {
+        "@id": "#bart",
+        "http://example.com/vocab#name": "Bart"
+      },
+      {
+        "@id": "#lisa",
+        "http://example.com/vocab#name": "Lisa"
+      }
+    ]
+  }
+}</pre></div>
+
+  <p>The <code>@reverse</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> can also be used in
+    <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definitions</a>
+    to create reverse properties as shown in the following example:</p>
+
+
+  <div class="example"><div class="example-title"><span>Example 48</span>: Using @reverse to define reverse properties</div><pre class="example">{
+  "@context": {
+    "name": "http://example.com/vocab#name",
+    <span class="highlight">"children": { "@reverse": "http://example.com/vocab#parent" }</span>
+  },
+  "@id": "#homer",
+  "name": "Homer",
+  <span class="highlight">"children"</span>: [
+    {
+      "@id": "#bart",
+      "name": "Bart"
+    },
+    {
+      "@id": "#lisa",
+      "name": "Lisa"
+    }
+  ]
+}</pre></div>
+</section>
+
+
+<section class="informative" id="named-graphs">
+  <h3 aria-level="2" role="heading" id="h3_named-graphs"><span class="secno">6.13 </span>Named Graphs</h3><p><em>This section is non-normative.</em></p>
+
+  <p>At times, it is necessary to make statements about a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>
+    itself, rather than just a single <a class="tref internalDFN" title="node" href="#dfn-node">node</a>. This can be done by
+    grouping a set of <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> using the <code>@graph</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. A developer may also name data expressed using the
+    <code>@graph</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> by pairing it with an
+    <code>@id</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> as shown in the following example:</p>
+
+  <div class="example"><div class="example-title"><span>Example 49</span>: Identifying and making statements about a graph</div><pre class="example">{
+  "@context": {
+    "generatedAt": {
+      "@id": "http://www.w3.org/ns/prov#generatedAtTime",
+      "@type": "http://www.w3.org/2001/XMLSchema#date"
+    },
+    "Person": "http://xmlns.com/foaf/0.1/Person",
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  <span class="highlight">"@id": "http://example.org/graphs/73",
+  "generatedAt": "2012-04-09",
+  "@graph":</span>
+  [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "@type": "Person",
+      "name": "Manu Sporny",
+      "knows": "http://greggkellogg.net/foaf#me"
+    },
+    {
+      "@id": "http://greggkellogg.net/foaf#me",
+      "@type": "Person",
+      "name": "Gregg Kellogg",
+      "knows": "http://manu.sporny.org/about#manu"
+    }
+  ]
+}</pre></div>
+
+  <p>The example above expresses a <a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">named graph</a> that is identified
+    by the <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> <code>http://example.org/graphs/73</code>. That
+    graph is composed of the statements about Manu and Gregg. Metadata about
+    the graph itself is expressed via the <code>generatedAt</code> property,
+    which specifies when the graph was generated. An alternative view of the
+    information above is represented in table form below:</p>
+
+  <table class="example">
+  <thead>
+    <tr><th>Graph</th>
+    <th>Subject</th>
+    <th>Property</th>
+    <th>Value</th>
+    <th>Value Type</th>
+  </tr></thead>
+  <tbody>
+  <tr>
+    <td>&nbsp;</td>
+    <td>http://example.org/graphs/73</td>
+    <td>http://www.w3.org/ns/prov#generatedAtTime</td>
+    <td>2012-04-09</td>
+    <td>http://www.w3.org/2001/XMLSchema#date</td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://manu.sporny.org/about#manu</td>
+    <td>http://www.w3.org/2001/XMLSchema#type</td>
+    <td>http://xmlns.com/foaf/0.1/Person</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://manu.sporny.org/about#manu</td>
+    <td>http://xmlns.com/foaf/0.1/name</td>
+    <td>Manu Sporny</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://manu.sporny.org/about#manu</td>
+    <td>http://xmlns.com/foaf/0.1/knows</td>
+    <td>http://greggkellogg.net/foaf#me</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://greggkellogg.net/foaf#me</td>
+    <td>http://www.w3.org/2001/XMLSchema#type</td>
+    <td>http://xmlns.com/foaf/0.1/Person</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://greggkellogg.net/foaf#me</td>
+    <td>http://xmlns.com/foaf/0.1/name</td>
+    <td>Gregg Kellogg</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>http://example.org/graphs/73</td>
+    <td>http://greggkellogg.net/foaf#me</td>
+    <td>http://xmlns.com/foaf/0.1/knows</td>
+    <td>http://manu.sporny.org/about#manu</td>
+    <td></td>
+  </tr>
+  </tbody>
+  </table>
+
+  <p>When a JSON-LD document's top-level structure is an
+    <a class="tref internalDFN" title="json-object" href="#dfn-json-object">object</a> that contains no other
+    <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> than <code>@graph</code> and
+    optionally <code>@context</code> (properties that are not mapped to an
+    <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> are ignored),
+    <code>@graph</code> is considered to express the otherwise implicit
+    <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a>. This mechanism can be useful when a number
+    of <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a> exist at the document's top level that
+    share the same <a class="tref internalDFN" title="context" href="#dfn-context">context</a>, which is, e.g., the case when a
+    document is <a href="#flattened-document-form">flattened</a>. The
+    <code>@graph</code> keyword collects such nodes in an <a class="tref internalDFN" title="array" href="#dfn-array">array</a>
+    and allows the use of a shared context.</p>
+
+  <div class="example"><div class="example-title"><span>Example 50</span>: Using @graph to explicitly express the default graph</div><pre class="example">{
+  "@context": ...,
+  "<span class="highlight">@graph</span>":
+  [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "@type": "foaf:Person",
+      "name": "Manu Sporny",
+      "knows": "http://greggkellogg.net/foaf#me"
+    },
+    {
+      "@id": "http://greggkellogg.net/foaf#me",
+      "@type": "foaf:Person",
+      "name": "Gregg Kellogg",
+      "knows": "http://manu.sporny.org/about#manu"
+    }
+  ]
+}</pre></div>
+
+  <p>In this case, embedding doesn't work as each <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>
+    references the other. This is equivalent to using multiple
+    <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> in array and defining
+    the <code>@context</code> within each <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>:</p>
+
+  <div class="example"><div class="example-title"><span>Example 51</span>: Context needs to be duplicated if @graph is not used</div><pre class="example">[
+  {
+    <span class="highlight">"@context": ...,</span>
+    "@id": "http://manu.sporny.org/about#manu",
+    "@type": "foaf:Person",
+    "name": "Manu Sporny",
+    "knows": "http://greggkellogg.net/foaf#me"
+  },
+  {
+    <span class="highlight">"@context": ...,</span>
+    "@id": "http://greggkellogg.net/foaf#me",
+    "@type": "foaf:Person",
+    "name": "Gregg Kellogg",
+    "knows": "http://manu.sporny.org/about#manu"
+  }
+]</pre></div>
+
+</section>
+
+<section class="informative" id="identifying-blank-nodes">
+  <h3 aria-level="2" role="heading" id="h3_identifying-blank-nodes"><span class="secno">6.14 </span>Identifying Blank Nodes</h3><p><em>This section is non-normative.</em></p>
+
+  <p>At times, it becomes necessary to be able to express information without
+    being able to uniquely identify the <a class="tref internalDFN" title="node" href="#dfn-node">node</a> with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.
+    This type of node is called a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>. JSON-LD does not require
+    all nodes to be identified using <code>@id</code>. However, some graph topologies
+    may require identifiers to be serializable. Graphs containing loops, e.g., cannot
+    be serialized using embedding alone, <code>@id</code> must be used to connect the nodes.
+    In these situations, one can use <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>,
+    which look like <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> using an underscore (<code>_</code>)
+    as scheme. This allows one to reference the node locally within the document, but
+    makes it impossible to reference the node from an external document. The
+    <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> is scoped  to the document in which it is used.</p>
+
+  <div class="example"><div class="example-title"><span>Example 52</span>: Specifying a local blank node identifier</div><pre class="example">{
+   ...
+   "@id": "<span class="highlight">_:n1</span>",
+   "name": "Secret Agent 1",
+   "knows":
+     {
+       "name": "Secret Agent 2",
+       "knows": { "@id": "<span class="highlight">_:n1</span>" }
+     }
+}</pre></div>
+
+  <p>The example above contains information about two secret agents that cannot be identified
+    with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>. While expressing that <em>agent&nbsp;1</em> knows <em>agent&nbsp;2</em>
+    is possible without using <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>,
+    it is necessary to assign <em>agent&nbsp;1</em> an identifier so that it can be referenced
+    from <em>agent&nbsp;2</em>.</p>
+  <p>It is worth nothing that blank node identifiers may be relabeled during processing.
+    If a developer finds that they refer to the <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> more than once,
+    they should consider naming the node using a dereferenceable <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> so that
+    it can also be referenced from other documents.</p>
+</section>
+
+<section class="informative" id="aliasing-keywords">
+  <h3 aria-level="2" role="heading" id="h3_aliasing-keywords"><span class="secno">6.15 </span>Aliasing Keywords</h3><p><em>This section is non-normative.</em></p>
+
+  <p>Each of the JSON-LD <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a>,
+    except for <code>@context</code>, may be aliased to application-specific
+    keywords. This feature allows legacy JSON content to be utilized
+    by JSON-LD by re-using JSON keys that already exist in legacy documents.
+    This feature also allows developers to design domain-specific implementations
+    using only the JSON-LD <a class="tref internalDFN" title="context" href="#dfn-context">context</a>.</p>
+
+  <div class="example"><div class="example-title"><span>Example 53</span>: Aliasing keywords</div><pre class="example">{
+  "@context":
+  {
+     <span class="highlight">"url": "@id"</span>,
+     <span class="highlight">"a": "@type"</span>,
+     "name": "http://xmlns.com/foaf/0.1/name"
+  },
+  "<span class="highlight">url</span>": "http://example.com/about#gregg",
+  "<span class="highlight">a</span>": "http://xmlns.com/foaf/0.1/Person",
+  "name": "Gregg Kellogg"
+}</pre></div>
+
+  <p>In the example above, the <code>@id</code> and <code>@type</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> have been given the aliases
+    <strong>url</strong> and <strong>a</strong>, respectively.</p>
+
+  <p>Since keywords cannot be redefined, they can also not be aliased to
+    other keywords.</p>
+</section>
+
+<section class="informative" id="data-indexing">
+  <h3 aria-level="2" role="heading" id="h3_data-indexing"><span class="secno">6.16 </span>Data Indexing</h3><p><em>This section is non-normative.</em></p>
+
+  <p>Databases are typically used to make access to
+    data more efficient. Developers often extend this sort of functionality into
+    their application data to deliver similar performance gains. Often this
+    data does not have any meaning from a Linked Data standpoint, but is
+    still useful for an application.</p>
+
+  <p>JSON-LD introduces the notion of <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index maps</a>
+    that can be used to structure data into a form that is
+    more efficient to access. The data indexing feature allows an author to
+    structure data using a simple key-value map where the keys do not map
+    to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>. This enables direct access to data
+    instead of having to scan an array in search of a specific item.
+    In JSON-LD such data can be specified by associating the
+    <code>@index</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> with a
+    <code>@container</code> declaration in the context:</p>
+
+  <div class="example"><div class="example-title"><span>Example 54</span>: Indexing data in JSON-LD</div><pre class="example">{
+  "@context":
+  {
+     "schema": "http://schema.org/",
+     "name": "schema:name",
+     "body": "schema:articleBody",
+     "words": "schema:wordCount",
+     "post": {
+       "@id": "schema:blogPost",
+       <span class="highlight">"@container": "@index"</span>
+     }
+  },
+  "@id": "http://example.com/",
+  "@type": "schema:Blog",
+  "name": "World Financial News",
+  <span class="highlight">"post": {
+     "en": {
+       "@id": "http://example.com/posts/1/en",
+       "body": "World commodities were up today with heavy trading of crude oil...",
+       "words": 1539
+     },
+     "de": {
+       "@id": "http://example.com/posts/1/de",
+       "body": "Die Werte an Warenbörsen stiegen im Sog eines starken Handels von Rohöl...",
+       "words": 1204
+     }</span>
+  }
+}</pre></div>
+
+  <p>In the example above, the <strong>post</strong> <a class="tref internalDFN" title="term" href="#dfn-term">term</a> has
+    been marked as an <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index map</a>. The <strong>en</strong> and
+    <strong>de</strong> keys will be ignored  semantically, but preserved
+    syntactically, by the JSON-LD Processor.  This allows a developer to
+    access the German version of the <strong>post</strong> using the
+    following code snippet: <code>obj.post.de</code>.</p>
+
+  <p>The interpretation of the data above is expressed in
+    the table below. Note how the index keys do not appear in the Linked Data
+    below, but would continue to exist if the document were compacted or
+    expanded (see <a class="sectionRef sec-ref" href="#compacted-document-form">section 6.18 Compacted Document Form</a> and
+    <a class="sectionRef sec-ref" href="#expanded-document-form">section 6.17 Expanded Document Form</a>) using a JSON-LD processor:</p>
+
+  <table class="example">
+    <thead>
+      <tr><th>Subject</th>
+      <th>Property</th>
+      <th>Value</th>
+    </tr></thead>
+    <tbody>
+      <tr>
+        <td>http://example.com/</td>
+        <td>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</td>
+        <td>http://schema.org/Blog</td>
+      </tr>
+      <tr>
+        <td>http://example.com/</td>
+        <td>http://schema.org/name</td>
+        <td>World Financial News</td>
+      </tr>
+      <tr>
+        <td>http://example.com/</td>
+        <td>http://schema.org/blogPost</td>
+        <td>http://example.com/posts/1/en</td>
+      </tr>
+      <tr>
+        <td>http://example.com/</td>
+        <td>http://schema.org/blogPost</td>
+        <td>http://example.com/posts/1/de</td>
+      </tr>
+      <tr>
+        <td>http://example.com/posts/1/en</td>
+        <td>http://schema.org/articleBody</td>
+        <td>World commodities were up today with heavy trading of crude oil...</td>
+      </tr>
+      <tr>
+        <td>http://example.com/posts/1/en</td>
+        <td>http://schema.org/wordCount</td>
+        <td>1539</td>
+      </tr>
+      <tr>
+        <td>http://example.com/posts/1/de</td>
+        <td>http://schema.org/articleBody</td>
+        <td>Die Werte an Warenbörsen stiegen im Sog eines starken Handels von Rohöl...</td>
+      </tr>
+      <tr>
+        <td>http://example.com/posts/1/de</td>
+        <td>http://schema.org/wordCount</td>
+        <td>1204</td>
+      </tr>
+    </tbody>
+  </table>
+</section>
+
+<section class="informative" id="expanded-document-form">
+  <h3 aria-level="2" role="heading" id="h3_expanded-document-form"><span class="secno">6.17 </span>Expanded Document Form</h3><p><em>This section is non-normative.</em></p>
+
+  <p>The JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>]
+    defines a method for <em>expanding</em> a JSON-LD document.
+    Expansion is the process of taking a JSON-LD document and applying a
+    <code>@context</code> such that all IRIs, types, and values
+    are expanded so that the <code>@context</code> is no longer necessary.</p>
+
+  <p>For example, assume the following JSON-LD input document:</p>
+
+  <div class="example"><div class="example-title"><span>Example 55</span>: Sample JSON-LD document</div><pre class="example">{
+   "@context":
+   {
+      "name": "http://xmlns.com/foaf/0.1/name",
+      "homepage": {
+        "@id": "http://xmlns.com/foaf/0.1/homepage",
+        "@type": "@id"
+      }
+   },
+   "name": "Manu Sporny",
+   "homepage": "http://manu.sporny.org/"
+}</pre></div>
+
+  <p>Running the JSON-LD Expansion algorithm against the JSON-LD input document
+    provided above would result in the following output:</p>
+
+  <div class="example"><div class="example-title"><span>Example 56</span>: Expanded form for the previous example</div><pre class="example">[
+  {
+    "http://xmlns.com/foaf/0.1/name": [
+      { "@value": "Manu Sporny" }
+    ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      { "@id": "http://manu.sporny.org/" }
+    ]
+  }
+]</pre></div>
+
+  <p><a href="#application-ld-json">JSON-LD's media type</a> defines a
+    <code>profile</code> parameter which can be used to signal or request
+    expanded document form. The profile URI identifying expanded document
+    form is <code>http://www.w3.org/ns/json-ld#expanded</code>.</p>
+</section>
+
+<section class="informative" id="compacted-document-form">
+  <h3 aria-level="2" role="heading" id="h3_compacted-document-form"><span class="secno">6.18 </span>Compacted Document Form</h3><p><em>This section is non-normative.</em></p>
+
+  <p>The JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>] defines
+    a method for <em>compacting</em> a JSON-LD document. Compaction is the process
+    of applying a developer-supplied context to shorten <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>
+    to <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> or <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>
+    and JSON-LD values expressed in expanded form to simple values such as
+    <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> or <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a>.
+    Often this makes it simpler to work with document as the data is expressed in
+    application-specific terms. Compacted documents are also typically easier to read
+    for humans.</p>
+
+  <p>For example, assume the following JSON-LD input document:</p>
+
+  <div class="example"><div class="example-title"><span>Example 57</span>: Sample expanded JSON-LD document</div><pre class="example">[
+  {
+    "http://xmlns.com/foaf/0.1/name": [ "Manu Sporny" ],
+    "http://xmlns.com/foaf/0.1/homepage": [
+      {
+       "@id": "http://manu.sporny.org/"
+      }
+    ]
+  }
+]</pre></div>
+
+  <p>Additionally, assume the following developer-supplied JSON-LD context:</p>
+
+  <div class="example"><div class="example-title"><span>Example 58</span>: Sample context</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  }
+}</pre></div>
+
+  <p>Running the JSON-LD Compaction algorithm given the context supplied above
+    against the JSON-LD input document provided above would result in the following
+    output:</p>
+
+  <div class="example"><div class="example-title"><span>Example 59</span>: Compact form of the sample document once sample context has been applied</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "homepage": {
+      "@id": "http://xmlns.com/foaf/0.1/homepage",
+      "@type": "@id"
+    }
+  },
+  "name": "Manu Sporny",
+  "homepage": "http://manu.sporny.org/"
+}</pre></div>
+
+  <p><a href="#application-ld-json">JSON-LD's media type</a> defines a
+    <code>profile</code> parameter which can be used to signal or request
+    compacted document form. The profile URI identifying compacted document
+    form is <code>http://www.w3.org/ns/json-ld#compacted</code>.</p>
+</section>
+
+<section class="informative" id="flattened-document-form">
+  <h3 aria-level="2" role="heading" id="h3_flattened-document-form"><span class="secno">6.19 </span>Flattened Document Form</h3><p><em>This section is non-normative.</em></p>
+
+  <p>The JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>] defines
+    a method for <em>flattening</em> a JSON-LD document. Flattening collects all
+    properties of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in a single <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> and labels
+    all <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a> with
+    <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>.
+    This ensures a shape of the data and consequently may drastically simplify the code
+    required to process JSON-LD in certain applications.</p>
+
+  <p>For example, assume the following JSON-LD input document:</p>
+
+  <div class="example"><div class="example-title"><span>Example 60</span>: Sample JSON-LD document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}</pre></div>
+
+  <p>Running the JSON-LD Flattening algorithm against the JSON-LD input document in
+    the example above and using the same context would result in the following
+    output:</p>
+
+  <div class="example"><div class="example-title"><span>Example 61</span>: Flattened and compacted form for the previous example</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@graph": [
+    {
+      "@id": "_:b0",
+      "name": "Dave Longley"
+    },
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "@id": "http://me.markus-lanthaler.com/",
+      "name": "Markus Lanthaler",
+      "knows": [
+        { "@id": "http://manu.sporny.org/about#manu" },
+        { "@id": "_:b0" }
+      ]
+    }
+  ]
+}</pre></div>
+
+  <p><a href="#application-ld-json">JSON-LD's media type</a> defines a
+    <code>profile</code> parameter which can be used to signal or request
+    flattened document form. The profile URI identifying flattened document
+    form is <code>http://www.w3.org/ns/json-ld#flattened</code>. It can be
+    combined with the profile URI identifying
+    <a href="#expanded-document-form">expanded document form</a> or
+    <a href="#compacted-document-form">compacted document from</a>.</p>
+</section>
+
+<section class="informative" id="embedding-json-ld-in-html-documents">
+  <h3 aria-level="2" role="heading" id="h3_embedding-json-ld-in-html-documents"><span class="secno">6.20 </span>Embedding JSON-LD in HTML Documents</h3><p><em>This section is non-normative.</em></p>
+
+  <p>HTML script tags can be used to embed blocks of data in documents.
+    This way, JSON-LD content can be easily embedded in HTML by placing
+    it in a script element with the <code>type</code> attribute set to
+    <code>application/ld+json</code>.</p>
+
+  <div class="example"><div class="example-title"><span>Example 62</span>: Embedding JSON-LD in HTML</div><pre class="example"><span class="highlight">&lt;script type="application/ld+json"&gt;</span>
+{
+  "@context": "http://json-ld.org/contexts/person.jsonld",
+  "@id": "http://dbpedia.org/resource/John_Lennon",
+  "name": "John Lennon",
+  "born": "1940-10-09",
+  "spouse": "http://dbpedia.org/resource/Cynthia_Lennon"
+}
+<span class="highlight">&lt;/script&gt;</span></pre></div>
+
+  <p>Depending on how the HTML document is served, certain strings may need
+    to be escaped.</p>
+
+  <p>Defining how such data may be used is beyond the scope of this specification.
+    The embedded JSON-LD document might be extracted as is or, e.g., be
+    interpreted as RDF.</p>
+
+  <p>If JSON-LD content is extracted as RDF [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>], it should be expanded into an
+    <a class="tref externalDFN" title="rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">RDF Dataset</a> using the
+    <cite><a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#deserialize-json-ld-to-rdf-algorithm">Deserialize JSON-LD to RDF Algorithm</a></cite>
+    [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>].</p>
+</section>
+
+</section>
+
+<section class="normative" id="data-model">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_data-model"><span class="secno">7. </span>Data Model</h2>
+
+  <p>JSON-LD is a serialization format for Linked Data based on JSON.
+    It is therefore important to distinguish between the syntax, which is
+    defined by JSON in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>], and the <dfn title="data-model" id="dfn-data-model">data model</dfn> which is
+    an extension of the RDF data model [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]. The precise
+    details of how JSON-LD relates to the RDF data model are given in
+    <a class="sectionRef sec-ref" href="#relationship-to-rdf">section 9. Relationship to RDF</a>.</p>
+
+  <p>To ease understanding for developers unfamiliar with the RDF model, the
+    following summary is provided:</p>
+
+  <ul>
+    <li>A <dfn title="json-ld-document" id="dfn-json-ld-document">JSON-LD document</dfn> serializes a
+      <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset" class="externalDFN">generalized RDF Dataset</a>
+      [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>], which is a collection of <a class="tref internalDFN" title="graph" href="#dfn-graph">graphs</a>
+      that comprises exactly one <dfn title="default-graph" id="dfn-default-graph"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-default-graph" class="externalDFN">default graph</a></dfn>
+      and zero or more <dfn title="named-graph" id="dfn-named-graph"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph" class="externalDFN">named graphs</a></dfn>.</li>
+    <li>The <a class="tref internalDFN" title="default-graph" href="#dfn-default-graph">default graph</a> does not have a name and <em class="rfc2119" title="MAY">MAY</em> be empty.</li>
+    <li>Each <a class="tref internalDFN" title="named-graph" href="#dfn-named-graph">named graph</a> is a pair consisting of an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a> (the
+      <dfn title="graph-name" id="dfn-graph-name"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-graph-name" class="externalDFN">graph name</a></dfn>)
+      and a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a>. Whenever practical, the <a class="tref internalDFN" title="graph-name" href="#dfn-graph-name">graph name</a> <em class="rfc2119" title="SHOULD">SHOULD</em> be an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+    <li>A <dfn title="graph" id="dfn-graph"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-graph" class="externalDFN">graph</a></dfn>
+      is a labeled directed graph, i.e., a set of <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>
+      connected by <a class="tref internalDFN" title="edge" href="#dfn-edge">edges</a>.</li>
+    <li>Every <dfn title="edge" id="dfn-edge">edge</dfn> has a direction associated with it and is labeled with
+      an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>. Within the JSON-LD syntax
+      these edge labels are called
+      <dfn title="property" id="dfn-property"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-property" class="externalDFN">properties</a></dfn>.
+      Whenever practical, an <a class="tref internalDFN" title="edge" href="#dfn-edge">edge</a> <em class="rfc2119" title="SHOULD">SHOULD</em> be labeled with an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+    <li>Every <dfn title="node" id="dfn-node"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-node" class="externalDFN">node</a></dfn>
+      is an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>, a <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD value</a>,
+      or a <a class="tref internalDFN" title="list" href="#dfn-list">list</a>.</li>
+    <li>A <a class="tref internalDFN" title="node" href="#dfn-node">node</a> having an outgoing edge <em class="rfc2119" title="MUST">MUST</em> be an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>.</li>
+    <li>A <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> <em class="rfc2119" title="MUST NOT">MUST NOT</em> contain unconnected <a class="tref internalDFN" title="node" href="#dfn-node">nodes</a>,
+      i.e., nodes which are not connected by an <a class="tref internalDFN" title="edge" href="#dfn-edge">edge</a> to any other <a class="tref internalDFN" title="node" href="#dfn-node">node</a>.</li>
+    <li>An <dfn title="iri" id="dfn-iri"><abbr title="Internationalized Resource Identifier"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri" class="externalDFN">IRI</a></abbr></dfn>
+      (Internationalized Resource Identifier) is a string that conforms to the syntax
+      defined in [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>]. <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> used within a
+      <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> <em class="rfc2119" title="SHOULD">SHOULD</em> return a Linked Data document describing
+      the resource denoted by that <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> when being dereferenced.</li>
+    <li>A <dfn title="blank-node" id="dfn-blank-node"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node" class="externalDFN">blank node</a></dfn>
+      is a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> which is neither an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      nor a <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD value</a>, nor a <a class="tref internalDFN" title="list" href="#dfn-list">list</a>. A blank node <em class="rfc2119" title="MAY">MAY</em> be identified
+      using a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</li>
+    <li>A <dfn title="blank-node-identifier" id="dfn-blank-node-identifier"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node-identifier" class="externalDFN">blank node identifier</a></dfn>
+      is a string that can be used as an identifier for a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a> within
+      the scope of a <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a>. Blank node identifiers begin with
+      <code>_:</code>.</li>
+    <li>A <dfn title="json-ld-value" id="dfn-json-ld-value">JSON-LD value</dfn> is a <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a>, a <a class="tref internalDFN" title="string" href="#dfn-string">string</a> (which is interpreted
+      as <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a> with type <code>xsd:string</code>), a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>
+      (<a class="tref internalDFN" title="number" href="#dfn-number">numbers</a> with a non-zero fractional part, i.e., the result of a modulo‑1 operation,
+      are interpreted as <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a> with type <code>xsd:double</code>, all other
+      <a class="tref internalDFN" title="number" href="#dfn-number">numbers</a> are interpreted as <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a>
+      with type <code>xsd:integer</code>), <a class="tref internalDFN" title="true" href="#dfn-true">true</a> or <a class="tref internalDFN" title="false" href="#dfn-false">false</a> (which are interpreted as
+      <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a> with type <code>xsd:boolean</code>),
+      or a <a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">language-tagged string</a>.</li>
+    <li>A <dfn title="typed-value" id="dfn-typed-value">typed value</dfn> consists of a value, which is a string, and a type, which is an
+      <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</li>
+    <li>A <dfn title="language-tagged-string" id="dfn-language-tagged-string"><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string" class="externalDFN">language-tagged string</a></dfn>
+      consists of a string and a non-empty language tag as defined by [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>].
+      The language tag <em class="rfc2119" title="MUST">MUST</em> be well-formed according to section
+      <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">2.2.9 Classes of Conformance</a>
+      of [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>].</li>
+    <li>A <dfn title="list" id="dfn-list">list</dfn> is a sequence of zero or more <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>, and <a class="tref internalDFN" title="json-ld-value" href="#dfn-json-ld-value">JSON-LD values</a>.
+      <a class="tref internalDFN" title="list" href="#dfn-list">Lists</a> are interpreted as
+      <a href="http://www.w3.org/TR/rdf11-mt/#rdf-collections" class="externalDFN">RDF list structures</a> [<cite><a class="bibref" href="#bib-RDF11-MT">RDF11-MT</a></cite>].</li>
+  </ul>
+
+  <p><a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD documents</a> <em class="rfc2119" title="MAY">MAY</em> contain data
+    that cannot be represented by the <a class="tref internalDFN" title="data-model" href="#dfn-data-model">data model</a>
+    defined above. Unless otherwise specified, such data is ignored when a
+    <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> is being processed. One result of this rule
+    is that properties which are not mapped to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+    a <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank node</a>, or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> will be ignored.</p>
+
+  <p style="text-align: center"><img src="linked-data-graph.png" title="An illustration of the data model" alt="An illustration of the data model"></p>
+  <p style="text-align: center">Figure&nbsp;1: An illustration of the data model.</p>
+</section>
+
+<section class="normative" id="json-ld-grammar">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_json-ld-grammar"><span class="secno">8. </span>JSON-LD Grammar</h2>
+
+  <p>This appendix restates the syntactic conventions described in the
+    previous sections more formally.</p>
+
+  <p>A <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> <em class="rfc2119" title="MUST">MUST</em> be a valid JSON document as described
+    in [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>].</p>
+
+  <p>A <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a> <em class="rfc2119" title="MUST">MUST</em> be a single <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>
+    or an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> whose elements are each
+    <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> at the top level.</p>
+
+  <p>In contrast to JSON, in JSON-LD the keys in <a class="tref internalDFN" title="json-object" href="#dfn-json-object">objects</a>
+    <em class="rfc2119" title="MUST">MUST</em> be unique.</p>
+
+  <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_9"><span>Note</span></div><p class="">JSON-LD allows <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> to be aliased
+    (see <a class="sectionRef sec-ref" href="#aliasing-keywords">section 6.15 Aliasing Keywords</a> for details). Whenever a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> is
+    discussed in this grammar, the statements also apply to an alias for
+    that <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>. For example, if the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>
+    defines the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> <code>id</code> as an alias for <code>@id</code>,
+    that alias may be legitimately used as a substitution for <code>@id</code>.
+    Note that <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> aliases are not expanded during context
+    processing.</p></div>
+
+  <section class="normative" id="terms">
+    <h3 aria-level="2" role="heading" id="h3_terms"><span class="secno">8.1 </span>Terms</h3>
+
+    <p>A <dfn title="term" id="dfn-term">term</dfn> is a short-hand <a class="tref internalDFN" title="string" href="#dfn-string">string</a> that expands
+      to an <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a> or a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>.</p>
+
+    <p>A <a class="tref internalDFN" title="term" href="#dfn-term">term</a> <em class="rfc2119" title="MUST NOT">MUST NOT</em> equal any of the JSON-LD
+      <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a>.</p>
+
+    <p>To avoid forward-compatibility issues, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> start
+      with an <code>@</code> character as future versions of JSON-LD may introduce
+      additional <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a>. Furthermore, the term <em class="rfc2119" title="MUST NOT">MUST NOT</em>
+      be an empty <a class="tref internalDFN" title="string" href="#dfn-string">string</a> (<code>""</code>) as not all programming languages
+      are able to handle empty JSON keys.</p>
+
+    <p>See <a class="sectionRef sec-ref" href="#the-context">section 5.1 The Context</a> and
+      <a class="sectionRef sec-ref" href="#iris">section 5.2 IRIs</a> for further discussion
+      on mapping <a class="tref internalDFN" title="term" href="#dfn-term">terms</a> to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>.</p>
+  </section>
+
+  <section class="normative" id="node-objects">
+    <h3 aria-level="2" role="heading" id="h3_node-objects"><span class="secno">8.2 </span>Node Objects</h3>
+
+    <p>A <dfn title="node-object" id="dfn-node-object">node object</dfn> represents zero or more properties of a
+      <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in the <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> serialized by the
+      <a class="tref internalDFN" title="json-ld-document" href="#dfn-json-ld-document">JSON-LD document</a>. A <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is a
+      <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> if it exists outside of a JSON-LD
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> and:</p>
+
+    <ul>
+      <li>it does not contain the <code>@value</code>, <code>@list</code>,
+        or <code>@set</code> keywords, and</li>
+      <li>it is not the top-most <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> in the JSON-LD document
+        consisting of no other members than <code>@graph</code> and
+        <code>@context</code>.</li>
+    </ul>
+
+    <p>The <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> of a <a class="tref internalDFN" title="node" href="#dfn-node">node</a> in
+      a <a class="tref internalDFN" title="graph" href="#dfn-graph">graph</a> may be spread among different
+      <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> within a document. When
+      that happens, the keys of the different
+      <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a> need to be merged to create the
+      properties of the resulting <a class="tref internalDFN" title="node" href="#dfn-node">node</a>.</p>
+
+    <p>A <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>. All keys
+      which are not <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,
+      <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>, <a class="tref internalDFN" title="term" href="#dfn-term">terms</a>
+      valid in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>, or one of the following
+      <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <em class="rfc2119" title="MUST">MUST</em> be ignored when processed:</p>
+
+    <ul>
+      <li><code>@context</code>,</li>
+      <li><code>@id</code>,</li>
+      <li><code>@graph</code>,</li>
+      <li><code>@type</code>,</li>
+      <li><code>@reverse</code>, or</li>
+      <li><code>@index</code></li>
+    </ul>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@context</code>
+      key, its value <em class="rfc2119" title="MUST">MUST</em> be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a>, or
+      an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> composed of any of these.</p>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@id</code> key,
+      its value <em class="rfc2119" title="MUST">MUST</em> be an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      or a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> (including
+      <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>).
+      See <a class="sectionRef sec-ref" href="#node-identifiers">section 5.3 Node Identifiers</a>,
+      <a class="sectionRef sec-ref" href="#compact-iris">section 6.3 Compact IRIs</a>, and
+      <a class="sectionRef sec-ref" href="#identifying-blank-nodes">section 6.14 Identifying Blank Nodes</a> for further discussion on
+      <code>@id</code> values.</p>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@graph</code>
+      key, its value <em class="rfc2119" title="MUST">MUST</em> be
+      a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> or
+      an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of zero or more <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a>.
+      If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains an <code>@id</code> keyword,
+      its value is used as the label of a named graph.
+      See <a class="sectionRef sec-ref" href="#named-graphs">section 6.13 Named Graphs</a> for further discussion on
+      <code>@graph</code> values. As a special case, if a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+      contains no keys other than <code>@graph</code> and <code>@context</code>, and the
+      <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is the root of the JSON-LD document, the
+      <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> is not treated as a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>; this
+      is used as a way of defining <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node
+      definitions</a> that may not form a connected graph. This allows a
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> to be defined which is shared by all of the constituent
+      <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a>.</p>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@type</code>
+      key, its value <em class="rfc2119" title="MUST">MUST</em> be either an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a
+      <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+      (including <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifiers</a>),
+      a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> defined in the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> expanding into an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or
+      an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of any of these.
+      See <a class="sectionRef sec-ref" href="#specifying-the-type">section 5.4 Specifying the Type</a> for further discussion on
+      <code>@type</code> values.</p>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@reverse</code> key,
+      its value <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing members representing reverse
+      properties. Each value of such a reverse property <em class="rfc2119" title="MUST">MUST</em> be an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>,
+      a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> or an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> containing a combination of these.</p>
+
+    <p>If the <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> contains the <code>@index</code> key,
+      its value <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="string" href="#dfn-string">string</a>. See
+      <a class="sectionRef sec-ref" href="#data-indexing">section 6.16 Data Indexing</a> for further discussion
+      on <code>@index</code> values.</p>
+
+    <p>Keys in a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> that are not
+      <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <em class="rfc2119" title="MAY">MAY</em> expand to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>
+      using the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a>. The values associated with keys that expand
+      to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> <em class="rfc2119" title="MUST">MUST</em> be one of the following:</p>
+
+    <ul>
+      <li><a class="tref internalDFN" title="string" href="#dfn-string">string</a>,</li>
+      <li><a class="tref internalDFN" title="number" href="#dfn-number">number</a>,</li>
+      <li><a class="tref internalDFN" title="true" href="#dfn-true">true</a>,</li>
+      <li><a class="tref internalDFN" title="false" href="#dfn-false">false</a>,</li>
+      <li><a class="tref internalDFN" title="null" href="#dfn-null">null</a>,</li>
+      <li><a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>,</li>
+      <li><a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>,</li>
+      <li><a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>,</li>
+      <li><a class="tref internalDFN" title="set-object" href="#dfn-set-object">set object</a>,</li>
+      <li>an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of zero or more of the possibilities above,</li>
+      <li>a <a class="tref internalDFN" title="language-map" href="#dfn-language-map">language map</a>, or </li>
+      <li>an <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index map</a></li>
+    </ul>
+  </section>
+
+  <section class="normative" id="value-objects">
+    <h3 aria-level="2" role="heading" id="h3_value-objects"><span class="secno">8.3 </span>Value Objects</h3>
+
+    <p>A <dfn title="value-object" id="dfn-value-object">value object</dfn> is used to explicitly associate a type or a
+      language with a value to create a <a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed value</a> or a <a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">language-tagged
+      string</a>.</p>
+
+    <p>A <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> containing the
+      <code>@value</code> key. It <em class="rfc2119" title="MAY">MAY</em> also contain an <code>@type</code>,
+      an <code>@language</code>, an <code>@index</code>, or an <code>@context</code> key but <em class="rfc2119" title="MUST NOT">MUST NOT</em> contain
+      both an <code>@type</code> and an <code>@language</code> key at the same time.
+      A <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a> <em class="rfc2119" title="MUST NOT">MUST NOT</em> contain any other keys that expand to an
+      <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>.</p>
+
+    <p>The value associated with the <code>@value</code> key <em class="rfc2119" title="MUST">MUST</em> be either a
+      <a class="tref internalDFN" title="string" href="#dfn-string">string</a>, a <a class="tref internalDFN" title="number" href="#dfn-number">number</a>, <a class="tref internalDFN" title="true" href="#dfn-true">true</a>,
+      <a class="tref internalDFN" title="false" href="#dfn-false">false</a> or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+    <p>The value associated with the <code>@type</code> key <em class="rfc2119" title="MUST">MUST</em> be a
+      <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+      an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+    <p>The value associated with the <code>@language</code> key <em class="rfc2119" title="MUST">MUST</em> have the
+      lexical form described in [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>], or be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+    <p>The value associated with the <code>@index</code> key <em class="rfc2119" title="MUST">MUST</em> be a
+      <a class="tref internalDFN" title="string" href="#dfn-string">string</a>.</p>
+
+    <p>See <a class="sectionRef sec-ref" href="#typed-values">section 6.4 Typed Values</a> and
+      <a class="sectionRef sec-ref" href="#string-internationalization">section 6.9 String Internationalization</a>
+      for more information on <a class="tref internalDFN" title="value-object" href="#dfn-value-object">value objects</a>.</p>
+  </section>
+
+  <section class="normative" id="lists-and-sets">
+    <h3 aria-level="2" role="heading" id="h3_lists-and-sets"><span class="secno">8.4 </span>Lists and Sets</h3>
+
+    <p>A <a class="tref internalDFN" title="list" href="#dfn-list">list</a> represents an <em>ordered</em> set of values. A set
+      represents an <em>unordered</em> set of values. Unless otherwise specified,
+      <a class="tref internalDFN" title="array" href="#dfn-array">arrays</a> are unordered in JSON-LD. As such, the
+      <code>@set</code> keyword, when used in the body of a JSON-LD document,
+      represents just syntactic sugar which is optimized away when processing the document.
+      However, it is very helpful when used within the context of a document. Values
+      of terms associated with an <code>@set</code> or <code>@list</code> container
+      will always be represented in the form of an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> when a document
+      is processed—even if there is just a single value that would otherwise be optimized to
+      a non-array form in <a href="#compacted-document-form">compact document form</a>.
+      This simplifies post-processing of the data as the data is always in a
+      deterministic form.</p>
+
+    <p>A <dfn title="list-object" id="dfn-list-object">list object</dfn> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that contains no
+      keys that expand to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> other
+      than <code>@list</code>, <code>@context</code>, and <code>@index</code>.</p>
+
+    <p>A <dfn title="set-object" id="dfn-set-object">set object</dfn> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> that contains no
+      keys that expand to an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a> other
+      than <code>@list</code>, <code>@context</code>, and <code>@index</code>.
+      Please note that the <code>@index</code> key will be ignored when being processed.</p>
+
+    <p>In both cases, the value associated with the keys <code>@list</code> and <code>@set</code>
+      <em class="rfc2119" title="MUST">MUST</em> be one of the following types:</p>
+    <ul>
+      <li><a class="tref internalDFN" title="string" href="#dfn-string">string</a>,</li>
+      <li><a class="tref internalDFN" title="number" href="#dfn-number">number</a>,</li>
+      <li><a class="tref internalDFN" title="true" href="#dfn-true">true</a>,</li>
+      <li><a class="tref internalDFN" title="false" href="#dfn-false">false</a>,</li>
+      <li><a class="tref internalDFN" title="null" href="#dfn-null">null</a>,</li>
+      <li><a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>,</li>
+      <li><a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>, or</li>
+      <li>an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of zero or more of the above possibilities</li>
+    </ul>
+
+    <p>See <a class="sectionRef sec-ref" href="#sets-and-lists">section 6.11 Sets and Lists</a> for further discussion on sets and lists.</p>
+  </section>
+
+  <section class="normative" id="language-maps">
+    <h3 aria-level="2" role="heading" id="h3_language-maps"><span class="secno">8.5 </span>Language Maps</h3>
+
+    <p>A <dfn title="language-map" id="dfn-language-map">language map</dfn> is used to associate a language with a value in a
+      way that allows easy programmatic access. A <a class="tref internalDFN" title="language-map" href="#dfn-language-map">language map</a> may be
+      used as a term value within a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> if the term is defined
+      with <code>@container</code> set to <code>@language</code>. The keys of a
+      <a class="tref internalDFN" title="language-map" href="#dfn-language-map">language map</a> <em class="rfc2119" title="MUST">MUST</em> be <a class="tref internalDFN" title="string" href="#dfn-string">strings</a> representing
+      [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>] language codes and the values <em class="rfc2119" title="MUST">MUST</em> be any of the following types:</p>
+
+    <ul>
+      <li><a class="tref internalDFN" title="null" href="#dfn-null">null</a>,</li>
+      <li><a class="tref internalDFN" title="string" href="#dfn-string">string</a>, or</li>
+      <li>an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of zero or more of the above possibilities</li>
+    </ul>
+
+    <p>See <a class="sectionRef sec-ref" href="#string-internationalization">section 6.9 String Internationalization</a> for further discussion
+      on language maps.</p>
+  </section>
+
+  <section class="normative" id="index-maps">
+    <h3 aria-level="2" role="heading" id="h3_index-maps"><span class="secno">8.6 </span>Index Maps</h3>
+
+    <p>An <dfn title="index-map" id="dfn-index-map">index map</dfn> allows keys that have no semantic meaning,
+      but should be preserved regardless, to be used in JSON-LD documents.
+      An <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index map</a> may
+      be used as a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> value within a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> if the
+      term is defined with <code>@container</code> set to <code>@index</code>.
+      The values of the members of an <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index map</a> <em class="rfc2119" title="MUST">MUST</em> be one
+      of the following types:</p>
+
+    <ul>
+      <li><a class="tref internalDFN" title="string" href="#dfn-string">string</a>,</li>
+      <li><a class="tref internalDFN" title="number" href="#dfn-number">number</a>,</li>
+      <li><a class="tref internalDFN" title="true" href="#dfn-true">true</a>,</li>
+      <li><a class="tref internalDFN" title="false" href="#dfn-false">false</a>,</li>
+      <li><a class="tref internalDFN" title="null" href="#dfn-null">null</a>,</li>
+      <li><a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>,</li>
+      <li><a class="tref internalDFN" title="value-object" href="#dfn-value-object">value object</a>,</li>
+      <li><a class="tref internalDFN" title="list-object" href="#dfn-list-object">list object</a>,</li>
+      <li><a class="tref internalDFN" title="set-object" href="#dfn-set-object">set object</a>,</li>
+      <li>an <a class="tref internalDFN" title="array" href="#dfn-array">array</a> of zero or more of the above possibilities</li>
+    </ul>
+
+    <p>See <a class="sectionRef sec-ref" href="#data-indexing">section 6.16 Data Indexing</a> for further information on this topic.</p>
+  </section>
+
+<section class="normative" id="context-definitions">
+  <h3 aria-level="2" role="heading" id="h3_context-definitions"><span class="secno">8.7 </span>Context Definitions</h3>
+
+  <p>A <dfn title="context-definition" id="dfn-context-definition">context definition</dfn> defines a <a class="tref internalDFN" title="local-context" href="#dfn-local-context">local context</a> in a
+    <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>.</p>
+
+  <p>A <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a> whose
+    keys <em class="rfc2119" title="MUST">MUST</em> either be <a class="tref internalDFN" title="term" href="#dfn-term">terms</a>,
+    <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact IRIs</a>, <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute IRIs</a>,
+    or the <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <code>@language</code>, <code>@base</code>,
+    and <code>@vocab</code>.</p>
+
+  <p>If the <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a> has an <code>@language</code> key,
+    its value <em class="rfc2119" title="MUST">MUST</em> have the lexical form described in [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>] or be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+  <p>If the <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a> has an <code>@base</code> key,
+    its value <em class="rfc2119" title="MUST">MUST</em> be an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="relative-iri" href="#dfn-relative-iri">relative <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+    or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+  <p>If the <a class="tref internalDFN" title="context-definition" href="#dfn-context-definition">context definition</a> has an <code>@vocab</code> key,
+    its value <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+    a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, or <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+  <p>The value of keys that are not <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <em class="rfc2119" title="MUST">MUST</em> be either an
+    <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>,
+    a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>, <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+    or an <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a>.</p>
+
+  <p>An <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> is used to describe the mapping
+    between a <a class="tref internalDFN" title="term" href="#dfn-term">term</a> and its expanded identifier, as well as other
+    properties of the value associated with the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> when it is
+    used as key in a <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>.</p>
+
+  <p>An <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="json-object" href="#dfn-json-object">JSON object</a>
+    composed of zero or more keys from <code>@id</code>, <code>@reverse</code>,
+    <code>@type</code>, <code>@language</code> or <code>@container</code>. An
+    <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> contain any other keys.</p>
+
+  <p>If an <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> has an <code>@reverse</code> member,
+    it <em class="rfc2119" title="MUST NOT">MUST NOT</em> have an <code>@id</code> member at the same time. If an
+    <code>@container</code> member exists, its value <em class="rfc2119" title="MUST">MUST</em> be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>,
+    <code>@set</code>, or <code>@index</code>.</p>
+
+  <p>If the term being defined is not a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a> or
+    <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a> and the <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> does not have an
+    <code>@vocab</code> mapping, the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> <em class="rfc2119" title="MUST">MUST</em>
+    include the <code>@id</code> key.</p>
+
+  <p>If the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> contains the <code>@id</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>, its value <em class="rfc2119" title="MUST">MUST</em> be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>,
+    a <a class="tref internalDFN" title="blank-node-identifier" href="#dfn-blank-node-identifier">blank node identifier</a>, a <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>,
+    or a <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>.</p>
+
+  <p>If the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> contains the <code>@type</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>, its value <em class="rfc2119" title="MUST">MUST</em> be an <a class="tref internalDFN" title="absolute-iri" href="#dfn-absolute-iri">absolute <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a
+    <a class="tref internalDFN" title="compact-iri" href="#dfn-compact-iri">compact <abbr title="Internationalized Resource Identifier">IRI</abbr></a>, a <a class="tref internalDFN" title="term" href="#dfn-term">term</a>, <a class="tref internalDFN" title="null" href="#dfn-null">null</a>, or the one of the
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keywords</a> <code>@id</code> or <code>@vocab</code>.</p>
+
+  <p>If the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> contains the <code>@language</code> <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>,
+    its value <em class="rfc2119" title="MUST">MUST</em> have the lexical form described in [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>] or be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>.</p>
+
+  <p>If the <a class="tref internalDFN" title="expanded-term-definition" href="#dfn-expanded-term-definition">expanded term definition</a> contains the <code>@container</code>
+    <a class="tref internalDFN" title="keyword" href="#dfn-keyword">keyword</a>, its value <em class="rfc2119" title="MUST">MUST</em> be either <code>@list</code>, <code>@set</code>,
+    <code>@language</code>, <code>@index</code>, or be <a class="tref internalDFN" title="null" href="#dfn-null">null</a>. If the value
+    is <code>@language</code>, when the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is used outside of the
+    <code>@context</code>, the associated value <em class="rfc2119" title="MUST">MUST</em> be a <a class="tref internalDFN" title="language-map" href="#dfn-language-map">language map</a>.
+    If the value is <code>@index</code>, when the <a class="tref internalDFN" title="term" href="#dfn-term">term</a> is used outside of
+    the <code>@context</code>, the associated value <em class="rfc2119" title="MUST">MUST</em> be an
+    <a class="tref internalDFN" title="index-map" href="#dfn-index-map">index map</a>.</p>
+
+  <p><a class="tref internalDFN" title="term" href="#dfn-term">Terms</a> <em class="rfc2119" title="MUST NOT">MUST NOT</em> be used in a circular manner. That is,
+    the definition of a term cannot depend on the definition of another term if that other
+    term also depends on the first term.</p>
+
+  <p>See <a class="sectionRef sec-ref" href="#the-context">section 5.1 The Context</a> for further discussion on contexts.</p>
+</section>
+
+</section>
+
+<section class="normative" id="relationship-to-rdf">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_relationship-to-rdf"><span class="secno">9. </span>Relationship to RDF</h2>
+
+  <p>JSON-LD is a
+    <a class="tref externalDFN" title="concrete-rdf-syntax" href="http://www.w3.org/TR/rdf11-concepts/#dfn-concrete-rdf-syntax">concrete RDF syntax</a>
+    as described in [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]. Hence, a JSON-LD document is both an
+    RDF document <em>and</em> a JSON document and correspondingly represents an
+    instance of an RDF data model. However, JSON-LD also extends the RDF data
+    model to optionally allow JSON-LD to serialize
+    <a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">Generalized RDF Datasets</a>.
+    The JSON-LD extensions to the RDF data model are:</p>
+
+  <ul>
+    <li>In JSON-LD <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> can be
+      <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> or <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>
+      whereas in RDF properties (predicates) have to be <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>. This
+      means that JSON-LD serializes
+      <a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">generalized RDF Datasets</a>.</li>
+    <li>In JSON-LD <a class="tref internalDFN" title="list" href="#dfn-list">lists</a> are part of the data model
+      whereas in RDF they are part of a vocabulary, namely [<cite><a class="bibref" href="#bib-RDF11-SCHEMA">RDF11-SCHEMA</a></cite>].</li>
+    <li>RDF values are either typed <em>literals</em>
+      (<a class="tref internalDFN" title="typed-value" href="#dfn-typed-value">typed values</a>) or
+      <a class="tref internalDFN" title="language-tagged-string" href="#dfn-language-tagged-string">language-tagged strings</a> whereas
+      JSON-LD also supports JSON's native data types, i.e., <a class="tref internalDFN" title="number" href="#dfn-number">number</a>,
+      <a class="tref internalDFN" title="string" href="#dfn-string">strings</a>, and the boolean values <a class="tref internalDFN" title="true" href="#dfn-true">true</a>
+      and <a class="tref internalDFN" title="false" href="#dfn-false">false</a>. The JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>]
+      defines the <a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#data-round-tripping">conversion rules</a>
+      between JSON's native data types and RDF's counterparts to allow round-tripping.</li>
+  </ul>
+
+  <p>Summarized, these differences mean that JSON-LD is capable of serializing any RDF
+    graph or dataset and most, but not all, JSON-LD documents can be directly
+    interpreted as RDF as described in RDF 1.1 Concepts [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</p>
+
+  <p>For authors and developers working with <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>
+    as <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> when deserializing to RDF,
+    three potential approaches are suggested:</p>
+
+  <ul>
+    <li>If the author is not yet ready to commit to a stable <abbr title="Internationalized Resource Identifier">IRI</abbr>, the
+      property should be mapped to an <abbr title="Internationalized Resource Identifier">IRI</abbr> that is documented as unstable.</li>
+    <li>If the developer wishes to use <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>
+      as <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> and also wishes to interpret the
+      data as a
+      <a class="tref externalDFN" title="generalized-rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">generalized RDF Dataset</a>,
+      there is an option, <i>produce generalized RDF</i>, in the
+      Deserialize JSON-LD to RDF algorithm [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>] to do so. Note that a
+      <a class="tref externalDFN" title="generalized-rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">generalized RDF Dataset</a>
+      is an extension of RDF; it does not conform to the RDF standard.</li>
+    <li>If the author or developer wishes to use <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>
+      as <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> and wishes to interpret the data
+      as a standard (non-generalized)
+      <a class="tref externalDFN" title="rdf-dataset" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset">RDF Dataset</a>,
+      it is possible to losslessly interpret JSON-LD as RDF by transforming
+      <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a> used as
+      <a class="tref internalDFN" title="property" href="#dfn-property">properties</a> to <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a>,
+      by minting new "Skolem IRIs" as per
+      <cite><a href="http://www.w3.org/TR/rdf11-concepts/#section-skolemization">Replacing Blank Nodes with IRIs</a></cite>
+      of [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</li>
+  </ul>
+
+  <p>The normative algorithms for interpreting JSON-LD as RDF and serializing
+    RDF as JSON-LD are specified in the JSON-LD Processing Algorithms and API
+    specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>].</p>
+
+  <p>Even though JSON-LD serializes
+    <a class="tref externalDFN" title="generalized-rdf-datasets" href="http://www.w3.org/TR/rdf11-concepts/#dfn-generalized-rdf-dataset">generalized RDF Datasets</a>, it can
+    also be used as a <a class="tref externalDFN" title="rdf-graph-source" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF graph source</a>.
+    In that case, a consumer <em class="rfc2119" title="MUST">MUST</em> only use the default graph and ignore all named graphs.
+    This allows servers to expose data in languages such as Turtle and JSON-LD
+    using content negotiation.</p>
+
+  <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_10"><span>Note</span></div><p class="">Publishers supporting both dataset and graph syntaxes have to ensure that
+    the primary data is stored in the default graph to enable consumers that do not support
+    datasets to process the information.</p></div>
+
+  <section class="informative" id="serializing-deserializing-rdf">
+    <h3 aria-level="2" role="heading" id="h3_serializing-deserializing-rdf"><span class="secno">9.1 </span>Serializing/Deserializing RDF</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The process of serializing RDF as JSON-LD and deserializing JSON-LD to RDF
+      depends on executing the algorithms defined in
+      <cite><a href="http://www.w3.org/TR/2014/REC-json-ld-api-20140116/#rdf-serialization-deserialization-algorithms">RDF Serialization-Deserialization Algorithms</a></cite>
+      in the JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>].
+      It is beyond the scope of this document to detail these algorithms any further,
+      but a summary of the necessary operations is provided to illustrate the process.</p>
+
+    <p>The procedure to deserialize a JSON-LD document to RDF involves the
+      following steps:</p>
+
+    <ol>
+      <li>Expand the JSON-LD document, removing any context; this ensures
+        that properties, types, and values are given their full representation
+        as <a class="tref internalDFN" title="iri" href="#dfn-iri">IRIs</a> and expanded values. Expansion
+        is discussed further in <a class="sectionRef sec-ref" href="#expanded-document-form">section 6.17 Expanded Document Form</a>.</li>
+      <li>Flatten the document, which turns the document into an array of
+        <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node objects</a>. Flattening is discussed
+        further in <a class="sectionRef sec-ref" href="#flattened-document-form">section 6.19 Flattened Document Form</a>.</li>
+      <li>Turn each <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> into a series of
+        <a class="tref externalDFN" title="rdf-triples" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple">RDF triples</a>.</li>
+    </ol>
+
+    <p>For example, consider the following JSON-LD document in compact form:</p>
+
+    <div class="example"><div class="example-title"><span>Example 63</span>: Sample JSON-LD document</div><pre class="example">{
+  "@context": {
+    "name": "http://xmlns.com/foaf/0.1/name",
+    "knows": "http://xmlns.com/foaf/0.1/knows"
+  },
+  "@id": "http://me.markus-lanthaler.com/",
+  "name": "Markus Lanthaler",
+  "knows": [
+    {
+      "@id": "http://manu.sporny.org/about#manu",
+      "name": "Manu Sporny"
+    },
+    {
+      "name": "Dave Longley"
+    }
+  ]
+}</pre></div>
+
+    <p>Running the JSON-LD Expansion and Flattening algorithms against the
+      JSON-LD input document in the example above would result in the
+      following output:</p>
+
+    <div class="example"><div class="example-title"><span>Example 64</span>: Flattened and expanded form for the previous example</div><pre class="example">[
+  {
+    "@id": "_:b0",
+    "http://xmlns.com/foaf/0.1/name": "Dave Longley"
+  },
+  {
+    "@id": "http://manu.sporny.org/about#manu",
+    "http://xmlns.com/foaf/0.1/name": "Manu Sporny"
+  },
+  {
+    "@id": "http://me.markus-lanthaler.com/",
+    "http://xmlns.com/foaf/0.1/name": "Markus Lanthaler",
+    "http://xmlns.com/foaf/0.1/knows": [
+      { "@id": "http://manu.sporny.org/about#manu" },
+      { "@id": "_:b0" }
+    ]
+  }
+]</pre></div>
+
+    <p>Deserializing this to RDF now is a straightforward process of turning
+      each <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a> into one or more RDF triples. This can be
+      expressed in Turtle as follows:</p>
+
+    <div class="example"><div class="example-title"><span>Example 65</span>: Turtle representation of expanded/flattened document</div><pre class="example">_:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .
+
+&lt;http://manu.sporny.org/about#manu&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Manu Sporny" .
+
+&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" ;
+    &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://manu.sporny.org/about#manu&gt;, _:b0 .</pre></div>
+
+    <p>The process of serializing RDF as JSON-LD can be thought of as the
+      inverse of this last step, creating an expanded JSON-LD document closely
+      matching the triples from RDF, using a single <a class="tref internalDFN" title="node-object" href="#dfn-node-object">node object</a>
+      for all triples having a common subject, and a single <a class="tref internalDFN" title="property" href="#dfn-property">property</a>
+      for those triples also having a common predicate.</p>
+  </section>
+</section>
+
+<section class="appendix informative" id="relationship-to-other-linked-data-formats">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_relationship-to-other-linked-data-formats"><span class="secno">A. </span>Relationship to Other Linked Data Formats</h2><p><em>This section is non-normative.</em></p>
+
+  <p>The JSON-LD examples below demonstrate how JSON-LD can be used to
+    express semantic data marked up in other linked data formats such as Turtle,
+    RDFa, Microformats, and Microdata. These sections are merely provided as
+    evidence that JSON-LD is very flexible in what it can express across different
+    Linked Data approaches.</p>
+
+  <section class="informative" id="turtle">
+    <h3 aria-level="2" role="heading" id="h3_turtle"><span class="secno">A.1 </span>Turtle</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The following are examples of transforming RDF expressed in Turtle [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>]
+      into JSON-LD.</p>
+
+    <section>
+      <h4 id="prefix-definitions" aria-level="3" role="heading">Prefix definitions</h4><p><em>This section is non-normative.</em></p>
+
+      <p>The JSON-LD context has direct equivalents for the Turtle
+        <code>@prefix</code> declaration:</p>
+
+      <div class="example"><div class="example-title"><span>Example 66</span>: A set of statements serialized in Turtle</div><pre class="example">@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+
+&lt;http://manu.sporny.org/about#manu&gt; a foaf:Person;
+  foaf:name "Manu Sporny";
+  foaf:homepage &lt;http://manu.sporny.org/&gt; .</pre></div>
+
+      <div class="example"><div class="example-title"><span>Example 67</span>: The same set of statements serialized in JSON-LD</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://manu.sporny.org/about#manu",
+  "@type": "foaf:Person",
+  "foaf:name": "Manu Sporny",
+  "foaf:homepage": { "@id": "http://manu.sporny.org/" }
+}</pre></div>
+    </section>
+
+    <section>
+      <h4 id="embedding-1" aria-level="3" role="heading">Embedding</h4>
+
+      <p>Both Turtle and JSON-LD allow embedding, although Turtle only allows embedding of
+        <a class="tref internalDFN" title="blank-node" href="#dfn-blank-node">blank nodes</a>.</p>
+
+      <div class="example"><div class="example-title"><span>Example 68</span>: Embedding in Turtle</div><pre class="example">@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+
+&lt;http://manu.sporny.org/about#manu&gt;
+  a foaf:Person;
+  foaf:name "Manu Sporny";
+  foaf:knows [ a foaf:Person; foaf:name "Gregg Kellogg" ] .</pre></div>
+
+      <div class="example"><div class="example-title"><span>Example 69</span>: Same embedding example in JSON-LD</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://manu.sporny.org/about#manu",
+  "@type": "foaf:Person",
+  "foaf:name": "Manu Sporny",
+  "foaf:knows":
+  {
+    "@type": "foaf:Person",
+    "foaf:name": "Gregg Kellogg"
+  }
+}</pre></div>
+    </section>
+
+    <section>
+      <h4 id="conversion-of-native-data-types" aria-level="3" role="heading">Conversion of native data types</h4>
+
+      <p>In JSON-LD numbers and boolean values are native data types. While Turtle
+        has a shorthand syntax to express such values, RDF's abstract syntax requires
+        that numbers and boolean values are represented as typed literals. Thus,
+        to allow full round-tripping, the JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>]
+        defines conversion rules between JSON-LD's native data types and RDF's
+        counterparts. <a class="tref internalDFN" title="number" href="#dfn-number">Numbers</a> without fractions are
+        converted to <code>xsd:integer</code>-typed literals, numbers with fractions
+        to <code>xsd:double</code>-typed literals and the two boolean values
+        <a class="tref internalDFN" title="true" href="#dfn-true">true</a> and <a class="tref internalDFN" title="false" href="#dfn-false">false</a> to a <code>xsd:boolean</code>-typed
+        literal. All typed literals are in canonical lexical form.</p>
+
+      <div class="example"><div class="example-title"><span>Example 70</span>: JSON-LD using native data types for numbers and boolean values</div><pre class="example">{
+  "@context":
+  {
+    "ex": "http://example.com/vocab#"
+  },
+  "@id": "http://example.com/",
+  "ex:numbers": [ 14, 2.78 ],
+  "ex:booleans": [ true, false ]
+}</pre></div>
+
+      <div class="example"><div class="example-title"><span>Example 71</span>: Same example in Turtle using typed literals</div><pre class="example">@prefix ex: &lt;http://example.com/vocab#&gt; .
+@prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
+
+&lt;http://example.com/&gt;
+  ex:numbers "14"^^xsd:integer, "2.78E0"^^xsd:double ;
+  ex:booleans "true"^^xsd:boolean, "false"^^xsd:boolean .</pre></div>
+
+    </section>
+
+    <section>
+      <h4 id="lists" aria-level="3" role="heading">Lists</h4>
+      <p>Both JSON-LD and Turtle can represent sequential lists of values.</p>
+
+      <div class="example"><div class="example-title"><span>Example 72</span>: A list of values in Turtle</div><pre class="example">@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+
+&lt;http://example.org/people#joebob&gt; a foaf:Person;
+  foaf:name "Joe Bob";
+  foaf:nick ( "joe" "bob" "jaybee" ) .</pre></div>
+
+      <div class="example"><div class="example-title"><span>Example 73</span>: Same example with a list of values in JSON-LD</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@id": "http://example.org/people#joebob",
+  "@type": "foaf:Person",
+  "foaf:name": "Joe Bob",
+  "foaf:nick":
+  {
+    "@list": [ "joe", "bob", "jaybee" ]
+  }
+}</pre></div>
+    </section>
+  </section>
+
+  <section class="informative" id="rdfa">
+    <h3 aria-level="2" role="heading" id="h3_rdfa"><span class="secno">A.2 </span>RDFa</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The following example describes three people with their respective names and
+      homepages in RDFa [<cite><a class="bibref" href="#bib-RDFA-CORE">RDFA-CORE</a></cite>].</p>
+
+    <div class="example"><div class="example-title"><span>Example 74</span>: RDFa fragment that describes three people</div><pre class="example">&lt;div <span class="highlight">prefix="foaf: http://xmlns.com/foaf/0.1/"</span>&gt;
+   &lt;ul&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/bob/" property="foaf:name"</span>&gt;Bob&lt;/a&gt;
+      &lt;/li&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/eve/" property="foaf:name"</span>&gt;Eve&lt;/a&gt;
+      &lt;/li&gt;
+      &lt;li <span class="highlight">typeof="foaf:Person"</span>&gt;
+        &lt;a <span class="highlight">rel="foaf:homepage" href="http://example.com/manu/" property="foaf:name"</span>&gt;Manu&lt;/a&gt;
+      &lt;/li&gt;
+   &lt;/ul&gt;
+&lt;/div&gt;</pre></div>
+
+    <p>An example JSON-LD implementation using a single <a class="tref internalDFN" title="context" href="#dfn-context">context</a> is
+      described below.</p>
+
+    <div class="example"><div class="example-title"><span>Example 75</span>: Same description in JSON-LD (context shared among node objects)</div><pre class="example">{
+  "@context":
+  {
+    "foaf": "http://xmlns.com/foaf/0.1/"
+  },
+  "@graph":
+  [
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/bob/",
+      "foaf:name": "Bob"
+    },
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/eve/",
+      "foaf:name": "Eve"
+    },
+    {
+      "@type": "foaf:Person",
+      "foaf:homepage": "http://example.com/manu/",
+      "foaf:name": "Manu"
+    }
+  ]
+}</pre></div>
+  </section>
+
+  <section class="informative" id="microformats">
+    <h3 aria-level="2" role="heading" id="h3_microformats"><span class="secno">A.3 </span>Microformats</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The following example uses a simple Microformats hCard example to express
+      how Microformats [<cite><a class="bibref" href="#bib-MICROFORMATS">MICROFORMATS</a></cite>] are represented in JSON-LD.</p>
+
+    <div class="example"><div class="example-title"><span>Example 76</span>: HTML fragment with a simple Microformats hCard</div><pre class="example">&lt;div class="vcard"&gt;
+ &lt;a class="url fn" href="http://tantek.com/"&gt;Tantek Çelik&lt;/a&gt;
+&lt;/div&gt;</pre></div>
+
+    <p>The representation of the hCard expresses the Microformat terms in the
+      <a class="tref internalDFN" title="context" href="#dfn-context">context</a> and uses them directly for the <code>url</code> and <code>fn</code>
+      properties. Also note that the Microformat to JSON-LD processor has
+      generated the proper URL type for <code>http://tantek.com/</code>.</p>
+
+    <div class="example"><div class="example-title"><span>Example 77</span>: Same hCard representation in JSON-LD</div><pre class="example">{
+  "@context":
+  {
+    "vcard": "http://microformats.org/profile/hcard#vcard",
+    "url":
+    {
+      "@id": "http://microformats.org/profile/hcard#url",
+      "@type": "@id"
+    },
+    "fn": "http://microformats.org/profile/hcard#fn"
+  },
+  "@type": "vcard",
+  "url": "http://tantek.com/",
+  "fn": "Tantek Çelik"
+}</pre></div>
+  </section>
+
+  <section class="informative" id="microdata">
+    <h3 aria-level="2" role="heading" id="h3_microdata"><span class="secno">A.4 </span>Microdata</h3><p><em>This section is non-normative.</em></p>
+
+    <p>The HTML Microdata [<cite><a class="bibref" href="#bib-MICRODATA">MICRODATA</a></cite>] example below expresses book information as
+      a Microdata Work item.</p>
+
+    <div class="example"><div class="example-title"><span>Example 78</span>: HTML fragments that describes a book using microdata</div><pre class="example">&lt;dl itemscope
+    itemtype="http://purl.org/vocab/frbr/core#Work"
+    itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N"&gt;
+ &lt;dt&gt;Title&lt;/dt&gt;
+ &lt;dd&gt;&lt;cite itemprop="http://purl.org/dc/terms/title"&gt;Just a Geek&lt;/cite&gt;&lt;/dd&gt;
+ &lt;dt&gt;By&lt;/dt&gt;
+ &lt;dd&gt;&lt;span itemprop="http://purl.org/dc/terms/creator"&gt;Wil Wheaton&lt;/span&gt;&lt;/dd&gt;
+ &lt;dt&gt;Format&lt;/dt&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596007683.BOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK"&gt;
+  Print
+ &lt;/dd&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596802189.EBOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK"&gt;
+  Ebook
+ &lt;/dd&gt;
+&lt;/dl&gt;</pre></div>
+
+    <p>Note that the JSON-LD representation of the Microdata information stays
+      true to the desires of the Microdata community to avoid contexts and
+      instead refer to items by their full <a class="tref internalDFN" title="iri" href="#dfn-iri"><abbr title="Internationalized Resource Identifier">IRI</abbr></a>.</p>
+
+    <div class="example"><div class="example-title"><span>Example 79</span>: Same book description in JSON-LD (avoiding contexts)</div><pre class="example">[
+  {
+    "@id": "http://purl.oreilly.com/works/45U8QJGZSQKDH8N",
+    "@type": "http://purl.org/vocab/frbr/core#Work",
+    "http://purl.org/dc/terms/title": "Just a Geek",
+    "http://purl.org/dc/terms/creator": "Whil Wheaton",
+    "http://purl.org/vocab/frbr/core#realization":
+    [
+      "http://purl.oreilly.com/products/9780596007683.BOOK",
+      "http://purl.oreilly.com/products/9780596802189.EBOOK"
+    ]
+  },
+  {
+    "@id": "http://purl.oreilly.com/products/9780596007683.BOOK",
+    "@type": "http://purl.org/vocab/frbr/core#Expression",
+    "http://purl.org/dc/terms/type": "http://purl.oreilly.com/product-types/BOOK"
+  },
+  {
+    "@id": "http://purl.oreilly.com/products/9780596802189.EBOOK",
+    "@type": "http://purl.org/vocab/frbr/core#Expression",
+    "http://purl.org/dc/terms/type": "http://purl.oreilly.com/product-types/EBOOK"
+  }
+]</pre></div>
+  </section>
+</section>
+
+<section class="appendix normative" id="iana-considerations">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_iana-considerations"><span class="secno">B. </span>IANA Considerations</h2>
+
+  <p>This section has been submitted to the Internet Engineering Steering
+    Group (IESG) for review, approval, and registration with IANA.</p>
+
+  <h2 id="application-ld-json">application/ld+json</h2>
+  <dl>
+    <dt>Type name:</dt>
+    <dd>application</dd>
+    <dt>Subtype name:</dt>
+    <dd>ld+json</dd>
+    <dt>Required parameters:</dt>
+    <dd>None</dd>
+    <dt>Optional parameters:</dt>
+    <dd>
+      <dl>
+        <dt><code>profile</code></dt>
+        <dd>
+          <p>A a non-empty list of space-separated URIs identifying specific
+            constraints or conventions that apply to a JSON-LD document according [<cite><a class="bibref" href="#bib-RFC6906">RFC6906</a></cite>].
+            A profile does not change the semantics of the resource representation
+            when processed without profile knowledge, so that clients both with
+            and without knowledge of a profiled resource can safely use the same
+            representation. The <code>profile</code> parameter <em class="rfc2119" title="MAY">MAY</em> be used by
+            clients to express their preferences in the content negotiation process.
+            If the profile parameter is given, a server <em class="rfc2119" title="SHOULD">SHOULD</em> return a document that
+            honors the profiles in the list which are recognized by the server.
+            It is <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em> that profile URIs are dereferenceable and provide
+            useful documentation at that URI. For more information and background
+            please refer to [<cite><a class="bibref" href="#bib-RFC6906">RFC6906</a></cite>].</p>
+          <p>This specification defines three values for the <code>profile</code> parameter.
+            To request or specify <a href="#expanded-document-form">expanded JSON-LD document form</a>,
+            the URI <code>http://www.w3.org/ns/json-ld#expanded</code> <em class="rfc2119" title="SHOULD">SHOULD</em> be used.
+            To request or specify <a href="#compacted-document-form">compacted JSON-LD document form</a>,
+            the URI <code>http://www.w3.org/ns/json-ld#compacted</code> <em class="rfc2119" title="SHOULD">SHOULD</em> be used.
+            To request or specify <a href="#flattened-document-form">flattened JSON-LD document form</a>,
+            the URI <code>http://www.w3.org/ns/json-ld#flattened</code> <em class="rfc2119" title="SHOULD">SHOULD</em> be used.
+            Please note that, according [<cite><a class="bibref" href="#bib-HTTP11">HTTP11</a></cite>], the value of the <code>profile</code>
+            parameter has to be enclosed in quotes (<code>"</code>) because it contains
+            special characters and, if multiple profiles are combined, whitespace.</p>
+          <p>When processing the "profile" media type parameter, it is important to
+            note that its value contains one or more URIs and not IRIs. In some cases
+            it might therefore be necessary to convert between IRIs and URIs as specified in
+            <cite><a href="http://tools.ietf.org/html/rfc3986#section-5.1">section 3 Relationship between IRIs and URIs</a></cite>
+            of [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].</p>
+        </dd>
+      </dl>
+    </dd>
+    <dt>Encoding considerations:</dt>
+    <dd>See RFC&nbsp;6839, section 3.1.</dd>
+    <dt>Security considerations:</dt>
+    <dd>See [<cite><a class="bibref" href="#bib-RFC4627">RFC4627</a></cite>]
+      <p>Since JSON-LD is intended to be a pure data exchange format for
+        directed graphs, the serialization <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> be passed through a
+        code execution mechanism such as JavaScript's <code>eval()</code>
+        function to be parsed. An (invalid) document may contain code that,
+        when executed, could lead to unexpected side effects compromising
+        the security of a system.</p>
+      <p>When processing JSON-LD documents, links to remote contexts are
+        typically followed automatically, resulting in the transfer of files
+        without the explicit request of the user for each one. If remote
+        contexts are served by third parties, it may allow them to gather
+        usage patterns or similar information leading to privacy concerns.
+        Specific implementations, such as the API defined in the
+        JSON-LD Processing Algorithms and API specification [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>],
+        may provide fine-grained mechanisms to control this behavior.</p>
+      <p>JSON-LD contexts that are loaded from the Web over non-secure connections,
+        such as HTTP, run the risk of being altered by an attacker such that
+        they may modify the JSON-LD <a class="tref internalDFN" title="active-context" href="#dfn-active-context">active context</a> in a way that
+        could compromise security. It is advised that any application that
+        depends on a remote context for mission critical purposes vet and
+        cache the remote context before allowing the system to use it.</p>
+      <p>Given that JSON-LD allows the substitution of long IRIs with short terms,
+        JSON-LD documents may expand considerably when processed and, in the worst case,
+        the resulting data might consume all of the recipient's resources. Applications
+        should treat any data with due skepticism.</p>
+    </dd>
+    <dt>Interoperability considerations:</dt>
+    <dd>Not Applicable</dd>
+    <dt>Published specification:</dt>
+    <dd>http://www.w3.org/TR/json-ld</dd>
+    <dt>Applications that use this media type:</dt>
+    <dd>Any programming environment that requires the exchange of
+      directed graphs. Implementations of JSON-LD have been created for
+      JavaScript, Python, Ruby, PHP, and C++.
+    </dd>
+    <dt>Additional information:</dt>
+    <dd>
+      <dl>
+        <dt>Magic number(s):</dt>
+        <dd>Not Applicable</dd>
+        <dt>File extension(s):</dt>
+        <dd>.jsonld</dd>
+        <dt>Macintosh file type code(s):</dt>
+        <dd>TEXT</dd>
+      </dl>
+    </dd>
+    <dt>Person &amp; email address to contact for further information:</dt>
+    <dd>Manu Sporny &lt;msporny@digitalbazaar.com&gt;</dd>
+    <dt>Intended usage:</dt>
+    <dd>Common</dd>
+    <dt>Restrictions on usage:</dt>
+    <dd>None</dd>
+    <dt>Author(s):</dt>
+    <dd>Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Niklas Lindström</dd>
+    <dt>Change controller:</dt>
+    <dd><abbr title="World Wide Web Consortium">W3C</abbr></dd>
+  </dl>
+
+  <p>Fragment identifiers used with <a href="#application-ld-json">application/ld+json</a>
+    are treated as in RDF syntaxes, as per
+    <cite><a href="http://www.w3.org/TR/rdf11-concepts/#section-fragID">RDF 1.1 Concepts and Abstract Syntax</a></cite>
+    [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>].</p>
+</section>
+
+<section class="appendix informative" id="acknowledgements">
+  <!--OddPage--><h2 aria-level="1" role="heading" id="h2_acknowledgements"><span class="secno">C. </span>Acknowledgements</h2><p><em>This section is non-normative.</em></p>
+
+  <p>The authors would like to extend a deep appreciation and the most sincere
+    thanks to Mark Birbeck, who contributed foundational concepts
+    to JSON-LD via his work on RDFj. JSON-LD uses a number of core concepts
+    introduced in RDFj, such as the context as a mechanism to provide an
+    environment for interpreting JSON data. Mark had also been very involved in
+    the work on RDFa as well. RDFj built upon that work. JSON-LD exists
+    because of the work and ideas he started nearly a decade ago in 2004.</p>
+
+  <p>A large amount of thanks goes out to the JSON-LD Community Group
+    participants who worked through many of the technical issues on the mailing
+    list and the weekly telecons - of special mention are François Daoust,
+    Stéphane Corlosquet, Lin Clark, and Zdenko 'Denny' Vrandečić.</p>
+
+  <p>The work of David I. Lehn and Mike Johnson are appreciated for
+    reviewing, and performing several early implementations
+    of the specification. Thanks also to Ian Davis for this work on RDF/JSON.</p>
+
+  <p>Thanks to the following individuals, in order of their first name, for
+    their input on the specification: Adrian Walker, Alexandre Passant,
+    Andy Seaborne, Ben Adida, Blaine Cook, Bradley Allen, Brian Peterson,
+    Bryan Thompson, Conal Tuohy, Dan Brickley, Danny Ayers, Daniel Leja,
+    Dave Reynolds, David Booth, David I. Lehn, David Wood, Dean Landolt,
+    Ed Summers, elf Pavlik,
+    Eric Prud'hommeaux, Erik Wilde, Fabian Christ, Jon A. Frost, Gavin Carothers,
+    Glenn McDonald, Guus Schreiber, Henri Bergius, Jose María Alvarez Rodríguez,
+    Ivan Herman, Jack Moffitt, Josh Mandel, KANZAKI Masahide, Kingsley Idehen,
+    Kuno Woudt, Larry Garfield, Mark Baker, Mark MacGillivray, Marko Rodriguez,
+    Marios Meimaris, Matt Wuerstl,
+    Melvin Carvalho, Nathan Rixham, Olivier Grisel, Paolo Ciccarese, Pat Hayes,
+    Patrick Logan, Paul Kuykendall, Pelle Braendgaard,
+    Peter Patel-Schneider, Peter Williams, Pierre-Antoine Champin,
+    Richard Cyganiak, Roy T. Fielding, Sandro Hawke, Simon Grant, Srecko Joksimovic,
+    Stephane Fellah, Steve Harris, Ted Thibodeau Jr., Thomas Steiner, Tim Bray,
+    Tom Morris, Tristan King, Sergio Fernández, Werner Wilms, and William Waites.</p>
+</section>
+
+
+
+<section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><!--OddPage--><h2 aria-level="1" role="heading" id="h2_references"><span class="secno">D. </span>References</h2><section id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_normative-references"><span class="secno">D.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:requires">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a>. September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a>
+</dd><dt id="bib-RDF11-CONCEPTS">[RDF11-CONCEPTS]</dt><dd rel="dcterms:requires">Richard Cyganiak, David Wood, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">RDF 1.1 Concepts and Abstract Syntax</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/">http://www.w3.org/TR/2014/PR-rdf11-concepts-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119.  URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:requires">M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-RFC4627">[RFC4627]</dt><dd rel="dcterms:requires">D. Crockford. <a href="http://www.ietf.org/rfc/rfc4627.txt"><cite>The application/json Media Type for JavaScript Object Notation (JSON) (RFC 4627)</cite></a>. July 2006. RFC. URL: <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>
+</dd><dt id="bib-RFC5988">[RFC5988]</dt><dd rel="dcterms:requires">M. Nottingham. <cite><a href="http://www.ietf.org/rfc/rfc5988.txt">Web Linking</a></cite>. October 2010. Internet RFC 5988. URL: <a href="http://www.ietf.org/rfc/rfc5988.txt">http://www.ietf.org/rfc/rfc5988.txt</a>
+</dd></dl></section><section id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_informative-references"><span class="secno">D.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-HTTP11">[HTTP11]</dt><dd rel="dcterms:references">R. Fielding et al. <a href="http://www.ietf.org/rfc/rfc2616.txt"><cite>Hypertext Transfer Protocol - HTTP/1.1</cite></a>. June 1999. RFC. URL: <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a>
+</dd><dt id="bib-JSON-LD-API">[JSON-LD-API]</dt><dd rel="dcterms:references">Markus Lanthaler, Gregg Kellogg, Manu Sporny, Editors. <cite><a href="http://www.w3.org/TR/json-ld-api/">JSON-LD 1.0 Processing Algorithms and API</a></cite>. 16 January 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/json-ld-api/">http://www.w3.org/TR/json-ld-api/</a>
+</dd><dt id="bib-LINKED-DATA">[LINKED-DATA]</dt><dd rel="dcterms:references">Tim Berners-Lee. <cite><a href="http://www.w3.org/DesignIssues/LinkedData.html">Linked Data</a></cite>. Personal View, imperfect but published. URL: <a href="http://www.w3.org/DesignIssues/LinkedData.html">http://www.w3.org/DesignIssues/LinkedData.html</a>
+</dd><dt id="bib-MICRODATA">[MICRODATA]</dt><dd rel="dcterms:references">Ian Hickson, Editor. <cite><a href="http://www.w3.org/TR/2013/NOTE-microdata-20131029/">HTML Microdata</a></cite>. 29 October 2013. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-microdata-20131029/">http://www.w3.org/TR/2013/NOTE-microdata-20131029/</a>
+</dd><dt id="bib-MICROFORMATS">[MICROFORMATS]</dt><dd rel="dcterms:references"><a href="http://microformats.org"><cite>Microformats</cite></a>. URL: <a href="http://microformats.org">http://microformats.org</a>
+</dd><dt id="bib-RDF11-MT">[RDF11-MT]</dt><dd rel="dcterms:references">Patrick J. Hayes, Peter F. Patel-Schneider, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">RDF 1.1 Semantics</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/">http://www.w3.org/TR/2014/PR-rdf11-mt-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-mt/">http://www.w3.org/TR/rdf11-mt/</a>
+</dd><dt id="bib-RDF11-SCHEMA">[RDF11-SCHEMA]</dt><dd rel="dcterms:references">Dan Brickley; R.V. Guha, Editors. <cite><a href="http://www.w3.org/TR/2014/PER-rdf-schema-20140109/">RDF Schema 1.1</a></cite>. 9 January 2014. W3C Proposed Edited Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PER-rdf-schema-20140109/">http://www.w3.org/TR/2014/PER-rdf-schema-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf-schema/">http://www.w3.org/TR/rdf-schema/</a>
+</dd><dt id="bib-RDFA-CORE">[RDFA-CORE]</dt><dd rel="dcterms:references">Ben Adida; Mark Birbeck; Shane McCarron; Ivan Herman et al. <a href="http://www.w3.org/TR/rdfa-core/"><cite>RDFa Core 1.1 - Second Edition</cite></a>. 22 August 2013. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdfa-core/">http://www.w3.org/TR/rdfa-core/</a>
+</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:references">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax (RFC 3986)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-RFC6839">[RFC6839]</dt><dd rel="dcterms:references">Tony Hansen, Alexey Melnikov. <cite><a href="http://www.ietf.org/rfc/rfc6839.txt">Additional Media Type Structured Syntax Suffixes</a>.</cite> January 2013. Internet RFC 6839. URL: <a href="http://www.ietf.org/rfc/rfc6839.txt">http://www.ietf.org/rfc/rfc6839.txt</a>
+</dd><dt id="bib-RFC6906">[RFC6906]</dt><dd rel="dcterms:references">Erik Wilde. <cite><a href="http://www.ietf.org/rfc/rfc6906.txt">The 'profile' Link Relation Type</a></cite>. March 2013. Internet RFC 6906. URL: <a href="http://www.ietf.org/rfc/rfc6906.txt">http://www.ietf.org/rfc/rfc6906.txt</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:references">Eric Prud'hommeaux, Gavin Carothers, Editors. <cite><a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">RDF 1.1 Turtle: Terse RDF Triple Language</a></cite>. 9 January 2014. W3C Proposed Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2014/PR-turtle-20140109/">http://www.w3.org/TR/2014/PR-turtle-20140109/</a>. The latest edition is available at <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
+</dd></dl></section></section></body></html>
Binary file spec/REC/json-ld/20140116/linked-data-graph.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/reports/cr-20131022.html	Fri Jan 10 13:53:42 2014 +0100
@@ -0,0 +1,40053 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr" typeof="bibo:Document " about="" property="dcterms:language" content="en">
+<head>
+<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+<title>JSON-LD 1.0 Implementation Report</title>
+<style type="text/css">
+span[property='dc:description'] { display: none; }
+td.PASS { color: green; }
+td.FAIL { color: red; }
+table.report {
+  border-width: 1px;
+  border-spacing: 2px;
+  border-style: outset;
+  border-color: gray;
+  border-collapse: separate;
+  background-color: white;
+}
+table.report th {
+  border-width: 1px;
+  padding: 1px;
+  border-style: inset;
+  border-color: gray;
+  background-color: white;
+}
+table.report td {
+  border-width: 1px;
+  padding: 1px;
+  border-style: inset;
+  border-color: gray;
+  background-color: white;
+}
+tr.summary {font-weight: bold;}
+td.passed-all {color: green;}
+td.passed-most {color: darkorange;}
+td.passed-some {color: red;}
+</style>
+<style>
+/* --- INLINES --- */
+em.rfc2119 {
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><style>/* --- EXAMPLES --- */
+div.example-title {
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.example-title span {
+    text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+    border-color: #e0cb52;
+    background: #fcfaee;
+}
+
+aside.example div.example {
+    border-left-width: .1em;
+    border-color: #999;
+    background: #fff;
+}
+aside.example div.example div.example-title {
+    color: #999;
+}
+</style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/base"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+  <body prefix="earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#" class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader">
+  <p>
+
+      <a href="http://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+  </p>
+  <h1 class="title p-name" id="title" property="dcterms:title">JSON-LD 1.0 Implementation Report</h1>
+
+  <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2013-10-21T22:00:00.000Z" id="w3c-document-22-october-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Document <time class="dt-published" datetime="2013-10-22">22 October 2013</time></h2>
+  <dl>
+
+
+
+      <dt>Test suite:</dt>
+      <dd><a href="http://www.w3.org/2013/json-ld-tests/">http://www.w3.org/2013/json-ld-tests/</a></dd>
+
+
+
+
+
+    <dt>Editors:</dt>
+    <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+
+
+      <dt>Authors:</dt>
+      <dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">Manu Sporny</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">Dave Longley</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://digitalbazaar.com/">Digital Bazaar</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">Gregg Kellogg</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://kellogg-assoc.com/">Kellogg Associates</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">Markus Lanthaler</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.tugraz.at/">Graz University of Technology</a></span>
+</dd>
+<dd class="p-author h-card vcard" rel="dcterms:contributor"><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Niklas Lindström" href="http://neverspace.net/">Niklas Lindström</a></span>
+</dd>
+
+
+
+  </dl>
+
+
+    <p>
+
+        This document is also available in these non-normative formats:
+
+      <a rel="alternate" href="earl.ttl">Turtle</a> and <a rel="alternate" href="earl.jsonld">JSON-LD</a>
+    </p>
+
+
+
+
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+        2010-2013
+
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+
+
+  <hr>
+</div>
+    <section about="" id="abstract" typeof="bibo:Chapter" class="introductory" property="dcterms:abstract" datatype="" resource="#abstract" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2>
+      <p>This document reports on implementations of the
+        <span property="doap:name">JSON-LD&nbsp;1.0</span> specifications. The
+        main purpose of this document is to show that each feature of the
+        specifications has been implemented by demonstrating interoperable
+        implementations of each feature. To evaluate the coverage of an
+        implementation's features, the JSON-LD Test Suite is used as a point
+        of reference.</p>
+    </section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2>
+
+
+
+        <p>
+          This document is merely a <abbr title="World Wide Web Consortium">W3C</abbr>-internal  document. It has no
+          official standing of any kind and does not represent consensus of the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+        </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#test-manifests" class="tocxref"><span class="secno">2. </span>
+        Test Manifests
+      </a><ul class="toc"><li class="tocline"><a href="#compaction" class="tocxref"><span class="secno">2.1 </span>Compaction</a></li><li class="tocline"><a href="#error-handling" class="tocxref"><span class="secno">2.2 </span>Error handling</a></li><li class="tocline"><a href="#expansion" class="tocxref"><span class="secno">2.3 </span>Expansion</a></li><li class="tocline"><a href="#flattening" class="tocxref"><span class="secno">2.4 </span>Flattening</a></li><li class="tocline"><a href="#remote-document" class="tocxref"><span class="secno">2.5 </span>Remote document</a></li><li class="tocline"><a href="#transform-json-ld-to-rdf" class="tocxref"><span class="secno">2.6 </span>Transform JSON-LD to RDF</a></li><li class="tocline"><a href="#transform-rdf-to-json-ld" class="tocxref"><span class="secno">2.7 </span>Transform RDF to JSON-LD</a></li></ul></li><li class="tocline"><a href="#test-subjects" class="tocxref"><span class="secno">A. </span>
+        Test Subjects
+      </a></li><li class="tocline"><a href="#individual-test-results" class="tocxref"><span class="secno">B. </span>
+        Individual Test Results
+      </a></li><li class="tocline"><a href="#test-definitions" class="tocxref"><span class="secno">C. </span>
+        Test Definitions
+      </a></li><li class="tocline"><a href="#appendix" class="tocxref"><span class="secno">D. </span>
+        Report Generation Software
+      </a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">E. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">E.1 </span>Informative references</a></li></ul></li></ul></section>
+    <section id="sodt" typeof="bibo:Chapter" resource="#sodt" rel="bibo:chapter"></section>
+    <section id="introduction">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_introduction"><span class="secno">1. </span>Introduction</h2>
+
+      <p>The goal of this report is to verify whether the <cite>JSON-LD&nbsp;1.0</cite> [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>]
+        and <cite>JSON-LD&nbsp;1.0 Processing Algorithms and API</cite> [<cite><a class="bibref" href="#bib-JSON-LD-API">JSON-LD-API</a></cite>]
+        specifications are implementable.</p>
+
+      <p>To evaluate the coverage of an implementation's features, the
+        <cite>JSON-LD&nbsp;1.0 Test Suite</cite> [<cite><a class="bibref" href="#bib-JSON-LD-TESTS">JSON-LD-TESTS</a></cite>] is used
+        as a point of reference.</p>
+
+      <p>See <a href="http://json-ld.org/test-suite/">JSON-LD Test Description</a> for more information.</p>
+    </section>
+    <section id="test-manifests">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_test-manifests"><span class="secno">2. </span>
+        Test Manifests
+      </h2>
+      <section resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld" typeof="earl:Report mf:Manifest" id="compaction">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_compaction"><span class="secno">2.1 </span>Compaction</h3>
+        <p property="rdfs:comment">JSON-LD compaction tests use object comparison.</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_93ad3a29f73e4ef2dbd8fb48ae24e8e5">Test 0001: drop free-floating nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_74ff426e62cb655f04c7601c2b716f6b">Test 0002: basic</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_c58a57f5dcde984e08ff0db60dd82c8a">Test 0003: drop null and unmapped properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b2ec50e776a8c9e90a19f025a23ecac8">Test 0004: optimize @set, keep empty arrays</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_98d4de8a4c1053d6bc273636e09e4125">Test 0005: @type and prefix compaction</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_aa190ce1abd38bc35c96f6260bda5bd4">Test 0006: keep expanded object format if @type doesn't match</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_3e650c27f1f3fa50609bb34665e49489">Test 0007: add context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_aa2eb428f245dccc8193e03bc7a2a0b7">Test 0008: alias keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_a62e8f91f39902f98b47f6c4ef7fbd0c">Test 0009: compact @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_72b472378ca02f14d0eb00a32bf4efcc">Test 0010: array to @graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_5074d54219f8ce3b6353daca900daf18">Test 0011: compact date</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_7342d2e732e5e4bcf3a2fb9960661ef6">Test 0012: native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_09403ebc1638341c83d0158a95bf49d0">Test 0013: @value with @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_c3cdc5289ff48fa05f258c843a92aa74">Test 0014: array to aliased @graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_afda9bd5042e0621be02eb4491116092">Test 0015: best match compaction</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_5416c960134b2fa1ccd86b3ac1291909">Test 0016: recursive named graphs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_ff6db49e0b4a231b4b7e40a7afbec508">Test 0017: A term mapping to null removes the mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_cc627c31b78f7363e496c2d5c897d1ee">Test 0018: best matching term for lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_197c262422a42fb8e31580fa0ce085f6">Test 0019: Keep duplicate values in @list and @set</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_2152578626de0491551a7c2a916eb5cc">Test 0020: Compact @id that is a property IRI when @container is @list</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_9f33db0bf4b4f931664fad206d3fb7be">Test 0021: Compact properties and types using @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_a00b10c77d427d79aa4ad5702dfdcc16">Test 0022: @list compaction of nested properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_2c6917193d17ce8809137aa3ce5176de">Test 0023: prefer @vocab over compacted IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b48c4606a9d25ba783ccd824f7150676">Test 0024: most specific term matching in @list.</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b99b88f2d1b083516b845e805e4797b0">Test 0025: Language maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_3058c5e63bfc3f309508f7417e0755f9">Test 0026: Language map term selection with complications</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_fd2fa42f413cf0ba6f84625deebffe9c">Test 0027: @container: @set with multiple values</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_9b8a5ab8d592fc5f2023957897b97dee">Test 0028: Alias keywords and use @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_6b7c8ce68ac320628026758e35cc0ef6">Test 0029: Simple @index map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_66e3b3759f7385d93b4fcc86c1e89067">Test 0030: non-matching @container: @index</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_f1c538f7f803667dcc3a69ac021f11a0">Test 0031: Compact @reverse</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_60028f5d635a52cb78ac05d2534efc6b">Test 0032: Compact keys in reverse-maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_833bc5959a1f60a8d2bb0f9cfe833b06">Test 0033: Compact reverse-map to reverse property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_54f8921abf11dd76bebc37d96d55948e">Test 0034: Skip property with @reverse if no match</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_fb74f308e3e7010a8ef13ffb7a9ba0ff">Test 0035: Compact @reverse node references using strings</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_2010bd880f8f33d0e83aa72f9599b440">Test 0036: Compact reverse properties using index containers</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_91a7e9763a01597637e9abd340dabcea">Test 0037: Compact keys in @reverse using @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_7265ed4dc7fe7e1ec19c2f0928a7d0de">Test 0038: Index map round-tripping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_496e5379236609c2ed44a0e04a62a670">Test 0039: @graph is array</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_af3325e100a2c4ae8c156dfbae16c78d">Test 0040: @list is array</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b00114d1cdace47206197896ff18d7e7">Test 0041: index rejects term having @list</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_9d6c8c763b305984bb26e19c2b1849b2">Test 0042: @list keyword aliasing</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_bdc836347bd20baaa864abee1ef220eb">Test 0043: select term over @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_9341e9890090ed8a246193064595b04d">Test 0044: @type: @vocab in reverse-map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_dd541176d440755ef57a8d2eae3d510d">Test 0045: @id value uses relative IRI, not term</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_68f38b377590858b232035a4cae50d41">Test 0046: multiple objects without @context use @graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_061afa28cd948f725dadc5c4f27531c8">Test 0047: Round-trip relative URLs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_ef26db741d540016dc19ee1a259a912e">Test 0048: term with @language: null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_afe80f1e6c01dc461bf52ebb0acf2966">Test 0049: Round tripping of lists that contain just IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_a13306d2661cb2e1fbcb7bcf503518e9">Test 0050: Reverse properties require @type: @id to use string values</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_c00230a11751a99e5409040285a797a5">Test 0051: Round tripping @list with scalar</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_168ec8dc8dc541ca9cc49cb41e91a3aa">Test 0052: Round tripping @list with scalar and @graph alias</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_6a4df87e8628121270f063f27441cab4">Test 0053: Use @type: @vocab if no @type: @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_e6fdc26253e467f4e03567a725b6b05c">Test 0054: Compact to @type: @vocab and compact @id to term</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_50597720d146091f90277cd920c9ad89">Test 0055: Round tripping @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_3b8d74fa66adac7517df7494ea97ba1a">Test 0056: Prefer @type: @vocab over @type: @id for terms</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_66eda03a24597b9b5d01074b8685833a">Test 0057: Complex round tripping @type: @vocab and @type: @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_9f5eab330d91a46888f7dd9f7f737743">Test 0058: Prefer @type: @id over @type: @vocab for non-terms</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b851c4a9e5338a82e8196dcdda8b41c2">Test 0059: Term with @type: @vocab if no @type: @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_db953e9b4e55427f92628d9c1682ec96">Test 0060: Term with @type: @id if no @type: @vocab and term value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_b5a248b93788f1eef7c0cf2928ba264c">Test 0061: @type: @vocab/@id with values matching either</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_8ae215b4aa0f3c1578e20a580d6dfe75">Test 0062: @type: @vocab and relative IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_7e52a56a5c183b798bca7913bcf10c3c">Test 0063: Compact IRI round-tripping with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_29d53a0d46dfeab071594f98b4e7a9de">Test 0064: Compact language-tagged and indexed strings to index-map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_c03a65664262daab1e3a3b9242ba0d13">Test 0065: Language-tagged and indexed strings with language-map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_fbf0f626a4e13e03cf5f23664462da80">Test 0066: Relative IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_63ffc6fd4929cfa6da5a87f173750760">Test 0067: Reverse properties with blank nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_84e0ce3983b7c7e994b0090e3e3fd560">Test 0068: Single value reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_a7d1cd55d6d55938e21a49d682e5acf0">Test 0069: Single value reverse properties with @set</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_934ab02ce56f589efb27647abff77fe1">Test 0070: compactArrays option</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#CompactTest">
+            <td>
+              <a href="#test_c162d669140ccccf0a34072066010904">Test 0071: input has multiple @contexts, output has one</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 71 Tests
+            </td>
+            <td class="passed-most">
+              98.6%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld" typeof="earl:Report mf:Manifest" id="error-handling">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_error-handling"><span class="secno">2.2 </span>Error handling</h3>
+        <p property="rdfs:comment">JSON-LD to Expansion tests use object compare</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0c289d555f6552960199d65274f534d6">Test 0001: Keywords cannot be aliased to other keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_f53a4d212a4637726dfc2de94905b548">Test 0002: A context may not include itself recursively (direct)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0370945f8f1559ee579768f2a38d2b54">Test 0003: A context may not include itself recursively (indirect)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_5fa29c171f9182920943b8689ed36ddc">Test 0004: Error dereferencing a remote context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_d668b2248caf449327e12454cb11f989">Test 0005: Invalid remote context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_1cdfadcdfab7439ed33f7d0cb63d33d8">Test 0006: Invalid local context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_cf7c40be6208c8b98d81a3003e92d8f2">Test 0007: Invalid base IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_7696682e6980f9775e093b2749dadf7d">Test 0008: Invalid vocab mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_cb902922f0b0f5ba2d6b18558099ae25">Test 0009: Invalid default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_2299f62e08c2132a8fbbf0a6c04bdcf8">Test 0010: Cyclic IRI mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a89380a0505b05c218104f95ea9a262e">Test 0011: Invalid term definition</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a470f45d6eb2cfd67356ca4ea2900d5a">Test 0012: Invalid type mapping (not a string)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_87e7f9668f4c2759adf206aab8ac2953">Test 0013: Invalid type mapping (not absolute IRI)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4eb978d61a99d6460c72b2ceb9030d96">Test 0014: Invalid reverse property (contains @id)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_907ba2b9cfdad441d658b9b1504bed9d">Test 0015: Invalid IRI mapping (@reverse not a string)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_5d654011eb4c43e460b5dec1af50285b">Test 0016: Invalid IRI mapping (not an absolute IRI)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_2a56a9957b3e4dd8ddbd6df64782a210">Test 0017: Invalid reverse property (invalid @container)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_f0d577cd39fb64954c1fd42bb5788da4">Test 0018: Invalid IRI mapping (@id not a string)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_dadbd05f1acfce6f89a09a38279cad4a">Test 0019: Invalid keyword alias</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_18b5c03b673c5853a37c78f7309994b6">Test 0020: Invalid IRI mapping (no vocab mapping)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_6805758489f5bde1ded5633e07642498">Test 0021: Invalid container mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_6e491e6357549fe7988da0936504d2b3">Test 0022: Invalid language mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_c849e234134a5749dc3823c3e383660b">Test 0023: Invalid IRI mapping (relative IRI in @type)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_444e83da92b2fd10c9dea3628e21c234">Test 0024: List of lists (from array)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a7e265f69625cbbb463fbb5553abce1e">Test 0025: Invalid reverse property map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a576de459403f2ab855a9485376f2913">Test 0026: Colliding keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4f600b808afc8190e3187e01634ec8f0">Test 0027: Invalid @id value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_17de8d6bfe8b05006b17093b46068eeb">Test 0028: Invalid type value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_1dac5eaa24209144b79812cfee0efcba">Test 0029: Invalid value object value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_dd273e745639f33dd611902b6f9b03db">Test 0030: Invalid language-tagged string</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_647ead69a31a3a845c9836b2a0e335e3">Test 0031: Invalid @index value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4d832ca188546d88f1775015d484d80b">Test 0032: List of lists (from array)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_d19dba3091bcd2d436c40e70ecb57fd4">Test 0033: Invalid @reverse value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_200573d327564d727f9622ed014b5a66">Test 0034: Invalid reverse property value (in @reverse)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_8afa9b2fa7cc2e9427e075eae4db8fa8">Test 0035: Invalid language map value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_e7cd153593f97d65217741ba0a4d257d">Test 0036: Invalid reverse property value (through coercion)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_cf8f73c8c2f5566424242d85b2c4f6ea">Test 0037: Invalid value object (unexpected keyword)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_c997cdcf23d3817c02295db16f5cd016">Test 0038: Invalid value object (@type and @language)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_d957a0296edbf29e619a2f9837e3c049">Test 0039: Invalid language-tagged value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_070bb7a013360152a8fae23dcba2fa23">Test 0040: Invalid typed value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_58136280dde28eac76b36d30eb934861">Test 0041: Invalid set or list object</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4582c72509c9244f7dae218b75e1a5b3">Test 0042: Compaction to list of lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_8fb4894d9c001038d94589f0e6fe031e">Test 0043: Conflicting indexes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 43 Tests
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld" typeof="earl:Report mf:Manifest" id="expansion">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_expansion"><span class="secno">2.3 </span>Expansion</h3>
+        <p property="rdfs:comment">JSON-LD to Expansion tests use object compare</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_0">Argo.Core.JsonLd</a>
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_30400bd733cda10ec34b060e31bee342">Test 0001: drop free-floating nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_8c412a36834c515309821805111f3170">Test 0002: basic</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_6fb15d01d55e323c1d40c908af0025cf">Test 0003: drop null and unmapped properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_46ca05e212eb3f5df12a5ce1240d1a1d">Test 0004: optimize @set, keep empty arrays</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_b508ab4f88c7b5481c2cf64e2737b30f">Test 0005: do not expand aliased @id/@type</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_64ebeef021e3a1db53968ce489eb7667">Test 0006: alias keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_1c8bfb88b1e97399a84e0e23cb10e40b">Test 0007: date type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_639f33a04dbd664474ab488f891c5496">Test 0008: @value with @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_fc3e08bc600239177804ec8be79b64fd">Test 0009: @graph with terms</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_c44d7caa68a769857cd333691253bef4">Test 0010: native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_ab6ef2da0eed998d968827642bfc4c7b">Test 0011: coerced @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_43239674aca32af2715ec3d69cbac162">Test 0012: @graph with embed</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_d9b2850b69f56067af4ec560432f024d">Test 0013: expand already expanded</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_131dee302981a63e9cf25191a0b04fed">Test 0014: @set of @value objects with keyword aliases</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_598e330a34cebcdc7f49b05b8f7e734e">Test 0015: collapse set of sets, keep empty lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_11fa9e5c7cbb6d481c793729a67fbadd">Test 0016: context reset</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_585f44de48c58c553b2c603eaa0b40f3">Test 0017: @graph and @id aliased</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_f78b882860133b2a5f2bd8c43e091a54">Test 0018: override default @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_ecb342df07ce29659600d26193a0067e">Test 0019: remove @value = null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_4e5432713bfb7cd34982a37fe235eb49">Test 0020: do not remove @graph if not at top-level</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_7b97e25a4f36fdfe2131d05d3d2110c6">Test 0021: do not remove @graph at top-level if not only property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_e06d52f699a05ba569127f3662bd9eb3">Test 0022: expand value with default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_447ec1849a078c1441d7ca24a5b5e3e1">Test 0023: Expanding list/set with coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a216189292fa3a556fcbff33e0a51c73">Test 0024: Multiple contexts</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_7a3e3eb7ebd2883c00ada70411a58ed3">Test 0025: Problematic IRI expansion tests</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a2c30bcb91f907474e68cbd1a0b589bb">Test 0026: Term definition with @id: @type</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_cb62583d36ee2301fab8ca80aa10c653">Test 0027: Duplicate values in @list and @set</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_014696c7f3b28814b0dd3472499ec3b6">Test 0028: Use @vocab in properties and @type but not in @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_5661c4455f64d6620df0b635e0dd10af">Test 0029: Relative IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_c7514a36cc3ccdafa9c1405fdcbb6cf2">Test 0030: Language maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_c322f0abf87b89abad70c53a3b84e154">Test 0031: type-coercion of native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_366c394866e4cc24728efc5c0278c53b">Test 0032: Null term and @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a8838a70c263ef2802a25a6a7e7a3a1c">Test 0033: Using @vocab with with type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_aef2f6f000b6fe2017fbe8c640ec9fbe">Test 0034: Multiple properties expanding to the same IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_2f70ba075e355b0bd46c163de1bdd067">Test 0035: Language maps with @vocab, default language, and colliding property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_6aa3d6bec184f5ebbc7194eec44c5853">Test 0036: Expanding @index</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a4f1b95a7f05d7906f1fed0336313f4d">Test 0037: Expanding @reverse</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_15d63589dec74e08695c039b9646bff9">Test 0038: Expanding blank node labels</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_761c63e32e34f17b8c65d21dbe2fea6d">Test 0039: Using terms in a reverse-maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_c37b191aed268057c80bce1c4527ce9f">Test 0040: language and index expansion on non-objects</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_bfe466d2cab1fdd09384ca4ea6704f4d">Test 0041: @language: null resets the default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_0a3ed08bb74045e9c42689f78f6fea30">Test 0042: Reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_7f2b3c20a4dfd08e1cb32980126d8b04">Test 0043: Using reverse properties inside a @reverse-container</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_0f2b7dd66c94fb5d9ba686f1ad9c9e65">Test 0044: Index maps with language mappings</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_8238e660e941ec3daf68a2444f4bafb0">Test 0045: Top-level value objects</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_f263a000a15c2e9b12cefe22b26e8845">Test 0046: Free-floating nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_86ab6f953dfb7a8e2287fe95cabd668d">Test 0047: Free-floating values in sets and free-floating lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a417b11f599d8d5d967130c6a087c373">Test 0048: Terms are ignored in @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_3d5e4c58ee4663a37eaed72629728435">Test 0049: String values of reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_b6578b841cf155a7a3d0f66914b26da5">Test 0050: Term definitions with prefix separate from prefix definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_cdded39b73328621a1b7eac54dfc430c">Test 0051: Expansion of keyword aliases in term definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_b5f7fb037683a080894d27dd239b55b9">Test 0052: @vocab-relative IRIs in term definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_9d382a7f9c100560bf14487cb7f66df9">Test 0053: Expand absolute IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_4f6749dc1eadc257025180339b21aa64">Test 0054: Expand term with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_93f88a337c640186229e5ef50f293294">Test 0055: Expand @vocab-relative term with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a3db5cbf97877b4fd4a0fc749c7d5a6b">Test 0056: Use terms with @type: @vocab but not with @type: @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_5edaed2dc53cfeac1126bbff64cae176">Test 0057: Expand relative IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_9644f33de4e562cb2a1e675eb8579275">Test 0058: Expand compact IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_02a84c00bb064b6c4b6143e633f7594f">Test 0059: Reset @vocab by setting it to null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_75d01ef02382a1a4ea664e07111d6077">Test 0060: Overwrite document base with @base and reset it again</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_d068435e684524b51678e214d7447338">Test 0061: Coercing native types to arbitrary datatypes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_33ac973fae11f33795afd16a647503b5">Test 0062: Various relative IRIs with with @base</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_c3cb22baf4165bc4a2a500492f024837">Test 0063: Reverse property and index container</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_6291c77496bb2a2f0c7498ee90d49966">Test 0064: bnode values of reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_acc6d9fbe49f93a05dedfd3049c125ac">Test 0065: Drop unmapped keys in reverse map</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_6026cd43b7039a0586c06e4a67477cbb">Test 0066: Reverse-map keys with @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_69d9d5cb5e9a5deaa51fe95122486a56">Test 0067: prefix://suffix not a compact IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a9d2b19b2ad03217da932e4b322505c9">Test 0068: _:suffix values are not a compact IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_8d0172557b1a3eaaa95912187fdbe7f3">Test 0069: Compact IRI as term with type mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_00415a21708127e75f67425e12d10761">Test 0070: Compact IRI as term defined using equivalent compact IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_71fb227fe49f4333659a9da759fbc555">Test 0071: Redefine terms looking like compact IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_17f279996d2744c452505740651ae56f">Test 0072: Redefine term using @vocab, not itself</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_8400108fdfc367eb2220a1c0e9ed78cb">Test 0073: @context not first property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_d16ace1c40a3c0a87949ff175f59a034">Test 0074: @id not first property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_e79ab0b007c9404f327c173831db3146">Test 0075: @vocab as blank node identifier</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_16cc176319d4a00a8b836921c4591463">Test 0076: base option overrides document location</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_2bbc458186eccfa3a6e68e561e42f368">Test 0077: expandContext option</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 77 Tests
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld" typeof="earl:Report mf:Manifest" id="flattening">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_flattening"><span class="secno">2.4 </span>Flattening</h3>
+        <p property="rdfs:comment">JSON-LD flattening tests use object comparison.</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_2daa5d2498ac8e9af1b3b34a9d5a228f">Test 0001: drop free-floating nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a59d88fb22670a432cb301d202186c60">Test 0002: basic</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_d467237c855abe2de515ce9d71ab263f">Test 0003: drop null and unmapped properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_3cc90f3b52d2cb054261418fa98d20b0">Test 0004: optimize @set, keep empty arrays</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_852de9e7ddd721a9bc3c6187b73cd93d">Test 0005: do not expand aliased @id/@type</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_c829d30e744dc1ebf69e937db05ab3a5">Test 0006: alias keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_e68eefa65d5bf21b055e5f95a9cfc6d8">Test 0007: date type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_2339bbd77eba9b8d10fc4b6acec8791c">Test 0008: @value with @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_35bbf57ddbfd8fc9e8ecdd0baaf63530">Test 0009: @graph with terms</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_5db48e78dae4ce4a1f6a74d74c9eebe7">Test 0010: native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_a6a2bf65437ebebfe5e466d67a529fc1">Test 0011: coerced @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_e63045b3b723b2b5b06b45d8244e7e1b">Test 0012: @graph with embed</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_c72397197f782c9cefd84c1206f42d68">Test 0013: flatten already expanded</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0c1ecd2df6491da10d154767947de633">Test 0014: @set of @value objects with keyword aliases</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_990446213d50d03f0a37d89e6d367b68">Test 0015: collapse set of sets, keep empty lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_1a45a740c16c052b8ef9c0a34281d0ec">Test 0016: context reset</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_45c71dd5314c1549ee200dda05affa20">Test 0017: @graph and @id aliased</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0c8a94d7fc1bf19ce1bf203b71b3e3b5">Test 0018: override default @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_10e09749224bd290ceba9a06e576fd91">Test 0019: remove @value = null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_6067c276ad59005c5361b2742c32a05f">Test 0020: do not remove @graph if not at top-level</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_ca7c161f620b546b18ef66156e088f19">Test 0021: do not remove @graph at top-level if not only property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4595c606e0ef2eebdb1c5f756dd2f67c">Test 0022: flatten value with default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_b4df4a1749bce67d44a690fc1ce27364">Test 0023: Flattening list/set with coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_311f9d4c0a2d838d0459ca621d9a409e">Test 0024: Multiple contexts</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0b1e0cb66e753689104619c91e1a3fb5">Test 0025: Problematic IRI flattening tests</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_0e2cc799ad12c6ff029feb9d974acf65">Test 0026: Term definition with @id: @type</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_e503ca0f826061010eb005f361b3af8b">Test 0027: Duplicate values in @list and @set</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_7665ac62c2de62bb09da9c187ab18e82">Test 0028: Use @vocab in properties and @type but not in @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_31d456461b7ff42d3f4f6bcb8d77650e">Test 0029: Relative IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_ba8d7a3a6b4410ece6dcd39157a19d5b">Test 0030: Language maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_470ea39e62f45fde0685f7f80cdb8bf7">Test 0031: type-coercion of native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_dfdeaf5869a291d632c730c8c7834e1f">Test 0032: Null term and @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_e5ca68013a149c7f78f8cdf01d9221e5">Test 0033: Using @vocab with with type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_f3b26731a087dc87cd35619fa5502443">Test 0034: Multiple properties expanding to the same IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_89b312037a2f7a03d50a5c370403e5a5">Test 0035: Language maps with @vocab, default language, and colliding property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_667d2bd10ae086ffe97a44c4ccad9fe5">Test 0036: Flattening @index</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_89ac01af9b3a6a766c096bd7046a0256">Test 0037: Flattening reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_fabcce83ebc5c6370fb8a969fa540de6">Test 0038: Flattening blank node labels</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_d507340c65aa03f87c138af32ed05414">Test 0039: Using terms in a reverse-maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4c59f9de0ff5b0a36648afcc0f232fa8">Test 0040: language and index expansion on non-objects</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_4d0f252ba5b08f0ebcdb1fe8005d39ee">Test 0041: Free-floating sets and lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_3aeae4290a4cdc13b4b8459e97a2fb24">Test 0042: List objects not equivalent</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_99505b54a7cdee73556720b3459f6f98">Test 0043: Sample test manifest extract</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_79f5a90f71c40dbc425b5534b6fbf308">Test 0044: compactArrays option</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FlattenTest">
+            <td>
+              <a href="#test_b3ec8a3c4ae53dcf53cb66ff64ff66d1">Test 0045: Blank nodes with reverse properties</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 45 Tests
+            </td>
+            <td class="passed-most">
+              97.8%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld" typeof="earl:Report mf:Manifest" id="remote-document">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_remote-document"><span class="secno">2.5 </span>Remote document</h3>
+        <p property="rdfs:comment">Tests appropriate document loading behavior as defined in the API</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_9907f0143f657239932ff9a721296b91">Test 0001: load JSON-LD document</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_acea9672e63aea155095c5e43edbcd35">Test 0002: load JSON document</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_a360b9e628bef6bdedcff6f45b2e16b0">Test 0003: load JSON document with extension-type</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_dc7888a1c45bd07715093e4583b3051e">Test 0004: loading an unknown type raises loading document failed</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_919386210b748c4fac221b7ec179a7cd">Test 0005: Load JSON-LD through 301 redirect</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_e342c221220ffe2018d7697ca6c1bf9f">Test 0006: Load JSON-LD through 303 redirect</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_5408d824ed05ceac5d988392a46b0e01">Test 0007: Load JSON-LD through 307 redirect</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_f8d9aa1ae47514931a5f68242b973fbe">Test 0008: Non-existant file (404)</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_8cc072279fc76131994975e9ee72d5d9">Test 0009: load JSON-LD document with link</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_ed0088ce313a0850c9bbe93338a5147d">Test 0010: load JSON document with link</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_d28c87f4568e6f6880f05be288696353">Test 0011: load JSON document with extension-type with link</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ExpandTest">
+            <td>
+              <a href="#test_03d309b4de121aed0ac0d91653d56bb0">Test 0012: Multiple context link headers</a>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 12 Tests
+            </td>
+            <td class="passed-some">
+              16.7%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld" typeof="earl:Report mf:Manifest" id="transform-json-ld-to-rdf">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_transform-json-ld-to-rdf"><span class="secno">2.6 </span>Transform JSON-LD to RDF</h3>
+        <p property="rdfs:comment">JSON-LD to RDF tests generate N-Quads output and use string comparison.</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_0">Argo.Core.JsonLd</a>
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_3">RDFLib-JSONLD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_8221dfb95c8d7e917c7e95b5448041f7">Test 0001: Plain literal with URIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_2901ec46c9b7e6c175d4f0886d0abde8">Test 0002: Plain literal with CURIE from default context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_2b7f77e129699f59e1e0a32fb31de8ba">Test 0003: Default subject is BNode</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_837781d4cb06f55728cf0d3bf1b433ea">Test 0004: Literal with language tag</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_168559dc364c3cafa23a5fdc121ed716">Test 0005: Extended character set literal</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_be5bbf826750359cfdf7516b0c7ec88a">Test 0006: Typed literal</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_4d3e1585e39e9437430c7c27f2c3ceb2">Test 0007: Tests 'a' generates rdf:type and object is implicit IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f291d6c4d7c3b71a7ee50c855b4d07b7">Test 0008: Test prefix defined in @context</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_da8f6e7ed341539f3497e42a22606916">Test 0009: Test using an empty suffix</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a026df2c5b553ef156272e470d970626">Test 0010: Test object processing defines object</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0501df8081a96dcdf798239ed749b339">Test 0011: Test object processing defines object with implicit BNode</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d7e1119534704b762b7526143e3a3436">Test 0012: Multiple Objects for a Single Property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b56d743584cc4ff59d35bf292ec982c0">Test 0013: Creation of an empty list</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_3679b83a20863ee63d48e5d1edb0c5f9">Test 0014: Creation of a list with single element</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f2035c68d13c85313e18c957323e7420">Test 0015: Creation of a list with multiple elements</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_5d1d92897194ef22789b74114ed02e64">Test 0016: Empty IRI expands to resource location</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_52da716252134d10ad21023465d60e4c">Test 0017: Relative IRI expands relative resource location</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f2e40b87e4fc57d8bb3d101cda44c837">Test 0018: Frag ID expands relative resource location</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_fc6ba93e5dac251298e413a442b0d199">Test 0019: Test type coercion to anyURI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_65271affc8b92ed902201aeaf428b105">Test 0020: Test type coercion to typed literal</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d1704e1893b615a3e1d96dc2a182e177">Test 0022: Test coercion of double value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a7af12b345dd6b53f99eee01a4c12720">Test 0023: Test coercion of integer value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_ffb20a81139db73cbb9b1561b93f5b42">Test 0024: Test coercion of boolean value</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_70a3d0c2215e490e94272d6622ee847d">Test 0025: Test list coercion with single element</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_840d767e60c3c615673e5efac1237673">Test 0026: Test creation of multiple types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_4e81da3102b86ca5c3d1d6130308b95b">Test 0027: Simple named graph (Wikidata)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_30bc80ba056257df8a196e8f65c097fc">Test 0028: Simple named graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a622ff7987cbfd0c25dcd4959394d718">Test 0029: named graph with embedded named graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_7374aacc7e0025893a966d066fdb58da">Test 0030: top-level graph with string subject reference</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_8e60a940f92909d30be02bcf5b1871ce">Test 0031: Reverse property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_ff90ef401a84ba802bef858d7e58f36b">Test 0032: @context reordering</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e1af6a22532ef49a9773219d29a3f40b">Test 0033: @id reordering</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a6ef305be2e801e1c7821d8ad95a7f3f">Test 0034: context properties reordering</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_adeaa21bca4e166ec3f061e1b9afeaa1">Test 0035: non-fractional numbers converted to xsd:double</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_02f0d4c7a43df3db06f3745a939bfb6b">Test 0036: Use nodeMapGeneration bnode labels</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0e32aa94d9f84a2f2d5e82a0a4b47129">Test 0041: drop free-floating nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_81b36000b509b1b4dd7fe3e4163b344d">Test 0042: basic</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_2c2783823edad864e208a82445142990">Test 0043: drop null and unmapped properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_6e2473651a74893b88cba802d5fc8930">Test 0044: optimize @set, keep empty arrays</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0bb02a1bfe531a6b2ae0a9fdb6cd5872">Test 0045: do not expand aliased @id/@type</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e6e26f24f7a188940d2d4d6052ca7f20">Test 0046: alias keywords</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_20d9d1290d4c26607f848905641bfbc1">Test 0047: date type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_3e024bd2ecc4f8e3df9baca107248b43">Test 0048: @value with @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_fbf5c7ba7c20592984be33d36eabf886">Test 0049: @graph with terms</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f240a5116ccd488d673365de0682f93e">Test 0050: native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_1411efc23854b4bbf70ff4673d806a5d">Test 0051: coerced @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0c19c6652ef6f6566c5bb7c33648c897">Test 0052: @graph with embed</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_122bf1f64c4009c0908aa685439bf8b0">Test 0053: expand already expanded</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_94903b9ea2d6098883584539d003fc8a">Test 0054: @set of @value objects with keyword aliases</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_19bdeb3374a67cb9ee89f24f3bfa78cd">Test 0055: collapse set of sets, keep empty lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_16560eb090ac93156eecca0e9c5e53f8">Test 0056: context reset</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_5ae98e241ddf70df99209379799a3801">Test 0057: @graph and @id aliased</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_df27dca6efd8c657b2f61e59354b0863">Test 0058: override default @language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0f945ac342fd4257729dd2742721e940">Test 0059: remove @value = null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f5a6f43502fa2096fdc5d2587eaad8fe">Test 0060: do not remove @graph if not at top-level</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_c79f996c01ae63c9bdfdc679076c67e3">Test 0061: do not remove @graph at top-level if not only property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_80a79ac8ada8ff9a99774d7720417834">Test 0062: expand value with default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f4e43da54239d82b948e0ed8b05e2937">Test 0063: Lists and sets of properties with list/set coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_8802eb09e077123d3851d94c2209d2a3">Test 0064: Multiple contexts</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_706500bb0daaa202aa1741fe50efe959">Test 0065: Problematic IRI expansion tests</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d1d0955b765af8e4fc2551830a38e732">Test 0066: Expanding term mapping to @type uses @type syntax</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_cc1baa0d34309c9bb3b23954f3cc10d5">Test 0067: Keep duplicate values in @list and @set</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_1b1178b448543c3bb585363364a922b6">Test 0068: Use @vocab in properties and @type but not in @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a00226450cd17091a57406ab82936ac2">Test 0069: Relative IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_eeaacf5020115f8d0ad47dbe4f08c4b6">Test 0070: Language maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_49552d1b611ba05a6039d325f91e6308">Test 0071: type-coercion of native types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_2ecead478c47e269ad54786ef5f90431">Test 0072: Mapping a term to null decouples it from @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_8c5ab30ee8569d239b22fcb29f621335">Test 0073: Using @vocab with with type-coercion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e89eb15d8be51fe1ca37636c15300678">Test 0074: Multiple properties expanding to the same IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b58b94f470d0ade75c613b3e170df56c">Test 0075: Language maps with @vocab, default language, and colliding property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e6a15d8711361f56df69574bb0a27dbf">Test 0076: Expanding @index</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e9ae1ff552df6ddc758aa0775bcf763a">Test 0077: Expanding @reverse</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_89d0ccaa59775bc56df54d2cede79476">Test 0078: Drop blank node predicates by default</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_f875bd6892149503e718fbdbbbd1f08b">Test 0079: Using terms in a reverse-maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0782bac62b444acbd8f2f8d8de92cf44">Test 0080: language and index expansion on non-objects</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_81ea63f14efe66e5752002761d8c0df2">Test 0081: Reset the default language</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_8eed1daa026e471401a0f67894b9a148">Test 0082: Expanding reverse properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_9b7d2dc45c645d8c417ca21ed3801f5a">Test 0083: Using reverse properties inside a @reverse-container</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_36d9ea08728417d940baa69b69fe8e6c">Test 0084: Ensure index maps use language mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_5eeb17235d523b053834048ac38b5045">Test 0085: Top-level value objects are removed</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_45ee25605698799757f1e38440f738f1">Test 0086: Free-floating nodes are removed</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_562ca6f804c4d517a82a3cf58757c417">Test 0087: Remove free-floating set values and lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_bd8406d2f6e18f3daa86598c46e7b905">Test 0088: Terms are ignored in @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d58f7a83ad29b34feac9a8e8c21252a4">Test 0089: Using strings as value of a reverse property</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b39f7afdebfd7bdd269b7bd0718d118c">Test 0090: Term definitions with prefix separate from prefix definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d36f0e8be447dc8b0f8169bfe8ad38b9">Test 0091: Expansion of keyword aliases in term definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_36432637d7599033790fba08b8b4b475">Test 0092: @vocab-relative IRIs in term definitions</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_1fb94bd9e8104abb12ea5bcbf778ce36">Test 0093: Expand absolute IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_6da667dbd9855604d11f213f8f005a0c">Test 0094: Expand term with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_56ff275581fd0ebc31d068b515c5400e">Test 0095: Expand @vocab-relative term with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_24e84cf52d2a31012a78143b5ad54451">Test 0096: Use terms with @type: @vocab but not with @type: @id</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a83a592b911486ed5f7b316ba80eb32e">Test 0097: Expand relative IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_9f4cfb0c53764edf9f44afed8ed32103">Test 0098: Expand compact IRI with @type: @vocab</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_d216584695db2f9150faa8864911209e">Test 0099: Reset @vocab by setting it to null</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_461e87c942689a8b339dd69eb6b1c636">Test 0100: Overwrite document base with @base and reset it again</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_e70e4db9878d081e1a3ac5a826803ea0">Test 0101: Coercing native types to arbitrary datatypes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b6e80e99e993f7dbbba0e209405ec362">Test 0102: Various relative IRIs with with @base</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_0cd0250c362454badc596e4db0a51c93">Test 0103: Expand a reverse property with an index-container</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_291b46ada36991f9ecaa2de34643f6a7">Test 0104: Expand reverse property whose values are unlabeled blank nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b719004ae53d86514a00bec8af1d2f5f">Test 0105: Keys that are not mapped to an IRI in a reverse-map are dropped</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_270a2ef1262605818ece2781cf41cb87">Test 0106: Use @vocab to expand keys in reverse-maps</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_fec263a457d4f96320d88ea8b27d2ddb">Test 0107: prefix:://sufffix not a compact IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_de7ba43601853703e6d33aa8f57a3706">Test 0108: _::sufffix not a compact IRI</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_183188bc11a0b730f6b73cdeb20a0c85">Test 0109: Compact IRI as term with type mapping</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_256a22d52c293f0f6a480e36e6bcad47">Test 0110: Redefine compact IRI with itself</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_b1570a4d8c0701d229685858dd1b0942">Test 0111: Redefine terms looking like compact IRIs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_39c51c9bcb1b2491c43f6e0e59c28cc7">Test 0112: Redefine term using @vocab, not itself</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_c53e957bf8df01ea8e6bdd4b364c730d">Test 0113: Dataset with a IRI named graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_a0d080556890ca48ba445e60a9d24642">Test 0114: Dataset with a IRI named graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_2fe7ebc1f03dee9e80d5715894949748">Test 0115: Dataset with a default and two named graphs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_1a93fb81733466bfaabdeef82306f1f2">Test 0116: Dataset from node with embedded named graph</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_781b3710e1313ea60f5e25db0a5b5238">Test 0117: Dataset from node with embedded named graph (bnode)</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_62d35540b74360eb216acec8dd0298fa">Test 0118: produce generalized RDF flag</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#ToRDFTest">
+            <td>
+              <a href="#test_09a62cb116987d63e3118dcfc315feb8">Test 0119: Blank nodes with reverse properties</a>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 114 Tests
+            </td>
+            <td class="passed-most">
+              99.1%
+            </td>
+            <td class="passed-most">
+              99.1%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-most">
+              98.2%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+      <section resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld" typeof="earl:Report mf:Manifest" id="transform-rdf-to-json-ld">
+        <h3 property="dc:title mf:name" aria-level="2" role="heading" id="h3_transform-rdf-to-json-ld"><span class="secno">2.7 </span>Transform RDF to JSON-LD</h3>
+        <p property="rdfs:comment">Transform RDF to JSON-LD tests take N-Quads input and use object comparison.</p>
+        <table class="report">
+          <tbody><tr>
+            <th>
+              Test
+            </th>
+            <th>
+              <a href="#subj_0">Argo.Core.JsonLd</a>
+            </th>
+            <th>
+              <a href="#subj_1">JSONLD-Java</a>
+            </th>
+            <th>
+              <a href="#subj_2">JSON::LD</a>
+            </th>
+            <th>
+              <a href="#subj_3">RDFLib-JSONLD</a>
+            </th>
+            <th>
+              <a href="#subj_4">jsonld.js browser</a>
+            </th>
+            <th>
+              <a href="#subj_5">jsonld.js node.js</a>
+            </th>
+            <th>
+              <a href="#subj_6">php-json-ld</a>
+            </th>
+            <th>
+              <a href="#subj_7">PyLD</a>
+            </th>
+            <th>
+              <a href="#subj_8">JsonLD</a>
+            </th>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_a5ebfe589bd62d1029790695808f8ff9">Test 0001: Object Lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_e31f3f7d5a78ca4157f582fbfde32707">Test 0002: Native Types</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_3a224095a1c11373d67e090c0ffe8e12">Test 0003: BNodes and references</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_0a8656b8d0f4b81fd6bd26bf4e1cc77e">Test 0004: Lists</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_448e0492a0dc73c71cc3b21fd800f1b9">Test 0005: Document with list</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_b3201a0b02a24d44fe4bb3d1feb37273">Test 0006: Two graphs having same subject but different values</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_f6b3b3da8ed8fb7600a79a5973d3d6fc">Test 0007: Graph with multiple named graphs</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_fa14358e968e5c20adef5f812a8f6abb">Test 0008: List conversion</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="FAIL" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:failed">
+                  FAIL
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_e7d667b0c260bb588b52dcde64e8dcff">Test 0009: List conversion with IRI nodes</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_301d88bbdedaae3990d00cf0b5301ee9">Test 0010: List pattern without rdf:nil</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_fab50674ba0f075dfd2f5dd45ba876bd">Test 0011: List pattern with extra properties</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_a6f79132151ee667d05ed595025ceceb">Test 0012: List pattern with cycles</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_a4da79268ece4ce5783b46ed160031ad">Test 0013: List pattern with multiple values of rdf:first</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_290751eea8778b5bcc53d1e7575d4d9c">Test 0014: List pattern with multiple values of rdf:rest</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_b313194ff09b3f3129569d279c4acd07">Test 0015: List pattern with IRI rdf:rest</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_4b5297d8864f81c9bd5a219fe8f542b2">Test 0016: List pattern with type rdf:List</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_5c21c11338cbeda23edea64f3413652d">Test 0017: Remove duplicate triples</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_64e42006e388ca7d10532a6acdfd9e79">Test 0018: use native types flag set to true</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://tristan.github.com/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr inlist="inlist" rel="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" typeof="earl:TestCriterion earl:TestCase http://json-ld.org/test-suite/vocab#FromRDFTest">
+            <td>
+              <a href="#test_e7e4376916e4e3c88570168b2bfa1f9a">Test 0019: use rdf:type flag set to false</a>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://argodata.com/foaf" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://argodata.com/product/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="UNTESTED" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://github.com/jsonld-java/jsonld-java" property="earl:subject">
+              <link href="earl:notAvailable" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:untested">
+                  UNTESTED
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://greggkellogg.net/foaf#me" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="http://rubygems.org/gems/json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://neverspace.net/id#self" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/RDFLib/rdflib-jsonld#it" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#browser" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/jsonld.js#node.js" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/php-json-ld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="https://github.com/dlongley" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/digitalbazaar/pyld" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+            <td class="PASS" inlist="inlist" property="earl:assertions" typeof="earl:Assertion">
+              <link href="http://me.markus-lanthaler.com/" property="earl:assertedBy">
+              <link href="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019" property="earl:test">
+              <link href="https://github.com/lanthaler/JsonLD" property="earl:subject">
+              <link href="earl:automatic" property="earl:mode">
+              <span property="earl:result" typeof="earl:TestResult">
+                <span property="earl:outcome" resource="earl:passed">
+                  PASS
+                </span>
+              </span>
+            </td>
+          </tr>
+          <tr class="summary">
+            <td>
+              Percentage passed out of 19 Tests
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-some">
+              94.7%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-some">
+              89.5%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+            <td class="passed-all">
+              100.0%
+            </td>
+          </tr>
+        </tbody></table>
+      </section>
+    </section>
+    <section class="appendix" id="test-subjects">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_test-subjects"><span class="secno">A. </span>
+        Test Subjects
+      </h2>
+      <p>
+        This report was tested using the following test subjects:
+      </p>
+      <dl>
+        <dt id="subj_0">
+          <a href="http://argodata.com/product/json-ld">
+            <span about="http://argodata.com/product/json-ld" property="doap:name">Argo.Core.JsonLd</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="http://argodata.com/product/json-ld" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">Argo.Core.JsonLd library for parsing/serializing JSON-LD data in .Net.</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">C#</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="http://www.argodata.com/">
+                http://www.argodata.com/
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="http://argodata.com/foaf" typeof="foaf:Organization">
+                <a href="http://argodata.com/foaf">
+                  <span property="foaf:name">Argo Data Resource Corporation</span>
+                </a>
+                <a href="http://www.argodata.com/" property="foaf:homepage">
+                  http://www.argodata.com/
+                </a>
+              </div>
+              <div resource="http://argodata.com/foaf" typeof="foaf:Person">
+                <a href="http://argodata.com/foaf">
+                  <span property="foaf:name">Argo Data Resource Corporation</span>
+                </a>
+                <a href="http://www.argodata.com/" property="foaf:homepage">
+                  http://www.argodata.com/
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-most">
+                      113/114 (99.1%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_1">
+          <a href="http://github.com/jsonld-java/jsonld-java">
+            <span about="http://github.com/jsonld-java/jsonld-java" property="doap:name">JSONLD-Java</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="http://github.com/jsonld-java/jsonld-java" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">Java</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="http://github.com/jsonld-java/jsonld-java">
+                http://github.com/jsonld-java/jsonld-java
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="http://tristan.github.com/foaf#me" typeof="foaf:Person">
+                <a href="http://tristan.github.com/foaf#me">
+                  <span property="foaf:name">Tristan King</span>
+                </a>
+                <a href="http://tristan.github.com" property="foaf:homepage">
+                  http://tristan.github.com
+                </a>
+              </div>
+              <div resource="https://github.com/ansell/foaf#me" typeof="foaf:Person">
+                <a href="https://github.com/ansell/foaf#me">
+                  <span property="foaf:name">Peter Ansell</span>
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-most">
+                      70/71 (98.6%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-most">
+                      44/45 (97.8%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-some">
+                      2/12 (16.7%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-most">
+                      113/114 (99.1%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-most">
+                      18/19 (94.7%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_2">
+          <a href="http://rubygems.org/gems/json-ld">
+            <span about="http://rubygems.org/gems/json-ld" property="doap:name">JSON::LD</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="http://rubygems.org/gems/json-ld" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">RDF.rb plugin for parsing/serializing JSON-LD data.</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="http://github.com/ruby-rdf/json-ld/">
+                http://github.com/ruby-rdf/json-ld/
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="http://greggkellogg.net/foaf#me" typeof="foaf:Person">
+                <a href="http://greggkellogg.net/foaf#me">
+                  <span property="foaf:name">Gregg Kellogg</span>
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_3">
+          <a href="https://github.com/RDFLib/rdflib-jsonld#it">
+            <span about="https://github.com/RDFLib/rdflib-jsonld#it" property="doap:name">RDFLib-JSONLD</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/RDFLib/rdflib-jsonld#it" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">Python</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/RDFLib/rdflib-jsonld">
+                https://github.com/RDFLib/rdflib-jsonld
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="http://neverspace.net/id#self" typeof="foaf:Person">
+                <a href="http://neverspace.net/id#self">
+                  <span property="foaf:name">Niklas Lindström</span>
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-most">
+                      112/114 (98.2%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-most">
+                      17/19 (89.5%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_4">
+          <a href="https://github.com/digitalbazaar/jsonld.js#browser">
+            <span about="https://github.com/digitalbazaar/jsonld.js#browser" property="doap:name">jsonld.js browser</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/digitalbazaar/jsonld.js#browser" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">A JSON-LD processor for JavaScript</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">JavaScript</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/digitalbazaar/jsonld.js">
+                https://github.com/digitalbazaar/jsonld.js
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="https://github.com/dlongley" typeof="foaf:Person">
+                <a href="https://github.com/dlongley">
+                  <span property="foaf:name">Dave Longley</span>
+                </a>
+                <a href="https://github.com/dlongley" property="foaf:homepage">
+                  https://github.com/dlongley
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_5">
+          <a href="https://github.com/digitalbazaar/jsonld.js#node.js">
+            <span about="https://github.com/digitalbazaar/jsonld.js#node.js" property="doap:name">jsonld.js node.js</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/digitalbazaar/jsonld.js#node.js" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">A JSON-LD processor for JavaScript</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">JavaScript</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/digitalbazaar/jsonld.js">
+                https://github.com/digitalbazaar/jsonld.js
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="https://github.com/dlongley" typeof="foaf:Person">
+                <a href="https://github.com/dlongley">
+                  <span property="foaf:name">Dave Longley</span>
+                </a>
+                <a href="https://github.com/dlongley" property="foaf:homepage">
+                  https://github.com/dlongley
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_6">
+          <a href="https://github.com/digitalbazaar/php-json-ld">
+            <span about="https://github.com/digitalbazaar/php-json-ld" property="doap:name">php-json-ld</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/digitalbazaar/php-json-ld" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">A JSON-LD processor for PHP</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">PHP</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/digitalbazaar/php-json-ld">
+                https://github.com/digitalbazaar/php-json-ld
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="https://github.com/dlongley" typeof="foaf:Person">
+                <a href="https://github.com/dlongley">
+                  <span property="foaf:name">Dave Longley</span>
+                </a>
+                <a href="https://github.com/dlongley" property="foaf:homepage">
+                  https://github.com/dlongley
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_7">
+          <a href="https://github.com/digitalbazaar/pyld">
+            <span about="https://github.com/digitalbazaar/pyld" property="doap:name">PyLD</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/digitalbazaar/pyld" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">A JSON-LD processor for Python</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">Python</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/digitalbazaar/pyld">
+                https://github.com/digitalbazaar/pyld
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="https://github.com/dlongley" typeof="foaf:Person">
+                <a href="https://github.com/dlongley">
+                  <span property="foaf:name">Dave Longley</span>
+                </a>
+                <a href="https://github.com/dlongley" property="foaf:homepage">
+                  https://github.com/dlongley
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+        <dt id="subj_8">
+          <a href="https://github.com/lanthaler/JsonLD">
+            <span about="https://github.com/lanthaler/JsonLD" property="doap:name">JsonLD</span>
+          </a>
+        </dt>
+        <dd inlist="inlist" property="earl:testSubjects" resource="https://github.com/lanthaler/JsonLD" typeof="earl:TestSubject doap:Project">
+          <dl>
+            <dt>Description</dt>
+            <dd lang="en" property="doap:description">JSON-LD processor for PHP</dd>
+            <dt>Programming Language</dt>
+            <dd property="doap:programming-language">PHP</dd>
+            <dt>Home Page</dt>
+            <dd property="doap:homepage">
+              <a href="https://github.com/lanthaler/JsonLD">
+                https://github.com/lanthaler/JsonLD
+              </a>
+            </dd>
+            <dt>Developer</dt>
+            <dd rel="doap:developer">
+              <div resource="http://me.markus-lanthaler.com/" typeof="foaf:Person">
+                <a href="http://me.markus-lanthaler.com/">
+                  <span property="foaf:name">Markus Lanthaler</span>
+                </a>
+                <a href="http://www.markus-lanthaler.com/" property="foaf:homepage">
+                  http://www.markus-lanthaler.com/
+                </a>
+              </div>
+            </dd>
+            <dt>
+              Test Suite Compliance
+            </dt>
+            <dd>
+              <table class="report">
+                <tbody>
+                  <tr>
+                    <td>
+                      Compaction
+                    </td>
+                    <td class="passed-all">
+                      71/71 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Error handling
+                    </td>
+                    <td class="passed-all">
+                      43/43 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Expansion
+                    </td>
+                    <td class="passed-all">
+                      77/77 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Flattening
+                    </td>
+                    <td class="passed-all">
+                      45/45 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Remote document
+                    </td>
+                    <td class="passed-all">
+                      12/12 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform JSON-LD to RDF
+                    </td>
+                    <td class="passed-all">
+                      114/114 (100.0%)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      Transform RDF to JSON-LD
+                    </td>
+                    <td class="passed-all">
+                      19/19 (100.0%)
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+          </dl>
+        </dd>
+      </dl>
+    </section>
+    <section class="appendix" rel="earl:assertions" id="individual-test-results">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_individual-test-results"><span class="secno">B. </span>
+        Individual Test Results
+      </h2>
+      <p>
+        Individual test results used to construct this report are available here:
+      </p>
+      <ul>
+        <li>
+          <a class="source" href="csharp-earl.ttl">csharp-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="earl.ttl">earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="java-earl.ttl">java-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="jsonld.js-browser-earl.ttl">jsonld.js-browser-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="jsonld.js-node.js-earl.ttl">jsonld.js-node.js-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="markus-earl.ttl">markus-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="php-json-ld-earl.ttl">php-json-ld-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="pyld-earl.ttl">pyld-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="rdflib-jsonld-earl.ttl">rdflib-jsonld-earl.ttl</a>
+        </li>
+        <li>
+          <a class="source" href="ruby-earl.ttl">ruby-earl.ttl</a>
+        </li>
+      </ul>
+    </section>
+    <section class="appendix" id="test-definitions">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_test-definitions"><span class="secno">C. </span>
+        Test Definitions
+      </h2>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld">
+        <dt id="test_93ad3a29f73e4ef2dbd8fb48ae24e8e5" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">drop free-floating nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Unreferenced nodes not containing properties are dropped</p>
+          <div class="example"><div class="example-title"><span>Example 1</span>: drop free-floating nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0001-in.jsonld">{"@id": "http://example.org/test#example"}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 2</span>: drop free-floating nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0001-out.jsonld">{}</pre></div>
+        </dd>
+        <dt id="test_74ff426e62cb655f04c7601c2b716f6b" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">basic</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Basic term and value compaction</p>
+          <div class="example"><div class="example-title"><span>Example 3</span>: basic Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0002-in.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": ["v1"],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [4],<br>  "http://example.com/term5": [50, 51]<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 4</span>: basic Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0002-out.jsonld">{<br>  "@context": {<br>    "t1": "http://example.com/t1",<br>    "t2": "http://example.com/t2",<br>    "term1": "http://example.com/term1",<br>    "term2": "http://example.com/term2",<br>    "term3": "http://example.com/term3",<br>    "term4": "http://example.com/term4",<br>    "term5": "http://example.com/term5"<br>  },<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": {"@value": "v2", "@type": "t2"},<br>  "term3": {"@value": "v3", "@language": "en"},<br>  "term4": 4,<br>  "term5": [50, 51]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_c58a57f5dcde984e08ff0db60dd82c8a" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">drop null and unmapped properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Properties mapped to null or which are never mapped are dropped</p>
+          <div class="example"><div class="example-title"><span>Example 5</span>: drop null and unmapped properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0003-in.jsonld">{<br>  "@id": "http://example.org/id",<br>  "http://example.org/property": null,<br>  "regularJson": {<br>    "nonJsonLd": "property",<br>    "deep": [{<br>      "foo": "bar"<br>    }, {<br>      "bar": "foo"<br>    }]<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 6</span>: drop null and unmapped properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0003-out.jsonld">{}</pre></div>
+        </dd>
+        <dt id="test_b2ec50e776a8c9e90a19f025a23ecac8" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">optimize @set, keep empty arrays</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Containers mapped to @set keep empty arrays</p>
+          <div class="example"><div class="example-title"><span>Example 7</span>: optimize @set, keep empty arrays Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0004-in.jsonld">{<br>  "@id": "http://example.org/id",<br>  "http://example.com/mylist1": {"@list": []},<br>  "http://example.com/myset2": {"@set": []},<br>  "http://example.com/myset3": "v1",<br>  "http://example.org/list1": {"@list": []},<br>  "http://example.org/list2": {"@list": [null]},<br>  "http://example.org/set1": {"@set": []},<br>  "http://example.org/set2": {"@set": [null]},<br>  "http://example.org/set3": [],<br>  "http://example.org/set4": [null]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 8</span>: optimize @set, keep empty arrays Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0004-out.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": [],<br>  "myset2": [],<br>  "myset3": ["v1"],<br>  "http://example.org/list1": {"@list": []},<br>  "http://example.org/list2": {"@list": []},<br>  "http://example.org/set1": [],<br>  "http://example.org/set2": [],<br>  "http://example.org/set3": [],<br>  "http://example.org/set4": []<br>}</pre></div>
+        </dd>
+        <dt id="test_98d4de8a4c1053d6bc273636e09e4125" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">@type and prefix compaction</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">Compact uses prefixes in @type</p>
+          <div class="example"><div class="example-title"><span>Example 9</span>: @type and prefix compaction Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0005-in.jsonld">{<br>  "@id": "http://example.org/id1",<br>  "@type": ["http://example.org/Type1", "http://example.org/Type2"],<br>  "http://example.org/term1": {"@value": "v1", "@type": "http://example.org/datatype"},<br>  "http://example.org/term2": {"@id": "http://example.org/id2"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 10</span>: @type and prefix compaction Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0005-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "term1": {"@id": "ex:term1", "@type": "ex:datatype"},<br>    "term2": {"@id": "ex:term2", "@type": "@id"}<br>  },<br>  "@id": "ex:id1",<br>  "@type": ["ex:Type1", "ex:Type2"],<br>  "term1": "v1",<br>  "term2": "ex:id2"<br>}</pre></div>
+        </dd>
+        <dt id="test_aa190ce1abd38bc35c96f6260bda5bd4" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">keep expanded object format if @type doesn't match</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Values not matching a coerced @type remain in expanded form</p>
+          <div class="example"><div class="example-title"><span>Example 11</span>: keep expanded object format if @type doesn't match Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0006-in.jsonld">{<br>  "@id": "http://example.org/id1",<br>  "@type": ["http://example.org/Type1", "http://example.org/Type2"],<br>  "http://example.org/term1": {"@value": "v1", "@type": "http://example.org/different-datatype"},<br>  "http://example.org/term2": {"@id": "http://example.org/id2"}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 12</span>: keep expanded object format if @type doesn't match Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0006-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "term1": {<br>      "@id": "ex:term1",<br>      "@type": "ex:datatype"<br>    },<br>    "term2": "ex:term2"<br>  },<br>  "@id": "ex:id1",<br>  "@type": ["ex:Type1", "ex:Type2"],<br>  "ex:term1": {"@value": "v1", "@type": "ex:different-datatype"},<br>  "term2": {"@id": "ex:id2"}<br>}<br></pre></div>
+        </dd>
+        <dt id="test_3e650c27f1f3fa50609bb34665e49489" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">add context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">External context is added to the compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 13</span>: add context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0007-in.jsonld">{<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "http://purl.org/dc/elements/1.1/description": ["Fun"],<br>      "http://purl.org/dc/elements/1.1/title": ["Chapter One"]<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "http://example.org/vocab#authored": [{"@id": "http://example.org/test#chapter"}],<br>      "http://xmlns.com/foaf/0.1/name": ["Jane"]<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "http://xmlns.com/foaf/0.1/name": ["John"]<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "http://example.org/vocab#contains": [{<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [ "this-is-not-an-IRI" ],<br>        "http://purl.org/dc/elements/1.1/contributor": ["Writer"],<br>        "http://purl.org/dc/elements/1.1/title": ["My Book"]<br>      }]<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 14</span>: add context Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0007-out.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:authored": {"@type": "@id"},<br>    "ex:contains": {"@type": "@id"},<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "dc:description": "Fun",<br>      "dc:title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "ex:authored": "http://example.org/test#chapter",<br>      "foaf:name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "foaf:name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "ex:contains": {<br>        "@id": "http://example.org/test#book",<br>        "dc:contributor": "Writer",<br>        "dc:title": "My Book",<br>        "http://example.org/vocab#contains": "this-is-not-an-IRI"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_aa2eb428f245dccc8193e03bc7a2a0b7" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">alias keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Aliases for keywords are used in compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 15</span>: alias keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0008-in.jsonld">[{<br>  "@id": "http://example.org/test#example1",<br>  "http://example.org/test#property1": [{<br>    "@id": "http://example.org/test#example2",<br>    "http://example.org/test#property4": ["foo"]<br>  }],<br>  "http://example.org/test#property2": [{<br>    "@id": "http://example.org/test#example3"<br>  }],<br>  "http://example.org/test#property3": [{<br>    "@id": "http://example.org/test#example4"<br>  }]<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 16</span>: alias keywords Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0008-out.jsonld">{<br>  "@context": {<br>    "http://example.org/test#property1": {"@type": "@id"},<br>    "http://example.org/test#property2": {"@type": "@id"},<br>    "http://example.org/test#property3": {"@type": "@id"},<br>    "uri": "@id"<br>  },<br>  "http://example.org/test#property1": {<br>    "http://example.org/test#property4": "foo",<br>    "uri": "http://example.org/test#example2"<br>  },<br>  "http://example.org/test#property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": "http://example.org/test#example4",<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_a62e8f91f39902f98b47f6c4ef7fbd0c" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">compact @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">Value with @id is compacted to string if property cast to @id</p>
+          <div class="example"><div class="example-title"><span>Example 17</span>: compact @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0009-in.jsonld">{<br>  "@id": "http://example.org/test#book",<br>  "http://example.org/vocab#contains": {<br>    "@id": "http://example.org/test#chapter"<br>  },<br>  "http://purl.org/dc/elements/1.1/title": "Title"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 18</span>: compact @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0009-out.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:contains": {"@type": "@id"}<br>  },<br>  "@id": "http://example.org/test#book",<br>  "dc:title": "Title",<br>  "ex:contains": "http://example.org/test#chapter"<br>}</pre></div>
+        </dd>
+        <dt id="test_72b472378ca02f14d0eb00a32bf4efcc" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">array to @graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">An array of objects is serialized with @graph</p>
+          <div class="example"><div class="example-title"><span>Example 19</span>: array to @graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0010-in.jsonld">[<br>  {<br>    "@id": "http://example.com/john",<br>    "http://xmlns.com/foaf/0.1/homepage": {<br>      "@id": "http://john.doe.org/"<br>    },<br>    "http://xmlns.com/foaf/0.1/name": "John Doe"<br>  },<br>  {<br>    "@id": "http://example.com/jane",<br>    "http://xmlns.com/foaf/0.1/name": "Jane Doe"<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 20</span>: array to @graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0010-out.jsonld">{<br>  "@context": {<br>    "homepage": {<br>      "@id": "http://xmlns.com/foaf/0.1/homepage",<br>      "@type": "@id"<br>    },<br>    "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.com/john",<br>      "homepage": "http://john.doe.org/",<br>      "name": "John Doe"<br>    },<br>    {<br>      "@id": "http://example.com/jane",<br>      "name": "Jane Doe"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_5074d54219f8ce3b6353daca900daf18" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">compact date</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">Expanded value with type xsd:dateTime is represented as string with type coercion</p>
+          <div class="example"><div class="example-title"><span>Example 21</span>: compact date Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0011-in.jsonld">{<br>  "@id": "http://example.org/test#example1",<br>  "http://example.org/vocab#date": {<br>    "@value": "2011-01-25T00:00:00Z",<br>    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"<br>  },<br>  "http://example.org/vocab#embed": {<br>    "@id": "http://example.org/test#example2",<br>    "http://example.org/vocab#parent": {<br>      "@id": "http://example.org/test#example1"<br>    }<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 22</span>: compact date Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0011-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "ex:date": {"@type": "xsd:dateTime"},<br>    "ex:parent": {"@type": "@id"},<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:date": "2011-01-25T00:00:00Z",<br>  "ex:embed": {<br>    "@id": "http://example.org/test#example2",<br>    "ex:parent": "http://example.org/test#example1"<br>  }<br>}</pre></div>
+        </dd>
+        <dt id="test_7342d2e732e5e4bcf3a2fb9960661ef6" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Native values are unmodified during compaction</p>
+          <div class="example"><div class="example-title"><span>Example 23</span>: native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0012-in.jsonld">{<br>  "@id": "http://example.org/test",<br>  "http://example.org/vocab#bool": true,<br>  "http://example.org/vocab#int": 123<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 24</span>: native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0012-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#"<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:bool": true,<br>  "ex:int": 123<br>}</pre></div>
+        </dd>
+        <dt id="test_09403ebc1638341c83d0158a95bf49d0" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">@value with @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Values with @language remain in expended form by default</p>
+          <div class="example"><div class="example-title"><span>Example 25</span>: @value with @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0013-in.jsonld">{<br>  "@id": "http://example.org/test",<br>  "http://example.org/vocab#test": {"@value": "test", "@language": "en"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 26</span>: @value with @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0013-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#"<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test": {"@value": "test", "@language": "en"}<br>}</pre></div>
+        </dd>
+        <dt id="test_c3cdc5289ff48fa05f258c843a92aa74" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">array to aliased @graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Aliasing @graph uses alias in compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 27</span>: array to aliased @graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0014-in.jsonld">[<br>  {<br>    "@id": "http://example.com/john",<br>    "http://xmlns.com/foaf/0.1/homepage": {<br>      "@id": "http://john.doe.org/"<br>    },<br>    "http://xmlns.com/foaf/0.1/name": "John Doe"<br>  },<br>  {<br>    "@id": "http://example.com/jane",<br>    "http://xmlns.com/foaf/0.1/name": "Jane Doe"<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 28</span>: array to aliased @graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0014-out.jsonld">{<br>  "@context": {<br>    "homepage": {<br>      "@id": "http://xmlns.com/foaf/0.1/homepage",<br>      "@type": "@id"<br>    },<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "data": "@graph"<br>  },<br>  "data": [<br>    {<br>      "@id": "http://example.com/john",<br>      "homepage": "http://john.doe.org/",<br>      "name": "John Doe"<br>    },<br>    {<br>      "@id": "http://example.com/jane",<br>      "name": "Jane Doe"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_afda9bd5042e0621be02eb4491116092" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">best match compaction</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">Property with values of different types use most appropriate term when compacting</p>
+          <div class="example"><div class="example-title"><span>Example 29</span>: best match compaction Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0015-in.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term": [<br>    {"@value": "v1", "@language": "de"},<br>    {"@value": "v2", "@type": "http://example.com/t2"},<br>    {"@value": "v3", "@language": "en"},<br>    {"@list": [1, 2]},<br>    "v5",<br>    {"@value": "plain literal"}<br>  ]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 30</span>: best match compaction Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0015-out.jsonld">{<br>  "@context": {<br>    "t1": "http://example.com/t1",<br>    "t2": "http://example.com/t2",<br>    "term1": "http://example.com/term",<br>    "term2": {"@id": "http://example.com/term", "@type": "t2"},<br>    "term3": {"@id": "http://example.com/term", "@language": "en"},<br>    "term4": {"@id": "http://example.com/term", "@container": "@list"},<br>    "term5": {"@id": "http://example.com/term", "@language": null},<br>    "@language": "de"<br>  },<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": "v2",<br>  "term3": "v3",<br>  "term4": [ 1, 2 ],<br>  "term5": [ "v5", "plain literal" ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_5416c960134b2fa1ccd86b3ac1291909" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">recursive named graphs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">Compacting a document with multiple embedded uses of @graph</p>
+          <div class="example"><div class="example-title"><span>Example 31</span>: recursive named graphs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0016-in.jsonld">[<br>  {<br>    "@id": "http://data.wikipedia.org/snaks/Assertions",<br>    "@type": "http://data.wikipedia.org/vocab#SnakSet",<br>    "http://data.wikipedia.org/vocab#assertedBy": [<br>      { "@value": "Gregg Kellogg" }<br>    ],<br>    "@graph": [<br>      {<br>        "@id": "http://data.wikipedia.org/snaks/BerlinFact",<br>        "@type": [ "http://data.wikipedia.org/vocab#Snak" ],<br>        "http://data.wikipedia.org/vocab#assertedBy": [ { "@value": "Statistik Berlin/Brandenburg" } ],<br>        "@graph": [<br>          {<br>            "@id": "http://en.wikipedia.org/wiki/Berlin",<br>            "http://data.wikipedia.org/vocab#population": [ 3499879 ]<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 32</span>: recursive named graphs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0016-out.jsonld">{<br>  "@context": {<br>    "wd": "http://data.wikipedia.org/vocab#",<br>    "ws": "http://data.wikipedia.org/snaks/",<br>    "wp": "http://en.wikipedia.org/wiki/"<br>  },<br>  "@id": "ws:Assertions",<br>  "@type": "wd:SnakSet",<br>  "@graph": [<br>    {<br>      "@id": "ws:BerlinFact",<br>      "@type": "wd:Snak",<br>      "@graph": [<br>        {<br>          "@id": "wp:Berlin",<br>          "wd:population": 3499879<br>        }<br>      ],<br>      "wd:assertedBy": "Statistik Berlin/Brandenburg"<br>    }<br>  ],<br>  "wd:assertedBy": "Gregg Kellogg"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_ff6db49e0b4a231b4b7e40a7afbec508" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">A term mapping to null removes the mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Mapping a term to null causes the property and its values to be removed from the compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 33</span>: A term mapping to null removes the mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0017-in.jsonld">{<br>  "http://www.w3.org/2000/01/rdf-schema#comment": [<br>    { "@value": "Kommentar auf Deutsch.", "@language": "de" },<br>    { "@value": "Comment in English.", "@language": "en" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 34</span>: A term mapping to null removes the mapping Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0017-out.jsonld">{<br>  "@context": [<br>    {<br>      "comment": { "@id": "http://www.w3.org/2000/01/rdf-schema#comment", "@language": "en" }<br>    },<br>    {<br>      "comment": null,<br>      "comment_en": { "@id": "http://www.w3.org/2000/01/rdf-schema#comment", "@language": "en" }<br>    }<br>  ],<br>  "comment_en": "Comment in English.",<br>  "http://www.w3.org/2000/01/rdf-schema#comment": { "@value": "Kommentar auf Deutsch.", "@language": "de" }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_cc627c31b78f7363e496c2d5c897d1ee" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">best matching term for lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">Lists with values of different types use best term in compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 35</span>: best matching term for lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0018-in.jsonld">{<br>  "@context": {<br>    "type1": "http://example.com/t1",<br>    "type2": "http://example.com/t2"<br>  },<br>  "@id": "http://example.com/id1",<br>  "http://example.com/term": [<br>    {<br>      "@set": [<br>        { "@value": "v0.1", "@language": "de" },<br>        { "@value": "v0.2", "@language": "en" },<br>        "v0.3",<br>        4,<br>        true,<br>        false<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "v1.1", "@language": "de" },<br>        { "@value": "v1.2", "@language": "en" },<br>        "v1.3",<br>        14,<br>        true,<br>        false<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "v2.1", "@language": "en" },<br>        { "@value": "v2.2", "@language": "en" },<br>        { "@value": "v2.3", "@language": "en" },<br>        { "@value": "v2.4", "@language": "en" },<br>        { "@value": "v2.5", "@language": "en" },<br>        { "@value": "v2.6", "@language": "en" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        "v3.1",<br>        "v3.2",<br>        "v3.3",<br>        "v3.4",<br>        "v3.5",<br>        "v3.6"<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "v4.1", "@type": "type1" },<br>        { "@value": "v4.2", "@type": "type1" },<br>        { "@value": "v4.3", "@type": "type1" },<br>        { "@value": "v4.4", "@type": "type1" },<br>        { "@value": "v4.5", "@type": "type1" },<br>        { "@value": "v4.6", "@type": "type1" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "v5.1", "@type": "type2" },<br>        { "@value": "v5.2", "@type": "type2" },<br>        { "@value": "v5.3", "@type": "type2" },<br>        { "@value": "v5.4", "@type": "type2" },<br>        { "@value": "v5.5", "@type": "type2" },<br>        { "@value": "v5.6", "@type": "type2" }<br>      ]<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 36</span>: best matching term for lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0018-out.jsonld">{<br>  "@context": {<br>    "type1": "http://example.com/t1",<br>    "type2": "http://example.com/t2",<br>    "@language": "de",<br>    "term": { "@id": "http://example.com/term" },<br>    "term1": { "@id": "http://example.com/term", "@container": "@list" },<br>    "term2": { "@id": "http://example.com/term", "@container": "@list", "@language": "en" },<br>    "term3": { "@id": "http://example.com/term", "@container": "@list", "@language": null },<br>    "term4": { "@id": "http://example.com/term", "@container": "@list", "@type": "type1" },<br>    "term5": { "@id": "http://example.com/term", "@container": "@list", "@type": "type2" }<br>  },<br>  "@id": "http://example.com/id1",<br>  "term": [<br>    "v0.1",<br>    { "@value": "v0.2", "@language": "en" },<br>    { "@value": "v0.3" },<br>    4,<br>    true,<br>    false<br>  ],<br>  "term1": [<br>    "v1.1",<br>    { "@value": "v1.2", "@language": "en" },<br>    { "@value": "v1.3" },<br>    14,<br>    true,<br>    false<br>  ],<br>  "term2": [<br>    "v2.1",<br>    "v2.2",<br>    "v2.3",<br>    "v2.4",<br>    "v2.5",<br>    "v2.6"<br>  ],<br>  "term3": [<br>    "v3.1",<br>    "v3.2",<br>    "v3.3",<br>    "v3.4",<br>    "v3.5",<br>    "v3.6"<br>  ],<br>  "term4": [<br>    "v4.1",<br>    "v4.2",<br>    "v4.3",<br>    "v4.4",<br>    "v4.5",<br>    "v4.6"<br>  ],<br>  "term5": [<br>    "v5.1",<br>    "v5.2",<br>    "v5.3",<br>    "v5.4",<br>    "v5.5",<br>    "v5.6"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_197c262422a42fb8e31580fa0ce085f6" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">Keep duplicate values in @list and @set</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Duplicate values in @list or @set are retained in compacted document</p>
+          <div class="example"><div class="example-title"><span>Example 37</span>: Keep duplicate values in @list and @set Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0019-in.jsonld">[{<br>  "@id": "http://example.org/id",<br>  "http://example.com/mylist": [{<br>    "@list": [<br>      {"@value": 1},<br>      {"@value": 2},<br>      {"@value": 2},<br>      {"@value": 3}<br>    ]<br>  }],<br>  "http://example.com/myset": [<br>    {"@value": 1},<br>    {"@value": 2},<br>    {"@value": 2},<br>    {"@value": 3}<br>  ]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 38</span>: Keep duplicate values in @list and @set Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0019-out.jsonld">{<br>  "@context": {<br>    "mylist": {"@id": "http://example.com/mylist", "@container": "@list"},<br>    "myset": {"@id": "http://example.com/myset", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist": [1, 2, 2, 3],<br>  "myset": [1, 2, 2, 3]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_2152578626de0491551a7c2a916eb5cc" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020">
+          Test 0020:
+          <span property="dc:title mf:name">Compact @id that is a property IRI when @container is @list</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0020">
+          <p lang="en" property="dc:description">A term with @container: @list is also used as the value of an @id, if appropriate</p>
+          <div class="example"><div class="example-title"><span>Example 39</span>: Compact @id that is a property IRI when @container is @list Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0020-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/ns#"<br>  },<br>  "@id": "ex:property",<br>  "ex:property": {<br>    "@list": [1, 2]<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 40</span>: Compact @id that is a property IRI when @container is @list Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0020-out.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/ns#",<br>    "ex:property": {<br>      "@container": "@list"<br>    }<br>  },<br>  "@id": "ex:property",<br>  "ex:property": [1, 2]<br>}</pre></div>
+        </dd>
+        <dt id="test_9f33db0bf4b4f931664fad206d3fb7be" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021">
+          Test 0021:
+          <span property="dc:title mf:name">Compact properties and types using @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0021">
+          <p lang="en" property="dc:description">@vocab is used to create relative properties and types if no other term matches</p>
+          <div class="example"><div class="example-title"><span>Example 41</span>: Compact properties and types using @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0021-in.jsonld">[<br>  {<br>    "@id": "http://example.com/subdir/id/1",<br>    "@type": [ "http://example.com/subdir/vocab/types/Test" ],<br>    "http://example.com/subdir/vocab/date": [<br>      {<br>        "@value": "2011-01-25T00:00:00Z",<br>        "@type": "http://example.com/subdir/vocab/types/dateTime"<br>      }<br>    ],<br>    "http://example.com/subdir/vocab/embed": [<br>      {<br>        "@id": "http://example.com/subdir/id/2",<br>        "http://example.com/subdir/vocab/expandedDate": [<br>          {<br>            "@value": "2012-08-01T00:00:00Z",<br>            "@type": "http://example.com/subdir/vocab/types/dateTime"<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 42</span>: Compact properties and types using @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0021-out.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/subdir/",<br>    "vocab/date": { "@type": "vocab/types/dateTime" }<br>  },<br>  "@id": "http://example.com/subdir/id/1",<br>  "@type": "vocab/types/Test",<br>  "vocab/date": "2011-01-25T00:00:00Z",<br>  "vocab/embed": {<br>    "@id": "http://example.com/subdir/id/2",<br>    "vocab/expandedDate": {<br>      "@value": "2012-08-01T00:00:00Z",<br>      "@type": "vocab/types/dateTime"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_a00b10c77d427d79aa4ad5702dfdcc16" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022">
+          Test 0022:
+          <span property="dc:title mf:name">@list compaction of nested properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0022">
+          <p lang="en" property="dc:description">Compact nested properties using @list containers</p>
+          <div class="example"><div class="example-title"><span>Example 43</span>: @list compaction of nested properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0022-in.jsonld">[<br>  {<br>    "@id": "https://example.org/ns#Game",<br>    "@type": [<br>      "http://www.w3.org/2002/07/owl#Class"<br>    ],<br>    "https://example.org/ns#properties": [<br>      {<br>        "@list": [<br>          {<br>            "@id": "https://example.org/ns#title"<br>          },<br>          {<br>            "@id": "https://example.org/ns#slug"<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "https://example.org/ns#properties",<br>    "@type": [<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"<br>    ]<br>  },<br>  {<br>    "@id": "https://example.org/ns#slug",<br>    "@type": [<br>      "http://www.w3.org/2002/07/owl#DataProperty",<br>      "http://www.w3.org/2002/07/owl#FunctionalProperty"<br>    ]<br>  },<br>  {<br>    "@id": "https://example.org/ns#title",<br>    "@type": [<br>      "http://www.w3.org/2002/07/owl#DataProperty"<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 44</span>: @list compaction of nested properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0022-out.jsonld">{<br>  "@context": {<br>    "owl": "http://www.w3.org/2002/07/owl#",<br>    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",<br>    "ex": "https://example.org/ns#",<br>    "id": "@id",<br>    "type": "@type",<br>    "ex:properties": {<br>        "@container": "@list"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "id": "ex:Game",<br>      "type": "owl:Class",<br>      "ex:properties": [<br>        { "id": "ex:title" },<br>        { "id": "ex:slug" }<br>      ]<br>    },<br>    {<br>      "id": "ex:properties",<br>      "type": "rdf:Property"<br>    },<br>    {<br>      "id": "ex:slug",<br>      "type": [ "owl:DataProperty", "owl:FunctionalProperty" ]<br>    },<br>    {<br>      "id": "ex:title",<br>      "type": "owl:DataProperty"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_2c6917193d17ce8809137aa3ce5176de" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023">
+          Test 0023:
+          <span property="dc:title mf:name">prefer @vocab over compacted IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0023">
+          <p lang="en" property="dc:description">@vocab takes precedence over prefixes - even if the result is longer</p>
+          <div class="example"><div class="example-title"><span>Example 45</span>: prefer @vocab over compacted IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0023-in.jsonld">[<br>  {<br>    "@id": "http://example.com/subdir/id/1",<br>    "@type": [ "http://example.com/subdir/vocab/types/Test" ],<br>    "http://example.com/subdir/vocab/date": [<br>      {<br>        "@value": "2011-01-25T00:00:00Z",<br>        "@type": "http://example.com/subdir/vocab/types/dateTime"<br>      }<br>    ],<br>    "http://example.com/subdir/vocab/embed": [<br>      {<br>        "@id": "http://example.com/subdir/id/2",<br>        "http://example.com/subdir/vocab/expandedDate": [<br>          {<br>            "@value": "2012-08-01T00:00:00Z",<br>            "@type": "http://example.com/subdir/vocab/types/dateTime"<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 46</span>: prefer @vocab over compacted IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0023-out.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/",<br>    "ex": "http://example.com/subdir/",<br>    "ex:vocab/date": { "@type": "ex:vocab/types/dateTime" }<br>  },<br>  "@id": "ex:id/1",<br>  "@type": "subdir/vocab/types/Test",<br>  "ex:vocab/date": "2011-01-25T00:00:00Z",<br>  "subdir/vocab/embed": {<br>    "@id": "ex:id/2",<br>    "subdir/vocab/expandedDate": {<br>      "@value": "2012-08-01T00:00:00Z",<br>      "@type": "subdir/vocab/types/dateTime"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b48c4606a9d25ba783ccd824f7150676" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024">
+          Test 0024:
+          <span property="dc:title mf:name">most specific term matching in @list.</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0024">
+          <p lang="en" property="dc:description">The most specific term that matches all of the elements in the list, taking into account the default language, must be selected.</p>
+          <div class="example"><div class="example-title"><span>Example 47</span>: most specific term matching in @list. Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0024-in.jsonld">{<br><br>  "@context": {<br>    "type1": "http://example.com/t1",<br>    "type2": "http://example.com/t2"<br>  },<br>  "@id": "http://example.com/id1",<br>  "http://example.com/termLanguage": [<br>    {<br>      "@list": [<br>        { "@value": "termLL0.1", "@language": "de" },<br>        { "@value": "termLL0.2", "@language": "de" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "termLL1.1", "@language": "en" },<br>        { "@value": "termLL1.2", "@language": "en" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        "termLL2.1",<br>        "termLL2.2"<br>      ]<br>    }<br>  ],<br>  "http://example.com/termType": [<br>    {<br>      "@list": [<br>        { "@value": "termTL0.1", "@type": "type1" },<br>        { "@value": "termTL0.2", "@type": "type2" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "termTL1.1", "@type": "type1" },<br>        { "@value": "termTL1.2", "@type": "type1" }<br>      ]<br>    },<br>    {<br>      "@list": [<br>        { "@value": "termTL2.1", "@type": "type2" },<br>        { "@value": "termTL2.2", "@type": "type2" }<br>      ]<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 48</span>: most specific term matching in @list. Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0024-out.jsonld">{<br>  "@context": {<br>    "type1": "http://example.com/t1",<br>    "type2": "http://example.com/t2",<br>    "@language": "de",<br>    "termL": { "@id": "http://example.com/termLanguage" },<br>    "termLL0": { "@id": "http://example.com/termLanguage", "@container": "@list" },<br>    "termLL1": { "@id": "http://example.com/termLanguage", "@container": "@list", "@language": "en" },<br>    "termLL2": { "@id": "http://example.com/termLanguage", "@container": "@list", "@language": null },<br>    "termT": { "@id": "http://example.com/termType" },<br>    "termTL0": { "@id": "http://example.com/termType", "@container": "@list" },<br>    "termTL1": { "@id": "http://example.com/termType", "@container": "@list", "@type": "type1" },<br>    "termTL2": { "@id": "http://example.com/termType", "@container": "@list", "@type": "type2" }<br>  },<br>  "@id": "http://example.com/id1",<br>  "termLL0": [<br>    "termLL0.1",<br>    "termLL0.2"<br>  ],<br>  "termLL1": [<br>    "termLL1.1",<br>    "termLL1.2"<br>  ],<br>  "termLL2": [<br>    "termLL2.1",<br>    "termLL2.2"<br>  ],<br>  "termTL0": [<br>    {<br>      "@type": "type1",<br>      "@value": "termTL0.1"<br>    },<br>    {<br>      "@type": "type2",<br>      "@value": "termTL0.2"<br>    }<br>  ],<br>  "termTL1": [<br>    "termTL1.1",<br>    "termTL1.2"<br>  ],<br>  "termTL2": [<br>    "termTL2.1",<br>    "termTL2.2"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b99b88f2d1b083516b845e805e4797b0" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025">
+          Test 0025:
+          <span property="dc:title mf:name">Language maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0025">
+          <p lang="en" property="dc:description">Multiple values with different languages use language maps if property has @container: @language</p>
+          <div class="example"><div class="example-title"><span>Example 49</span>: Language maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0025-in.jsonld">[<br>  {<br>    "@id": "http://example.com/queen",<br>    "http://example.com/vocab/label":<br>    [<br>      {<br>        "@value": "The Queen",<br>        "@language": "en"<br>      }, {<br>        "@value": "Die Königin",<br>        "@language": "de"<br>      }, {<br>        "@value": "Ihre Majestät",<br>        "@language": "de"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 50</span>: Language maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0025-out.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_3058c5e63bfc3f309508f7417e0755f9" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026">
+          Test 0026:
+          <span property="dc:title mf:name">Language map term selection with complications</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0026">
+          <p lang="en" property="dc:description">Test appropriate property use given language maps with @vocab, a default language, and a competing term</p>
+          <div class="example"><div class="example-title"><span>Example 51</span>: Language map term selection with complications Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0026-in.jsonld">[{<br>   "@id": "http://example.com/queen",<br>   "http://example.com/vocab/label": [<br>      {<br>         "@value": "Il re",<br>         "@language": "it"<br>      }, {<br>         "@value": "The king",<br>         "@language": "en"<br>      }, {<br>         "@value": "The Queen",<br>         "@language": "en"<br>      }, {<br>         "@value": "Die Königin",<br>         "@language": "de"<br>      }, {<br>         "@value": "Ihre Majestät",<br>         "@language": "de"<br>      }<br>   ]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 52</span>: Language map term selection with complications Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0026-out.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "@language": "it",<br>    "s": { "@id": "label", "@language": "en" },<br>    "label": {<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "it": "Il re",<br>    "en": [ "The king", "The Queen" ],<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_fd2fa42f413cf0ba6f84625deebffe9c" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027">
+          Test 0027:
+          <span property="dc:title mf:name">@container: @set with multiple values</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0027">
+          <p lang="en" property="dc:description">Fall back to term with @set container if term with language map is defined</p>
+          <div class="example"><div class="example-title"><span>Example 53</span>: @container: @set with multiple values Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0027-in.jsonld">[{<br>   "@id": "http://example.com/queen",<br>   "http://example.com/vocab/label": [<br>      {<br>         "@value": "Il re",<br>         "@language": "it"<br>      }, {<br>         "@value": "The king",<br>         "@language": "en"<br>      }, {<br>         "@value": "The Queen",<br>         "@language": "en"<br>      }, {<br>         "@value": "Die Königin",<br>         "@language": "de"<br>      }, {<br>         "@value": "Ihre Majestät",<br>         "@language": "de"<br>      }<br>   ]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 54</span>: @container: @set with multiple values Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0027-out.jsonld">{<br>  "@context": {<br>    "label": "http://example.com/vocab/label",<br>    "container": { "@id": "label", "@container": "@set" }<br>  },<br>  "@id": "http://example.com/queen",<br>  "container": [<br>    {<br>      "@value": "Il re",<br>      "@language": "it"<br>    }, {<br>      "@value": "The king",<br>      "@language": "en"<br>    }, {<br>      "@value": "The Queen",<br>      "@language": "en"<br>    }, {<br>      "@value": "Die Königin",<br>      "@language": "de"<br>    }, {<br>      "@value": "Ihre Majestät",<br>      "@language": "de"<br>    }<br>   ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_9b8a5ab8d592fc5f2023957897b97dee" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028">
+          Test 0028:
+          <span property="dc:title mf:name">Alias keywords and use @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0028">
+          <p lang="en" property="dc:description">Combination of keyword aliases and @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 55</span>: Alias keywords and use @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0028-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://xmlns.com/foaf/0.1/",<br>    "homepage": {<br>      "@type": "@id"<br>    },<br>    "uri": "@id"<br>  },<br>  "uri": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepage": "http://www.markus-lanthaler.com/"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 56</span>: Alias keywords and use @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0028-out.jsonld">{<br>  "@context": {<br>    "@vocab": "http://xmlns.com/foaf/0.1/",<br>    "homepage": {<br>      "@type": "@id"<br>    },<br>    "uri": "@id"<br>  },<br>  "uri": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepage": "http://www.markus-lanthaler.com/"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_6b7c8ce68ac320628026758e35cc0ef6" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029">
+          Test 0029:
+          <span property="dc:title mf:name">Simple @index map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0029">
+          <p lang="en" property="dc:description">Output uses index mapping if term is defined with @container: @index</p>
+          <div class="example"><div class="example-title"><span>Example 57</span>: Simple @index map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0029-in.jsonld">[{<br>   "@id": "http://example.com/article",<br>   "http://example.com/vocab/author": [{<br>      "@id": "http://example.org/person/1",<br>      "@index": "regular"<br>   }, {<br>      "@id": "http://example.org/guest/cd24f329aa",<br>      "@index": "guest"<br>   }]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 58</span>: Simple @index map Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0029-out.jsonld">{<br>   "@context": {<br>      "author": {<br>         "@id": "http://example.com/vocab/author",<br>         "@container": "@index"<br>      }<br>   },<br>   "@id": "http://example.com/article",<br>   "author": {<br>      "regular": {<br>         "@id": "http://example.org/person/1"<br>      },<br>      "guest": {<br>         "@id": "http://example.org/guest/cd24f329aa"<br>      }<br>   }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_66e3b3759f7385d93b4fcc86c1e89067" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030">
+          Test 0030:
+          <span property="dc:title mf:name">non-matching @container: @index</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0030">
+          <p lang="en" property="dc:description">Preserve @index tags if not compacted to an index map</p>
+          <div class="example"><div class="example-title"><span>Example 59</span>: non-matching @container: @index Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0030-in.jsonld">[<br>   {<br>      "@id": "http://example.org/indexTest",<br>      "http://example.com/container": [<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexA",<br>            "@index": "A"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexA",<br>            "@index": "this overrides the 'A' index from the container"<br>         },<br>         {<br>            "@value": 1,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "simple string A",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "typed literal A",<br>            "@type": "http://example.org/type",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "language-tagged string A",<br>            "@language": "en",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "simple string B",<br>            "@index": "B"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexC",<br>            "@index": "C"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexC",<br>            "@index": "this overrides the 'C' index from the container"<br>         },<br>         {<br>            "@value": 3,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "simple string C",<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "typed literal C",<br>            "@type": "http://example.org/type",<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "language-tagged string C",<br>            "@language": "en",<br>            "@index": "C"<br>         }<br>      ],<br>      "http://example.com/property": [<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexProp"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexProp",<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": 3,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": "simple string no index"<br>         },<br>         {<br>            "@value": "typed literal Prop",<br>            "@type": "http://example.org/type",<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": "language-tagged string Prop",<br>            "@language": "en",<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": "index using an array with just one element (automatic recovery)",<br>            "@index": "prop"<br>         }<br>      ]<br>   }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 60</span>: non-matching @container: @index Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0030-out.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "indexContainer": { "@id": "http://example.com/container", "@container": "@index" }<br>  },<br>  "@id": "http://example.org/indexTest",<br>  "indexContainer": {<br>    "A": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexA"<br>      },<br>      1,<br>      true,<br>      false,<br>      "simple string A",<br>      {<br>        "@value": "typed literal A",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string A",<br>        "@language": "en"<br>      }<br>    ],<br>    "this overrides the 'A' index from the container": {<br>      "@id": "http://example.org/nodeWithIndexA"<br>    },<br>    "B": "simple string B",<br>    "C": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexC"<br>      },<br>      3,<br>      true,<br>      false,<br>      "simple string C",<br>      {<br>        "@value": "typed literal C",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string C",<br>        "@language": "en"<br>      }<br>    ],<br>    "this overrides the 'C' index from the container": {<br>      "@id": "http://example.org/nodeWithIndexC"<br>    }<br>  },<br>  "property": [<br>    {<br>      "@id": "http://example.org/nodeWithoutIndexProp"<br>    },<br>    {<br>      "@id": "http://example.org/nodeWithIndexProp",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": 3,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": true,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": false,<br>      "@index": "prop"<br>    },<br>    "simple string no index",<br>    {<br>      "@value": "typed literal Prop",<br>      "@type": "http://example.org/type",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": "language-tagged string Prop",<br>      "@language": "en",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": "index using an array with just one element (automatic recovery)",<br>      "@index": "prop"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_f1c538f7f803667dcc3a69ac021f11a0" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031">
+          Test 0031:
+          <span property="dc:title mf:name">Compact @reverse</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0031">
+          <p lang="en" property="dc:description">Compact traverses through @reverse</p>
+          <div class="example"><div class="example-title"><span>Example 61</span>: Compact @reverse Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0031-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 62</span>: Compact @reverse Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0031-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "http://xmlns.com/foaf/0.1/knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_60028f5d635a52cb78ac05d2534efc6b" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032">
+          Test 0032:
+          <span property="dc:title mf:name">Compact keys in reverse-maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0032">
+          <p lang="en" property="dc:description">Compact traverses through @reverse</p>
+          <div class="example"><div class="example-title"><span>Example 63</span>: Compact keys in reverse-maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0032-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 64</span>: Compact keys in reverse-maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0032-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_833bc5959a1f60a8d2bb0f9cfe833b06" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033">
+          Test 0033:
+          <span property="dc:title mf:name">Compact reverse-map to reverse property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0033">
+          <p lang="en" property="dc:description">A reverse map is replaced with a matching property defined with @reverse</p>
+          <div class="example"><div class="example-title"><span>Example 65</span>: Compact reverse-map to reverse property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0033-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 66</span>: Compact reverse-map to reverse property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0033-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "@id": "http://example.com/people/dave",<br>    "name": "Dave Longley"<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_54f8921abf11dd76bebc37d96d55948e" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034">
+          Test 0034:
+          <span property="dc:title mf:name">Skip property with @reverse if no match</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0034">
+          <p lang="en" property="dc:description">Do not use reverse property if no other property matches as normal property</p>
+          <div class="example"><div class="example-title"><span>Example 67</span>: Skip property with @reverse if no match Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0034-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "http://xmlns.com/foaf/0.1/knows": [<br>      {<br>        "@id": "http://example.com/people/dave",<br>        "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>      },<br>      {<br>        "@id": "http://example.com/people/gregg",<br>        "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>      }<br>    ],<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 68</span>: Skip property with @reverse if no match Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0034-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "http://xmlns.com/foaf/0.1/knows": [<br>    {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    {<br>      "@id": "http://example.com/people/gregg",<br>      "name": "Gregg Kellogg"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_fb74f308e3e7010a8ef13ffb7a9ba0ff" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035">
+          Test 0035:
+          <span property="dc:title mf:name">Compact @reverse node references using strings</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0035">
+          <p lang="en" property="dc:description">Compact node references to strings for reverse properties using @type: @id</p>
+          <div class="example"><div class="example-title"><span>Example 69</span>: Compact @reverse node references using strings Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0035-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 70</span>: Compact @reverse node references using strings Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0035-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@type": "@id" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    "http://example.com/people/dave",<br>    "http://example.com/people/gregg"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_2010bd880f8f33d0e83aa72f9599b440" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036">
+          Test 0036:
+          <span property="dc:title mf:name">Compact reverse properties using index containers</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0036">
+          <p lang="en" property="dc:description">Compact using both reverse properties and index containers</p>
+          <div class="example"><div class="example-title"><span>Example 71</span>: Compact reverse properties using index containers Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0036-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "@index": "Dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg",<br>          "@index": "Gregg",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 72</span>: Compact reverse properties using index containers Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0036-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@index" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "Dave": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "Gregg": {<br>      "@id": "http://example.com/people/gregg",<br>      "name": "Gregg Kellogg"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_91a7e9763a01597637e9abd340dabcea" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037">
+          Test 0037:
+          <span property="dc:title mf:name">Compact keys in @reverse using @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0037">
+          <p lang="en" property="dc:description">Compact keys in @reverse using @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 73</span>: Compact keys in @reverse using @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0037-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ],<br>      "http://example.com/vocab/noTerm": [<br>        {<br>          "@id": "http://json-ld.org/test-suite/tests/relative-node",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Compact keys using @vocab" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 74</span>: Compact keys in @reverse using @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0037-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows",<br>    "@vocab": "http://example.com/vocab/"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "noTerm": {<br>      "@id": "relative-node",<br>      "name": "Compact keys using @vocab"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_7265ed4dc7fe7e1ec19c2f0928a7d0de" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038">
+          Test 0038:
+          <span property="dc:title mf:name">Index map round-tripping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0038">
+          <p lang="en" property="dc:description">Complext round-tripping use case from Drupal</p>
+          <div class="example"><div class="example-title"><span>Example 75</span>: Index map round-tripping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0038-in.jsonld">{<br>  "@context": {<br>    "site": "http://example.com/",<br>    "site-cd": "site:site-schema/content-deployment/",<br>    "title": {<br>      "@id": "site-cd:node/article/title",<br>      "@container": "@index"<br>    },<br>    "body": {<br>      "@id": "site-cd:node/article/body",<br>      "@container": "@index"<br>    },<br>    "field_tags": {<br>      "@id": "site-cd:node/article/field_tags",<br>      "@container": "@index"<br>    }<br>  },<br>  "@id": "site:node/1",<br>  "@type": "site-cd:node/article",<br>  "title": {<br>    "en": [<br>      {<br>        "@context": {<br>          "value": "site-cd:node/article/title/value"<br>        },<br>        "@type": "site-cd:field-types/title_field",<br>        "value": "This is the English title"<br>      }<br>    ],<br>    "es": [<br>      {<br>        "@context": {<br>          "value": "site-cd:node/article/title/value"<br>        },<br>        "@type": "site-cd:field-types/title_field",<br>        "value": "Este es el t’tulo espa–ol"<br>      }<br>    ]<br>  },<br>  "body": {<br>    "en": [<br>      {<br>        "@context": {<br>          "value": "site-cd:node/article/body/value",<br>          "summary": "site-cd:node/article/body/summary",<br>          "format": "site-cd:node/article/body/format"<br>        },<br>        "@type": "site-cd:field-types/text_with_summary",<br>        "value": "This is the English body. There is no Spanish body, so this will be displayed for both the English and Spanish versions.",<br>        "summary": "This is the teaser for the body.",<br>        "format": "full_html"<br>      }<br>    ]<br>  },<br>  "field_tags": {<br>    "en": [<br>      {<br>        "@context": {<br>          "uuid": "site-cd:taxonomy/term/uuid"<br>        },<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/1",<br>        "uuid": "e34b982c-98ac-4862-9b00-fa771a388010"<br>      }<br>    ],<br>    "es": [<br>      {<br>        "@context": {<br>          "uuid": "site-cd:taxonomy/term/uuid"<br>        },<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/1",<br>        "uuid": "e34b982c-98ac-4862-9b00-fa771a388010"<br>      },<br>      {<br>        "@context": {<br>          "uuid": "site-cd:taxonomy/term/uuid"<br>        },<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/2",<br>        "uuid": "a55b982c-58ac-4862-9b00-aa221a388010"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 76</span>: Index map round-tripping Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0038-out.jsonld">{<br>  "@context": {<br>    "site": "http://example.com/",<br>    "site-cd": "site:site-schema/content-deployment/",<br>    "title": {<br>      "@id": "site-cd:node/article/title",<br>      "@container": "@index"<br>    },<br>    "body": {<br>      "@id": "site-cd:node/article/body",<br>      "@container": "@index"<br>    },<br>    "field_tags": {<br>      "@id": "site-cd:node/article/field_tags",<br>      "@container": "@index"<br>    }<br>  },<br>  "@id": "site:node/1",<br>  "@type": "site-cd:node/article",<br>  "title": {<br>    "en": {<br>        "@type": "site-cd:field-types/title_field",<br>        "title:/value": "This is the English title"<br>    },<br>    "es": {<br>      "@type": "site-cd:field-types/title_field",<br>      "title:/value": "Este es el t’tulo espa–ol"<br>    }<br>  },<br>  "body": {<br>    "en": {<br>      "@type": "site-cd:field-types/text_with_summary",<br>      "body:/value": "This is the English body. There is no Spanish body, so this will be displayed for both the English and Spanish versions.",<br>      "body:/summary": "This is the teaser for the body.",<br>      "body:/format": "full_html"<br>    }<br>  },<br>  "field_tags": {<br>    "en": {<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/1",<br>        "site-cd:taxonomy/term/uuid": "e34b982c-98ac-4862-9b00-fa771a388010"<br>    },<br>    "es": [<br>      {<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/1",<br>        "site-cd:taxonomy/term/uuid": "e34b982c-98ac-4862-9b00-fa771a388010"<br>      },<br>      {<br>        "@type": "site-cd:taxonomy/term",<br>        "@id": "site:taxonomy/term/2",<br>        "site-cd:taxonomy/term/uuid": "a55b982c-58ac-4862-9b00-aa221a388010"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_496e5379236609c2ed44a0e04a62a670" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039">
+          Test 0039:
+          <span property="dc:title mf:name">@graph is array</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0039">
+          <p lang="en" property="dc:description">Value of @graph is always an array</p>
+          <div class="example"><div class="example-title"><span>Example 77</span>: @graph is array Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0039-in.jsonld">[<br>  {<br>     "@id": "http://example.com/graph/1",<br>     "@graph": [<br>       {<br>          "@id": "http://example.com/node/1",<br>          "http://example.com/property": [ { "@value": "property" } ]<br>       }<br>     ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 78</span>: @graph is array Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0039-out.jsonld">{<br>   "@id": "http://example.com/graph/1",<br>   "@graph": [<br>     {<br>        "@id": "http://example.com/node/1",<br>        "http://example.com/property": "property"<br>     }<br>   ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_af3325e100a2c4ae8c156dfbae16c78d" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040">
+          Test 0040:
+          <span property="dc:title mf:name">@list is array</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0040">
+          <p lang="en" property="dc:description">Ensure that value of @list is always an array</p>
+          <div class="example"><div class="example-title"><span>Example 79</span>: @list is array Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0040-in.jsonld">[<br>    {<br>        "@id": "http://me.markus-lanthaler.com/",<br>        "http://example.com/list": {<br>            "@list": [<br>                "one item"<br>            ]<br>        }<br>    }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 80</span>: @list is array Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0040-out.jsonld">{<br>    "@id": "http://me.markus-lanthaler.com/",<br>    "http://example.com/list": {<br>        "@list": [<br>            "one item"<br>        ]<br>    }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b00114d1cdace47206197896ff18d7e7" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041">
+          Test 0041:
+          <span property="dc:title mf:name">index rejects term having @list</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0041">
+          <p lang="en" property="dc:description">If an index is present, a term having an @list container is not selected</p>
+          <div class="example"><div class="example-title"><span>Example 81</span>: index rejects term having @list Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0041-in.jsonld">[<br>    {<br>      "@id": "http://example.com/node",<br>      "http://example.com/property": [<br>          {<br>            "@index": "an index",<br>            "@list": [<br>                {<br>                  "@value": "one item"<br>                }<br>            ]<br>          }<br>      ]<br>    }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 82</span>: index rejects term having @list Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0041-out.jsonld">{<br>   "@context": {<br>      "name": { "@id": "http://example.com/property", "@container": "@list" }<br>   },<br>   "@id": "http://example.com/node",<br>   "http://example.com/property": {<br>      "@list": [<br>        "one item"<br>      ],<br>      "@index": "an index"<br>   }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_9d6c8c763b305984bb26e19c2b1849b2" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042">
+          Test 0042:
+          <span property="dc:title mf:name">@list keyword aliasing</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0042">
+          <p lang="en" property="dc:description">Make sure keyword aliasing works if a list can't be compacted</p>
+          <div class="example"><div class="example-title"><span>Example 83</span>: @list keyword aliasing Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0042-in.jsonld">[<br>   {<br>    "@id": "http://example.com/node",<br>    "http://example.com/property": [<br>       {<br>        "@list": [<br>           {<br>            "@value": "one item"<br>           }<br>        ],<br>        "@index": "an index"<br>       }<br>    ]<br>   }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 84</span>: @list keyword aliasing Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0042-out.jsonld">{<br>    "@context": {<br>       "listAlias": "@list",<br>       "indexAlias": "@index"<br>    },<br>    "@id": "http://example.com/node",<br>    "http://example.com/property": {<br>        "listAlias": [<br>            "one item"<br>        ],<br>        "indexAlias": "an index"<br>    }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_bdc836347bd20baaa864abee1ef220eb" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043">
+          Test 0043:
+          <span property="dc:title mf:name">select term over @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0043">
+          <p lang="en" property="dc:description">Ensure that @vocab compaction isn't used if the result collides with a term</p>
+          <div class="example"><div class="example-title"><span>Example 85</span>: select term over @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0043-in.jsonld">[<br>  {<br>    "@id": "http://example.com/node",<br>    "http://example.com/name": [<br>      { "@value": "Markus Lanthaler" }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 86</span>: select term over @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0043-out.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/",<br>     "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@id": "http://example.com/node",<br>  "http://example.com/name": "Markus Lanthaler"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_9341e9890090ed8a246193064595b04d" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044">
+          Test 0044:
+          <span property="dc:title mf:name">@type: @vocab in reverse-map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0044">
+          <p lang="en" property="dc:description">Prefer properties with @type: @vocab in reverse-maps if the value can be compacted to a term</p>
+          <div class="example"><div class="example-title"><span>Example 87</span>: @type: @vocab in reverse-map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0044-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        },<br>        {<br>          "@id": "http://example.com/people/DefinedTerm"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 88</span>: @type: @vocab in reverse-map Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0044-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": { "@id": "http://xmlns.com/foaf/0.1/knows", "@type": "@id" },<br>    "knowsVocab": { "@id": "http://xmlns.com/foaf/0.1/knows", "@type": "@vocab" },<br>    "DefinedTerm": "http://example.com/people/DefinedTerm"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": "http://example.com/people/dave",<br>    "knowsVocab": "DefinedTerm"<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_dd541176d440755ef57a8d2eae3d510d" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045">
+          Test 0045:
+          <span property="dc:title mf:name">@id value uses relative IRI, not term</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0045">
+          <p lang="en" property="dc:description">Values of @id are transformed to relative IRIs, terms are ignored</p>
+          <div class="example"><div class="example-title"><span>Example 89</span>: @id value uses relative IRI, not term Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0045-in.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/term",<br>    "http://example.com/property": [<br>      {<br>        "@id": "http://example.com/compact-iris-are-considered",<br>        "http://example.com/property": [<br>          { "@value": "@id supports the following values: relative, absolute, and compact IRIs" }<br>        ]<br>      },<br>      {<br>        "@id": "http://json-ld.org/test-suite/parent-node",<br>        "http://example.com/property": [<br>          { "@value": "relative IRIs get resolved against the document's base IRI" }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 90</span>: @id value uses relative IRI, not term Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0045-out.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/terms-are-not-considered-in-id",<br>    "compact-iris": "http://example.com/compact-iris-",<br>    "property": "http://example.com/property",<br>    "@vocab": "http://example.org/vocab-is-not-considered-for-id"<br>  },<br>  "@id": "term",<br>  "property": [<br>    {<br>      "@id": "compact-iris:are-considered",<br>      "property": "@id supports the following values: relative, absolute, and compact IRIs"<br>    },<br>    {<br>      "@id": "../parent-node",<br>      "property": "relative IRIs get resolved against the document's base IRI"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_68f38b377590858b232035a4cae50d41" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046">
+          Test 0046:
+          <span property="dc:title mf:name">multiple objects without @context use @graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0046">
+          <p lang="en" property="dc:description">Wrap top-level array into @graph even if no context is passed</p>
+          <div class="example"><div class="example-title"><span>Example 91</span>: multiple objects without @context use @graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0046-in.jsonld">[<br>    {<br>      "@id": "http://me.markus-lanthaler.com/",<br>      "http://xmlns.com/foaf/0.1/name": "Markus Lanthaler"<br>    },<br>    {<br>      "@id": "http://greggkellogg.net/foaf#me",<br>      "http://xmlns.com/foaf/0.1/name": "Gregg Kellogg"<br>    }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 92</span>: multiple objects without @context use @graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0046-out.jsonld">{<br>  "@graph": [<br>    {<br>      "@id": "http://me.markus-lanthaler.com/",<br>      "http://xmlns.com/foaf/0.1/name": "Markus Lanthaler"<br>    },<br>    {<br>      "@id": "http://greggkellogg.net/foaf#me",<br>      "http://xmlns.com/foaf/0.1/name": "Gregg Kellogg"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_061afa28cd948f725dadc5c4f27531c8" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047">
+          Test 0047:
+          <span property="dc:title mf:name">Round-trip relative URLs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0047">
+          <p lang="en" property="dc:description">Relative URLs remain relative after compaction</p>
+          <div class="example"><div class="example-title"><span>Example 93</span>: Round-trip relative URLs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0047-in.jsonld">{<br>  "@context": {<br>    "@base": "http://example.com/",<br>    "link": { "@id": "http://example.com/link", "@type": "@id" }<br>  },<br>  "link": "relative-url"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 94</span>: Round-trip relative URLs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0047-out.jsonld">{<br>  "@context": {<br>    "@base": "http://example.com/",<br>    "link": { "@id": "http://example.com/link", "@type": "@id" }<br>  },<br>  "link": "relative-url"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_ef26db741d540016dc19ee1a259a912e" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048">
+          Test 0048:
+          <span property="dc:title mf:name">term with @language: null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0048">
+          <p lang="en" property="dc:description">Prefer terms with a language mapping set to null over terms without language-mapping for non-strings</p>
+          <div class="example"><div class="example-title"><span>Example 95</span>: term with @language: null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0048-in.jsonld">{<br>   "http://example.com/propertyA": 5,<br>   "http://example.com/propertyB": 5<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 96</span>: term with @language: null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0048-out.jsonld">{<br>   "@context": {<br>      "@language": "de",<br>      "propertyLanguageNull": {<br>         "@id": "http://example.com/propertyA",<br>         "@language": null<br>      },<br>      "propertyNoLang": "http://example.com/propertyA",<br>      "propertyB": "http://example.com/propertyB"<br>   },<br>   "propertyLanguageNull": 5,<br>   "propertyB": 5<br>}<br></pre></div>
+        </dd>
+        <dt id="test_afe80f1e6c01dc461bf52ebb0acf2966" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049">
+          Test 0049:
+          <span property="dc:title mf:name">Round tripping of lists that contain just IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0049">
+          <p lang="en" property="dc:description">List compaction without @container: @list still uses strings if @type: @id</p>
+          <div class="example"><div class="example-title"><span>Example 97</span>: Round tripping of lists that contain just IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0049-in.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.org", "@type": "@id" }<br>  },<br>  "property": { "@list": [ "http://example.com/node/a", "http://example.com/node/b", "http://example.com/node/c" ] }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 98</span>: Round tripping of lists that contain just IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0049-out.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.org", "@type": "@id" }<br>  },<br>  "property": { "@list": [ "http://example.com/node/a", "http://example.com/node/b", "http://example.com/node/c" ] }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_a13306d2661cb2e1fbcb7bcf503518e9" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050">
+          Test 0050:
+          <span property="dc:title mf:name">Reverse properties require @type: @id to use string values</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0050">
+          <p lang="en" property="dc:description">Node references in reverse properties are not compacted to strings without explicit type-coercion</p>
+          <div class="example"><div class="example-title"><span>Example 99</span>: Reverse properties require @type: @id to use string values Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0050-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 100</span>: Reverse properties require @type: @id to use string values Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0050-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    { "@id": "http://example.com/people/dave" },<br>    { "@id": "http://example.com/people/gregg" }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_c00230a11751a99e5409040285a797a5" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051">
+          Test 0051:
+          <span property="dc:title mf:name">Round tripping @list with scalar</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0051">
+          <p lang="en" property="dc:description">Native values survive round-tripping with @list</p>
+          <div class="example"><div class="example-title"><span>Example 101</span>: Round tripping @list with scalar Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0051-in.jsonld">{<br>  "http://example.org/term": {<br>    "@list": [1]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 102</span>: Round tripping @list with scalar Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0051-out.jsonld">{<br>  "http://example.org/term": {<br>    "@list": [1]<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_168ec8dc8dc541ca9cc49cb41e91a3aa" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052">
+          Test 0052:
+          <span property="dc:title mf:name">Round tripping @list with scalar and @graph alias</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0052">
+          <p lang="en" property="dc:description">Native values survive round-tripping with @list and @graph alias</p>
+          <div class="example"><div class="example-title"><span>Example 103</span>: Round tripping @list with scalar and @graph alias Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0052-in.jsonld">{<br>  "@context": {<br>    "graph": "@graph",<br>    "term": "http://example.org/term"<br>  },<br>  "graph": [<br>    {<br>      "term": {<br>        "@list": [1]<br>      }<br>    },<br>    {<br>      "term": {<br>        "@list": [2]<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 104</span>: Round tripping @list with scalar and @graph alias Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0052-out.jsonld">{<br>  "@context": {<br>    "graph": "@graph",<br>    "term": "http://example.org/term"<br>  },<br>  "graph": [<br>    {<br>      "term": {<br>        "@list": [1]<br>      }<br>    },<br>    {<br>      "term": {<br>        "@list": [2]<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_6a4df87e8628121270f063f27441cab4" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053">
+          Test 0053:
+          <span property="dc:title mf:name">Use @type: @vocab if no @type: @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0053">
+          <p lang="en" property="dc:description">Compact to @type: @vocab when no @type: @id term available</p>
+          <div class="example"><div class="example-title"><span>Example 105</span>: Use @type: @vocab if no @type: @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0053-in.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 106</span>: Use @type: @vocab if no @type: @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0053-out.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"}<br>  },<br>  "term": "http://example.org/enum"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_e6fdc26253e467f4e03567a725b6b05c" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054">
+          Test 0054:
+          <span property="dc:title mf:name">Compact to @type: @vocab and compact @id to term</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0054">
+          <p lang="en" property="dc:description">Compact to @type: @vocab and compact @id to term</p>
+          <div class="example"><div class="example-title"><span>Example 107</span>: Compact to @type: @vocab and compact @id to term Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0054-in.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 108</span>: Compact to @type: @vocab and compact @id to term Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0054-out.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_50597720d146091f90277cd920c9ad89" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055">
+          Test 0055:
+          <span property="dc:title mf:name">Round tripping @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0055">
+          <p lang="en" property="dc:description">Compacting IRI value of property with @type: @vocab can use term</p>
+          <div class="example"><div class="example-title"><span>Example 109</span>: Round tripping @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0055-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 110</span>: Round tripping @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0055-out.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_3b8d74fa66adac7517df7494ea97ba1a" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056">
+          Test 0056:
+          <span property="dc:title mf:name">Prefer @type: @vocab over @type: @id for terms</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0056">
+          <p lang="en" property="dc:description">Compacting IRI value of property with @type: @vocab can use term</p>
+          <div class="example"><div class="example-title"><span>Example 111</span>: Prefer @type: @vocab over @type: @id for terms Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0056-in.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 112</span>: Prefer @type: @vocab over @type: @id for terms Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0056-out.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "doNotSelect": {"@id": "http://example.org/term"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_66eda03a24597b9b5d01074b8685833a" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057">
+          Test 0057:
+          <span property="dc:title mf:name">Complex round tripping @type: @vocab and @type: @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0057">
+          <p lang="en" property="dc:description">Compacting IRI value of property with @type: @vocab can use term; more complex</p>
+          <div class="example"><div class="example-title"><span>Example 113</span>: Complex round tripping @type: @vocab and @type: @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0057-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepageID": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@id" },<br>    "homepageV": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@vocab" },<br>    "linkID": { "@id": "http://example.com/link", "@type": "@id" },<br>    "linkV": { "@id": "http://example.com/link", "@type": "@vocab" },<br>    "MarkusHomepage": "http://www.markus-lanthaler.com/",<br>    "relative-iri": "http://example.com/error-if-this-is-used-for-link"<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepageV": "MarkusHomepage",<br>  "linkID": "relative-iri"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 114</span>: Complex round tripping @type: @vocab and @type: @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0057-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepageID": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@id" },<br>    "homepageV": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@vocab" },<br>    "linkID": { "@id": "http://example.com/link", "@type": "@id" },<br>    "linkV": { "@id": "http://example.com/link", "@type": "@vocab" },<br>    "MarkusHomepage": "http://www.markus-lanthaler.com/",<br>    "relative-iri": "http://example.com/error-if-this-is-used-for-link"<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepageV": "MarkusHomepage",<br>  "linkID": "relative-iri"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_9f5eab330d91a46888f7dd9f7f737743" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058">
+          Test 0058:
+          <span property="dc:title mf:name">Prefer @type: @id over @type: @vocab for non-terms</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0058">
+          <p lang="en" property="dc:description">Choose a term having @type: @id over @type: @value if value is not a term</p>
+          <div class="example"><div class="example-title"><span>Example 115</span>: Prefer @type: @id over @type: @vocab for non-terms Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0058-in.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 116</span>: Prefer @type: @id over @type: @vocab for non-terms Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0058-out.jsonld">{<br>  "@context": {<br>    "notChosen": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "chosen": {"@id": "http://example.org/term", "@type": "@id"}<br>  },<br>  "chosen": "http://example.org/enum"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b851c4a9e5338a82e8196dcdda8b41c2" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059">
+          Test 0059:
+          <span property="dc:title mf:name">Term with @type: @vocab if no @type: @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0059">
+          <p lang="en" property="dc:description">If there's no term with @type: @id, use terms with @type: @vocab for IRIs not mapped to terms</p>
+          <div class="example"><div class="example-title"><span>Example 117</span>: Term with @type: @vocab if no @type: @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0059-in.jsonld">[<br>  {<br>    "http://example.com/vocab#foo": [<br>       { "@id": "http://example.com/vocab#Bar" },<br>       { "@id": "http://example.com/vocab#Baz" }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 118</span>: Term with @type: @vocab if no @type: @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0059-out.jsonld">{<br>  "@context": {<br>    "Bar": "http://example.com/vocab#Bar",<br>    "foo": {<br>      "@id": "http://example.com/vocab#foo",<br>      "@type": "@vocab"<br>    }<br>  },<br>  "foo": [<br>    "Bar",<br>    "http://example.com/vocab#Baz"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_db953e9b4e55427f92628d9c1682ec96" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060">
+          Test 0060:
+          <span property="dc:title mf:name">Term with @type: @id if no @type: @vocab and term value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0060">
+          <p lang="en" property="dc:description">If there's no term with @type: @vocab, use terms with @type: @id for IRIs mapped to terms</p>
+          <div class="example"><div class="example-title"><span>Example 119</span>: Term with @type: @id if no @type: @vocab and term value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0060-in.jsonld">[<br>  {<br>    "http://example.com/vocab#foo": [<br>       { "@id": "http://example.com/vocab#Bar" },<br>       { "@id": "http://example.com/vocab#Baz" }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 120</span>: Term with @type: @id if no @type: @vocab and term value Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0060-out.jsonld">{<br>  "@context": {<br>    "Bar": "http://example.com/vocab#Bar",<br>    "foo": {<br>      "@id": "http://example.com/vocab#foo",<br>      "@type": "@id"<br>    }<br>  },<br>  "foo": [<br>    "http://example.com/vocab#Bar",<br>    "http://example.com/vocab#Baz"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b5a248b93788f1eef7c0cf2928ba264c" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061">
+          Test 0061:
+          <span property="dc:title mf:name">@type: @vocab/@id with values matching either</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0061">
+          <p lang="en" property="dc:description">Separate IRIs for the same property to use term with more specific @type (@id vs. @vocab)</p>
+          <div class="example"><div class="example-title"><span>Example 121</span>: @type: @vocab/@id with values matching either Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0061-in.jsonld">[<br>  {<br>    "http://example.com/vocab#foo": [<br>       { "@id": "http://example.com/vocab#Bar" },<br>       { "@id": "http://example.com/vocab#Baz" }<br>    ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 122</span>: @type: @vocab/@id with values matching either Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0061-out.jsonld">{<br>  "@context": {<br>    "Bar": "http://example.com/vocab#Bar",<br>    "fooI": {<br>      "@id": "http://example.com/vocab#foo",<br>      "@type": "@id"<br>    },<br>    "fooV": {<br>      "@id": "http://example.com/vocab#foo",<br>      "@type": "@vocab"<br>    }<br>  },<br>  "fooV": "Bar",<br>  "fooI": "http://example.com/vocab#Baz"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_8ae215b4aa0f3c1578e20a580d6dfe75" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062">
+          Test 0062:
+          <span property="dc:title mf:name">@type: @vocab and relative IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0062">
+          <p lang="en" property="dc:description">Relative IRIs don't round-trip with @type: @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 123</span>: @type: @vocab and relative IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0062-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" }<br>  },<br>  "term": "not-a-term-thus-a-relative-IRI"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 124</span>: @type: @vocab and relative IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0062-out.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" }<br>  },<br>  "term": "http://json-ld.org/test-suite/tests/not-a-term-thus-a-relative-IRI"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_7e52a56a5c183b798bca7913bcf10c3c" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063">
+          Test 0063:
+          <span property="dc:title mf:name">Compact IRI round-tripping with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0063">
+          <p lang="en" property="dc:description">Term with @type: @vocab will use compact IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 125</span>: Compact IRI round-tripping with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0063-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" },<br>    "prefix": "http://example.com/vocab#"<br>  },<br>  "term": "prefix:suffix"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 126</span>: Compact IRI round-tripping with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0063-out.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" },<br>    "prefix": "http://example.com/vocab#"<br>  },<br>  "term": "prefix:suffix"<br>}<br></pre></div>
+        </dd>
+        <dt id="test_29d53a0d46dfeab071594f98b4e7a9de" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064">
+          Test 0064:
+          <span property="dc:title mf:name">Compact language-tagged and indexed strings to index-map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0064">
+          <p lang="en" property="dc:description">Given values with both @index and @language and term index-map term, use index map</p>
+          <div class="example"><div class="example-title"><span>Example 127</span>: Compact language-tagged and indexed strings to index-map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0064-in.jsonld">[<br>    {<br>      "@id": "http://example.com.com/",<br>      "http://example.com/property": [<br>          {<br>            "@value": "Deutsche Zeichenfolge in @index-map",<br>            "@index": "first",<br>            "@language": "de"<br>          },<br>          {<br>            "@value": "English string in @index-map",<br>            "@index": "second",<br>            "@language": "en"<br>          }<br>      ]<br>    }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 128</span>: Compact language-tagged and indexed strings to index-map Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0064-out.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.com/property", "@container": "@index" }<br>  },<br>  "@id": "http://example.com.com/",<br>  "property": {<br>    "first": {<br>      "@language": "de",<br>      "@value": "Deutsche Zeichenfolge in @index-map"<br>    },<br>    "second": {<br>      "@language": "en",<br>      "@value": "English string in @index-map"<br>    }<br>  }<br>}<br></pre></div>
+        </dd>
+        <dt id="test_c03a65664262daab1e3a3b9242ba0d13" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065">
+          Test 0065:
+          <span property="dc:title mf:name">Language-tagged and indexed strings with language-map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0065">
+          <p lang="en" property="dc:description">Language-tagged and indexed strings don't compact to language-map</p>
+          <div class="example"><div class="example-title"><span>Example 129</span>: Language-tagged and indexed strings with language-map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0065-in.jsonld">[<br>    {<br>      "@id": "http://example.com.com/",<br>      "http://example.com/property": [<br>          {<br>            "@value": "Deutsche Zeichenfolge in @index-map",<br>            "@index": "first",<br>            "@language": "de"<br>          },<br>          {<br>            "@value": "English string in @index-map",<br>            "@index": "second",<br>            "@language": "en"<br>          }<br>      ]<br>    }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 130</span>: Language-tagged and indexed strings with language-map Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0065-out.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.com/property", "@container": "@language" }<br>  },<br>  "@id": "http://example.com.com/",<br>  "http://example.com/property": [<br>    {<br>      "@index": "first",<br>      "@language": "de",<br>      "@value": "Deutsche Zeichenfolge in @index-map"<br>    },<br>    {<br>      "@index": "second",<br>      "@language": "en",<br>      "@value": "English string in @index-map"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_fbf0f626a4e13e03cf5f23664462da80" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066">
+          Test 0066:
+          <span property="dc:title mf:name">Relative IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0066">
+          <p lang="en" property="dc:description">Complex use cases for relative IRI compaction</p>
+          <div class="example"><div class="example-title"><span>Example 131</span>: Relative IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0066-in.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/relativeIris",<br>    "@type": [<br>        "http://json-ld.org/test-suite/tests/link",<br>        "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld#fragment-works",<br>        "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld?query=works",<br>        "http://json-ld.org/test-suite/tests/",<br>        "http://json-ld.org/test-suite/",<br>        "http://json-ld.org/test-suite/parent",<br>        "http://json-ld.org/parent-parent-eq-root",<br>        "http://json-ld.org/still-root",<br>        "http://json-ld.org/too-many-dots",<br>        "http://json-ld.org/absolute",<br>        "http://example.org/scheme-relative"<br>    ],<br>    "http://www.example.com/link": [ {<br>      "@list": [<br>        { "@id": "http://json-ld.org/test-suite/tests/link" },<br>        { "@id": "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld#fragment-works" },<br>        { "@id": "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld?query=works" },<br>        { "@id": "http://json-ld.org/test-suite/tests/" },<br>        { "@id": "http://json-ld.org/test-suite/" },<br>        { "@id": "http://json-ld.org/test-suite/parent" },<br>        { "@id": "http://json-ld.org/test-suite/parent#fragment" },<br>        { "@id": "http://json-ld.org/parent-parent-eq-root" },<br>        { "@id": "http://json-ld.org/still-root" },<br>        { "@id": "http://json-ld.org/too-many-dots" },<br>        { "@id": "http://json-ld.org/absolute" },<br>        { "@id": "http://example.org/scheme-relative" }<br>      ]<br>    } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 132</span>: Relative IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0066-out.jsonld">{<br>  "@context": {<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>      "http://json-ld.org/test-suite/tests/link",<br>      "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld#fragment-works",<br>      "http://json-ld.org/test-suite/tests/compact-0066-in.jsonld?query=works",<br>      "http://json-ld.org/test-suite/tests/",<br>      "http://json-ld.org/test-suite/",<br>      "http://json-ld.org/test-suite/parent",<br>      "http://json-ld.org/parent-parent-eq-root",<br>      "http://json-ld.org/still-root",<br>      "http://json-ld.org/too-many-dots",<br>      "http://json-ld.org/absolute",<br>      "http://example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../parent#fragment",<br>    "../../parent-parent-eq-root",<br>    "../../still-root",<br>    "../../too-many-dots",<br>    "../../absolute",<br>    "http://example.org/scheme-relative"<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_63ffc6fd4929cfa6da5a87f173750760" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067">
+          Test 0067:
+          <span property="dc:title mf:name">Reverse properties with blank nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0067">
+          <p lang="en" property="dc:description">Compact reverse property whose values are unlabeled blank nodes</p>
+          <div class="example"><div class="example-title"><span>Example 133</span>: Reverse properties with blank nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0067-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        },<br>        {<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 134</span>: Reverse properties with blank nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0067-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    {<br>      "name": "Dave Longley"<br>    },<br>    {<br>      "name": "Gregg Kellogg"<br>    }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_84e0ce3983b7c7e994b0090e3e3fd560" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068">
+          Test 0068:
+          <span property="dc:title mf:name">Single value reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0068">
+          <p lang="en" property="dc:description">Single values of reverse properties are compacted as values of ordinary properties</p>
+          <div class="example"><div class="example-title"><span>Example 135</span>: Single value reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0068-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 136</span>: Single value reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0068-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@set" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    { "@id": "http://example.com/people/dave" }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_a7d1cd55d6d55938e21a49d682e5acf0" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069">
+          Test 0069:
+          <span property="dc:title mf:name">Single value reverse properties with @set</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0069">
+          <p lang="en" property="dc:description">Single values are kept in array form for reverse properties if the container is to @set</p>
+          <div class="example"><div class="example-title"><span>Example 137</span>: Single value reverse properties with @set Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0069-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 138</span>: Single value reverse properties with @set Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0069-out.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@set" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    { "@id": "http://example.com/people/dave" }<br>  ]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_934ab02ce56f589efb27647abff77fe1" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070">
+          Test 0070:
+          <span property="dc:title mf:name">compactArrays option</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0070">
+          <p lang="en" property="dc:description">Setting compactArrays to false causes single element arrays to be retained</p>
+          <div class="example"><div class="example-title"><span>Example 139</span>: compactArrays option Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0070-in.jsonld">[{<br>  "@id": "http://example/foo",<br>  "http://example/term": [{"@value": "value"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 140</span>: compactArrays option Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0070-out.jsonld">{<br>  "@context": {<br>    "term": "http://example/term"<br>  },<br>  "@graph": [{<br>    "@id": "http://example/foo",<br>    "term": ["value"]<br>  }]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_c162d669140ccccf0a34072066010904" resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071">
+          Test 0071:
+          <span property="dc:title mf:name">input has multiple @contexts, output has one</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/compact-manifest.jsonld#t0071">
+          <p lang="en" property="dc:description">Expanding input with multiple @contexts and compacting with just one doesn't output undefined properties</p>
+          <div class="example"><div class="example-title"><span>Example 141</span>: input has multiple @contexts, output has one Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/compact-0071-in.jsonld">{<br>  "@context": [{<br>    "foo": "http://example.com/foo"<br>  }, {<br>    "bar": "http://example.com/bar"<br>  }],<br>  "foo": "foo-value",<br>  "bar": "bar-value"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 142</span>: input has multiple @contexts, output has one Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/compact-0071-out.jsonld">{<br>  "@context": {<br>    "foo": "http://example.com/foo"<br>  },<br>  "foo": "foo-value",<br>  "http://example.com/bar": "bar-value"<br>}<br></pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld">
+        <dt id="test_0c289d555f6552960199d65274f534d6" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">Keywords cannot be aliased to other keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when processing an invalid context aliasing a keyword to another keyword</p>
+          <div class="example"><div class="example-title"><span>Example 143</span>: Keywords cannot be aliased to other keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0001-in.jsonld">{<br>  "@context": {<br>    "@type": "@id"<br>  },<br>  "@type": "http://example.org/type"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 144</span>: Keywords cannot be aliased to other keywords Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_f53a4d212a4637726dfc2de94905b548" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">A context may not include itself recursively (direct)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when processing a context referencing itself</p>
+          <div class="example"><div class="example-title"><span>Example 145</span>: A context may not include itself recursively (direct) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0002-in.jsonld">{<br>  "@context": "error-0002-in.jsonld",<br>  "@id": "http://example/test#example"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 146</span>: A context may not include itself recursively (direct) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_0370945f8f1559ee579768f2a38d2b54" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">A context may not include itself recursively (indirect)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when processing a context referencing itself indirectly</p>
+          <div class="example"><div class="example-title"><span>Example 147</span>: A context may not include itself recursively (indirect) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0003-in.jsonld">{<br>  "@context": "error-0003-ctx.jsonld",<br>  "@id": "http://example/test#example"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 148</span>: A context may not include itself recursively (indirect) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_5fa29c171f9182920943b8689ed36ddc" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">Error dereferencing a remote context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a context dereference results in an error</p>
+          <div class="example"><div class="example-title"><span>Example 149</span>: Error dereferencing a remote context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0004-in.jsonld">{<br>  "@context": "tag:non-dereferencable-iri",<br>  "@id": "http://example/test#example"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 150</span>: Error dereferencing a remote context Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_d668b2248caf449327e12454cb11f989" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">Invalid remote context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a remote context is not an object containing @context</p>
+          <div class="example"><div class="example-title"><span>Example 151</span>: Invalid remote context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0005-in.jsonld">[{<br>  "@context": "error-0005-in.jsonld",<br>  "@id": "http://example/test#example"<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 152</span>: Invalid remote context Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_1cdfadcdfab7439ed33f7d0cb63d33d8" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">Invalid local context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a context is not a string or object</p>
+          <div class="example"><div class="example-title"><span>Example 153</span>: Invalid local context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0006-in.jsonld">{<br>  "@context": true,<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 154</span>: Invalid local context Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_cf7c40be6208c8b98d81a3003e92d8f2" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">Invalid base IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a context contains an invalid @base</p>
+          <div class="example"><div class="example-title"><span>Example 155</span>: Invalid base IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0007-in.jsonld">{<br>  "@context": {"@base": true},<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 156</span>: Invalid base IRI Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_7696682e6980f9775e093b2749dadf7d" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">Invalid vocab mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a context contains an invalid @vocab mapping</p>
+          <div class="example"><div class="example-title"><span>Example 157</span>: Invalid vocab mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0008-in.jsonld">{<br>  "@context": {"@vocab": true},<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 158</span>: Invalid vocab mapping Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_cb902922f0b0f5ba2d6b18558099ae25" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">Invalid default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a context contains an invalid @language</p>
+          <div class="example"><div class="example-title"><span>Example 159</span>: Invalid default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0009-in.jsonld">{<br>  "@context": {"@language": true},<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 160</span>: Invalid default language Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_2299f62e08c2132a8fbbf0a6c04bdcf8" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">Cyclic IRI mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a cyclic IRI mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 161</span>: Cyclic IRI mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0010-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "term:term"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 162</span>: Cyclic IRI mapping Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_a89380a0505b05c218104f95ea9a262e" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">Invalid term definition</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid term definition is found</p>
+          <div class="example"><div class="example-title"><span>Example 163</span>: Invalid term definition Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0011-in.jsonld">{<br>  "@context": {<br>    "term": true<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 164</span>: Invalid term definition Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_a470f45d6eb2cfd67356ca4ea2900d5a" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">Invalid type mapping (not a string)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid type mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 165</span>: Invalid type mapping (not a string) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0012-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@type": true}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 166</span>: Invalid type mapping (not a string) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_87e7f9668f4c2759adf206aab8ac2953" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">Invalid type mapping (not absolute IRI)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid type mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 167</span>: Invalid type mapping (not absolute IRI) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0013-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@type": "_:not-an-iri"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 168</span>: Invalid type mapping (not absolute IRI) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_4eb978d61a99d6460c72b2ceb9030d96" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">Invalid reverse property (contains @id)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid reverse property is found</p>
+          <div class="example"><div class="example-title"><span>Example 169</span>: Invalid reverse property (contains @id) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0014-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@reverse": "http://example/reverse"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 170</span>: Invalid reverse property (contains @id) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_907ba2b9cfdad441d658b9b1504bed9d" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">Invalid IRI mapping (@reverse not a string)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid IRI mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 171</span>: Invalid IRI mapping (@reverse not a string) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0015-in.jsonld">{<br>  "@context": {<br>    "term": {"@reverse": true}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 172</span>: Invalid IRI mapping (@reverse not a string) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_5d654011eb4c43e460b5dec1af50285b" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">Invalid IRI mapping (not an absolute IRI)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid IRI mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 173</span>: Invalid IRI mapping (not an absolute IRI) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0016-in.jsonld">{<br>  "@context": {<br>    "term": {"@reverse": "@reverse"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 174</span>: Invalid IRI mapping (not an absolute IRI) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_2a56a9957b3e4dd8ddbd6df64782a210" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">Invalid reverse property (invalid @container)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid reverse property is found</p>
+          <div class="example"><div class="example-title"><span>Example 175</span>: Invalid reverse property (invalid @container) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0017-in.jsonld">{<br>  "@context": {<br>    "term": {"@reverse": "http://example/reverse", "@container": "@list"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 176</span>: Invalid reverse property (invalid @container) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_f0d577cd39fb64954c1fd42bb5788da4" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">Invalid IRI mapping (@id not a string)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid IRI mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 177</span>: Invalid IRI mapping (@id not a string) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0018-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": true}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 178</span>: Invalid IRI mapping (@id not a string) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_dadbd05f1acfce6f89a09a38279cad4a" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">Invalid keyword alias</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid keyword alias is found</p>
+          <div class="example"><div class="example-title"><span>Example 179</span>: Invalid keyword alias Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0019-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "@context"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 180</span>: Invalid keyword alias Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_18b5c03b673c5853a37c78f7309994b6" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020">
+          Test 0020:
+          <span property="dc:title mf:name">Invalid IRI mapping (no vocab mapping)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0020">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid IRI mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 181</span>: Invalid IRI mapping (no vocab mapping) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0020-in.jsonld">{<br>  "@context": {<br>    "term": {"@container": "@set"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 182</span>: Invalid IRI mapping (no vocab mapping) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_6805758489f5bde1ded5633e07642498" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021">
+          Test 0021:
+          <span property="dc:title mf:name">Invalid container mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0021">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid container mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 183</span>: Invalid container mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0021-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@container": "@id"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 184</span>: Invalid container mapping Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_6e491e6357549fe7988da0936504d2b3" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022">
+          Test 0022:
+          <span property="dc:title mf:name">Invalid language mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0022">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid language mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 185</span>: Invalid language mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0022-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@language": true}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 186</span>: Invalid language mapping Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_c849e234134a5749dc3823c3e383660b" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023">
+          Test 0023:
+          <span property="dc:title mf:name">Invalid IRI mapping (relative IRI in @type)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0023">
+          <p lang="en" property="dc:description">Verifies that an exception is raised on expansion when a invalid type mapping is found</p>
+          <div class="example"><div class="example-title"><span>Example 187</span>: Invalid IRI mapping (relative IRI in @type) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0023-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example/term", "@type": "relative/iri"}<br>  },<br>  "@id": "http://example/test#example"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 188</span>: Invalid IRI mapping (relative IRI in @type) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_444e83da92b2fd10c9dea3628e21c234" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024">
+          Test 0024:
+          <span property="dc:title mf:name">List of lists (from array)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0024">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when a list of lists is found</p>
+          <div class="example"><div class="example-title"><span>Example 189</span>: List of lists (from array) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0024-in.jsonld">{<br>  "@context": {"foo": {"@id": "http://example.com/foo", "@container": "@list"}},<br>  "foo": [{"@list": ["baz"]}]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 190</span>: List of lists (from array) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_a7e265f69625cbbb463fbb5553abce1e" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025">
+          Test 0025:
+          <span property="dc:title mf:name">Invalid reverse property map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0025">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when a invalid reverse property map is found</p>
+          <div class="example"><div class="example-title"><span>Example 191</span>: Invalid reverse property map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0025-in.jsonld">{<br>  "@id": "http://example/foo",<br>  "@reverse": {<br>    "@id": "http://example/bar"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 192</span>: Invalid reverse property map Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_a576de459403f2ab855a9485376f2913" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026">
+          Test 0026:
+          <span property="dc:title mf:name">Colliding keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0026">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when colliding keywords are found</p>
+          <div class="example"><div class="example-title"><span>Example 193</span>: Colliding keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0026-in.jsonld">{<br>  "@context": {<br>    "id": "@id",<br>    "ID": "@id"<br>  },<br>  "id": "http://example/foo",<br>  "ID": "http://example/bar"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 194</span>: Colliding keywords Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_4f600b808afc8190e3187e01634ec8f0" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027">
+          Test 0027:
+          <span property="dc:title mf:name">Invalid @id value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0027">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid @id value is found</p>
+          <div class="example"><div class="example-title"><span>Example 195</span>: Invalid @id value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0027-in.jsonld">{<br>  "@id": true<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 196</span>: Invalid @id value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_17de8d6bfe8b05006b17093b46068eeb" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028">
+          Test 0028:
+          <span property="dc:title mf:name">Invalid type value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0028">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid type value is found</p>
+          <div class="example"><div class="example-title"><span>Example 197</span>: Invalid type value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0028-in.jsonld">{<br>  "@type": true<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 198</span>: Invalid type value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_1dac5eaa24209144b79812cfee0efcba" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029">
+          Test 0029:
+          <span property="dc:title mf:name">Invalid value object value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0029">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid value object value is found</p>
+          <div class="example"><div class="example-title"><span>Example 199</span>: Invalid value object value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0029-in.jsonld">{<br>  "http://example/prop": {"@value": ["foo"]}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 200</span>: Invalid value object value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_dd273e745639f33dd611902b6f9b03db" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030">
+          Test 0030:
+          <span property="dc:title mf:name">Invalid language-tagged string</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0030">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid language-tagged string value is found</p>
+          <div class="example"><div class="example-title"><span>Example 201</span>: Invalid language-tagged string Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0030-in.jsonld">{<br>  "http://example/prop": {"@value": "foo", "@language": true}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 202</span>: Invalid language-tagged string Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_647ead69a31a3a845c9836b2a0e335e3" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031">
+          Test 0031:
+          <span property="dc:title mf:name">Invalid @index value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0031">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid @index value value is found</p>
+          <div class="example"><div class="example-title"><span>Example 203</span>: Invalid @index value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0031-in.jsonld">{<br>  "http://example.com/vocab/indexMap": {<br>    "@value": "simple string",<br>    "@language": "en",<br>    "@index": true<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 204</span>: Invalid @index value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_4d832ca188546d88f1775015d484d80b" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032">
+          Test 0032:
+          <span property="dc:title mf:name">List of lists (from array)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0032">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when a list of lists is found</p>
+          <div class="example"><div class="example-title"><span>Example 205</span>: List of lists (from array) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0032-in.jsonld">{<br>  "http://example.com/foo": {"@list": [{"@list": ["baz"]}]}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 206</span>: List of lists (from array) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_d19dba3091bcd2d436c40e70ecb57fd4" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033">
+          Test 0033:
+          <span property="dc:title mf:name">Invalid @reverse value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0033">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid @reverse value is found</p>
+          <div class="example"><div class="example-title"><span>Example 207</span>: Invalid @reverse value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0033-in.jsonld">{<br>  "http://example/prop": {<br>    "@reverse": true<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 208</span>: Invalid @reverse value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_200573d327564d727f9622ed014b5a66" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034">
+          Test 0034:
+          <span property="dc:title mf:name">Invalid reverse property value (in @reverse)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0034">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid reverse property value is found</p>
+          <div class="example"><div class="example-title"><span>Example 209</span>: Invalid reverse property value (in @reverse) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0034-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "http://xmlns.com/foaf/0.1/knows": "Dave Longley"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 210</span>: Invalid reverse property value (in @reverse) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_8afa9b2fa7cc2e9427e075eae4db8fa8" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035">
+          Test 0035:
+          <span property="dc:title mf:name">Invalid language map value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0035">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid language map value is found</p>
+          <div class="example"><div class="example-title"><span>Example 211</span>: Invalid language map value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0035-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": true<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 212</span>: Invalid language map value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_e7cd153593f97d65217741ba0a4d257d" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036">
+          Test 0036:
+          <span property="dc:title mf:name">Invalid reverse property value (through coercion)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0036">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid reverse property value is found</p>
+          <div class="example"><div class="example-title"><span>Example 213</span>: Invalid reverse property value (through coercion) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0036-in.jsonld">{<br>  "@context": {<br>    "term": {"@reverse": "http://example/reverse"}<br>  },<br>  "@id": "http://example/foo",<br>  "term": {"@list": ["http://example/bar"]}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 214</span>: Invalid reverse property value (through coercion) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_cf8f73c8c2f5566424242d85b2c4f6ea" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037">
+          Test 0037:
+          <span property="dc:title mf:name">Invalid value object (unexpected keyword)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0037">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid value object is found</p>
+          <div class="example"><div class="example-title"><span>Example 215</span>: Invalid value object (unexpected keyword) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0037-in.jsonld">{<br>  "http://example/foo": {"@value": "bar", "@id": "http://example/baz"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 216</span>: Invalid value object (unexpected keyword) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_c997cdcf23d3817c02295db16f5cd016" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038">
+          Test 0038:
+          <span property="dc:title mf:name">Invalid value object (@type and @language)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0038">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid value object is found</p>
+          <div class="example"><div class="example-title"><span>Example 217</span>: Invalid value object (@type and @language) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0038-in.jsonld">{<br>  "http://example/foo": {"@value": "bar", "@language": "en", "@type": "http://example/type"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 218</span>: Invalid value object (@type and @language) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_d957a0296edbf29e619a2f9837e3c049" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039">
+          Test 0039:
+          <span property="dc:title mf:name">Invalid language-tagged value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0039">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid language-tagged value is found</p>
+          <div class="example"><div class="example-title"><span>Example 219</span>: Invalid language-tagged value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0039-in.jsonld">{<br>  "http://example/foo": {"@value": true, "@language": "en"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 220</span>: Invalid language-tagged value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_070bb7a013360152a8fae23dcba2fa23" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040">
+          Test 0040:
+          <span property="dc:title mf:name">Invalid typed value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0040">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid typed value is found</p>
+          <div class="example"><div class="example-title"><span>Example 221</span>: Invalid typed value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0040-in.jsonld">{<br>  "http://example/foo": {"@value": "bar", "@type": "_:dt"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 222</span>: Invalid typed value Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_58136280dde28eac76b36d30eb934861" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041">
+          Test 0041:
+          <span property="dc:title mf:name">Invalid set or list object</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0041">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Expansion when an invalid set or list object is found</p>
+          <div class="example"><div class="example-title"><span>Example 223</span>: Invalid set or list object Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0041-in.jsonld">{<br>  "http://example/prop": {"@list": ["foo"], "@id": "http://example/bar"}<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 224</span>: Invalid set or list object Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_4582c72509c9244f7dae218b75e1a5b3" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042">
+          Test 0042:
+          <span property="dc:title mf:name">Compaction to list of lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0042">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Compaction when attempting to compact a list of lists</p>
+          <div class="example"><div class="example-title"><span>Example 225</span>: Compaction to list of lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0042-in.jsonld">{<br>  "http://example/list": [{"@list": ["foo"]}, {"@list": ["bar"]}]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 226</span>: Compaction to list of lists Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_8fb4894d9c001038d94589f0e6fe031e" resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043">
+          Test 0043:
+          <span property="dc:title mf:name">Conflicting indexes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/error-manifest.jsonld#t0043">
+          <p lang="en" property="dc:description">Verifies that an exception is raised in Flattening when conflicting indexes are found</p>
+          <div class="example"><div class="example-title"><span>Example 227</span>: Conflicting indexes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/error-0043-in.jsonld">[<br>  {<br>    "@id": "http://example/foo",<br>    "@index": "bar"<br>  },<br>  {<br>    "@id": "http://example/foo",<br>    "@index": "baz"<br>  }<br>]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 228</span>: Conflicting indexes Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld">
+        <dt id="test_30400bd733cda10ec34b060e31bee342" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">drop free-floating nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Expand drops unreferenced nodes having only @id</p>
+          <div class="example"><div class="example-title"><span>Example 229</span>: drop free-floating nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0001-in.jsonld">{"@id": "http://example.org/test#example"}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 230</span>: drop free-floating nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0001-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_8c412a36834c515309821805111f3170" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">basic</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Expanding terms with different types of values</p>
+          <div class="example"><div class="example-title"><span>Example 231</span>: basic Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0002-in.jsonld">{<br>  "@context": {<br>    "t1": "http://example.com/t1",<br>    "t2": "http://example.com/t2",<br>    "term1": "http://example.com/term1",<br>    "term2": "http://example.com/term2",<br>    "term3": "http://example.com/term3",<br>    "term4": "http://example.com/term4",<br>    "term5": "http://example.com/term5"<br>  },<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": {"@value": "v2", "@type": "t2"},<br>  "term3": {"@value": "v3", "@language": "en"},<br>  "term4": 4,<br>  "term5": [50, 51]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 232</span>: basic Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0002-out.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": [{"@value": "v1"}],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [{"@value": 4}],<br>  "http://example.com/term5": [{"@value": 50}, {"@value": 51}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_6fb15d01d55e323c1d40c908af0025cf" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">drop null and unmapped properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Verifies that null values and unmapped properties are removed from expanded output</p>
+          <div class="example"><div class="example-title"><span>Example 233</span>: drop null and unmapped properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0003-in.jsonld">{<br>  "@id": "http://example.org/id",<br>  "http://example.org/property": null,<br>  "regularJson": {<br>    "nonJsonLd": "property",<br>    "deep": [{<br>      "foo": "bar"<br>    }, {<br>      "bar": "foo"<br>    }]<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 234</span>: drop null and unmapped properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0003-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_46ca05e212eb3f5df12a5ce1240d1a1d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">optimize @set, keep empty arrays</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Uses of @set are removed in expansion; values of @set, or just plain values which are empty arrays are retained</p>
+          <div class="example"><div class="example-title"><span>Example 235</span>: optimize @set, keep empty arrays Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0004-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": { "@list": [ ] },<br>  "mylist2": "one item",<br>  "myset2": { "@set": [ ] },<br>  "myset3": [ "v1" ],<br>  "http://example.org/list1": { "@list": [ null ] },<br>  "http://example.org/list2": { "@list": [ {"@value": null} ] },<br>  "http://example.org/set1": { "@set": [ ] },<br>  "http://example.org/set1": { "@set": [ null ] },<br>  "http://example.org/set3": [ ],<br>  "http://example.org/set4": [ null ],<br>  "http://example.org/set5": "one item",<br>  "http://example.org/property": { "@list": "one item" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 236</span>: optimize @set, keep empty arrays Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0004-out.jsonld">[{<br>  "@id": "http://example.org/id",<br>  "http://example.com/mylist1": [ { "@list": [ ] } ],<br>  "http://example.com/mylist2": [ { "@list": [ {"@value": "one item"} ] } ],<br>  "http://example.com/myset2": [ ],<br>  "http://example.com/myset3": [ {"@value": "v1"} ],<br>  "http://example.org/list1": [ { "@list": [ ] } ],<br>  "http://example.org/list2": [ { "@list": [ ] } ],<br>  "http://example.org/set1": [ ],<br>  "http://example.org/set1": [ ],<br>  "http://example.org/set3": [ ],<br>  "http://example.org/set4": [ ],<br>  "http://example.org/set5": [ {"@value": "one item"} ],<br>  "http://example.org/property": [ { "@list": [ {"@value": "one item"} ] } ]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_b508ab4f88c7b5481c2cf64e2737b30f" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">do not expand aliased @id/@type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">If a keyword is aliased, it is not used when expanding</p>
+          <div class="example"><div class="example-title"><span>Example 237</span>: do not expand aliased @id/@type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0005-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepage": {<br>      "@id": "http://xmlns.com/foaf/0.1/homepage",<br>      "@type": "@id"<br>    },<br>    "know": "http://xmlns.com/foaf/0.1/knows",<br>    "@iri": "@id"<br>  },<br>  "@id": "#me",<br>  "know": [<br>    {<br>      "@id": "http://example.com/bob#me",<br>      "name": "Bob",<br>      "homepage": "http://example.com/bob"<br>    }, {<br>      "@id": "http://example.com/alice#me",<br>      "name": "Alice",<br>      "homepage": "http://example.com/alice"<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 238</span>: do not expand aliased @id/@type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0005-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/expand-0005-in.jsonld#me",<br>  "http://xmlns.com/foaf/0.1/knows": [<br>    {<br>      "@id": "http://example.com/bob#me",<br>      "http://xmlns.com/foaf/0.1/name": [{"@value": "Bob"}],<br>      "http://xmlns.com/foaf/0.1/homepage": [{<br>        "@id": "http://example.com/bob"<br>      }]<br>    }, {<br>      "@id": "http://example.com/alice#me",<br>      "http://xmlns.com/foaf/0.1/name": [{"@value": "Alice"}],<br>      "http://xmlns.com/foaf/0.1/homepage": [{<br>        "@id": "http://example.com/alice"<br>      }]<br>    }<br>  ]<br>}]</pre></div>
+        </dd>
+        <dt id="test_64ebeef021e3a1db53968ce489eb7667" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">alias keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Aliased keywords expand in resulting document</p>
+          <div class="example"><div class="example-title"><span>Example 239</span>: alias keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0006-in.jsonld">{<br>  "@context": {<br>    "http://example.org/test#property1": {<br>      "@type": "@id"<br>    },<br>    "http://example.org/test#property2": {<br>      "@type": "@id"<br>    },<br>    "uri": "@id"<br>  },<br>  "http://example.org/test#property1": {<br>    "http://example.org/test#property4": "foo",<br>    "uri": "http://example.org/test#example2"<br>  },<br>  "http://example.org/test#property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 240</span>: alias keywords Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0006-out.jsonld">[{<br>  "@id": "http://example.org/test#example1",<br>  "http://example.org/test#property1": [{<br>    "@id": "http://example.org/test#example2",<br>    "http://example.org/test#property4": [{"@value": "foo"}]<br>  }],<br>  "http://example.org/test#property2": [{<br>    "@id": "http://example.org/test#example3"<br>  }],<br>  "http://example.org/test#property3": [{<br>    "@id": "http://example.org/test#example4"<br>  }]<br>}]</pre></div>
+        </dd>
+        <dt id="test_1c8bfb88b1e97399a84e0e23cb10e40b" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">date type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Expand strings to expanded value with @type: xsd:dateTime</p>
+          <div class="example"><div class="example-title"><span>Example 241</span>: date type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0007-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "ex:date": {<br>      "@type": "xsd:dateTime"<br>    },<br>    "ex:parent": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:date": "2011-01-25T00:00:00Z",<br>  "ex:embed": {<br>    "@id": "http://example.org/test#example2",<br>    "ex:parent": "http://example.org/test#example1"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 242</span>: date type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0007-out.jsonld">[{<br>  "@id": "http://example.org/test#example1",<br>  "http://example.org/vocab#date": [{<br>    "@value": "2011-01-25T00:00:00Z",<br>    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"<br>  }],<br>  "http://example.org/vocab#embed": [{<br>    "@id": "http://example.org/test#example2",<br>    "http://example.org/vocab#parent": [{<br>      "@id": "http://example.org/test#example1"<br>    }]<br>  }]<br>}]</pre></div>
+        </dd>
+        <dt id="test_639f33a04dbd664474ab488f891c5496" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">@value with @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Keep expanded values with @language, drop non-conforming value objects containing just @language</p>
+          <div class="example"><div class="example-title"><span>Example 243</span>: @value with @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0008-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#"<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test": { "@value": "test",  "@language": "en" },<br>  "ex:drop-lang-only": { "@language": "en" },<br>  "ex:keep-full-value": { "@value": "only value" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 244</span>: @value with @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0008-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test",<br>    "http://example.org/vocab#test": [ { "@value": "test", "@language": "en" } ],<br>    "http://example.org/vocab#keep-full-value": [ {"@value": "only value"} ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_fc3e08bc600239177804ec8be79b64fd" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">@graph with terms</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">Use of @graph to contain multiple nodes within array</p>
+          <div class="example"><div class="example-title"><span>Example 245</span>: @graph with terms Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0009-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 246</span>: @graph with terms Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0009-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test#chapter",<br>    "http://purl.org/dc/elements/1.1/description": [{"@value": "Fun"}],<br>    "http://purl.org/dc/elements/1.1/title": [{"@value": "Chapter One"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#jane",<br>    "http://example.org/vocab#authored": [{<br>      "@id": "http://example.org/test#chapter"<br>    }],<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "Jane"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#john",<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "John"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#library",<br>    "http://example.org/vocab#contains": [{<br>      "@id": "http://example.org/test#book",<br>      "http://example.org/vocab#contains": [{<br>        "@id": "http://example.org/test#chapter"<br>      }],<br>      "http://purl.org/dc/elements/1.1/contributor": [{"@value": "Writer"}],<br>      "http://purl.org/dc/elements/1.1/title": [{"@value": "My Book"}]<br>    }]<br>  }<br>]</pre></div>
+        </dd>
+        <dt id="test_c44d7caa68a769857cd333691253bef4" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">Expanding native scalar retains native scalar within expanded value</p>
+          <div class="example"><div class="example-title"><span>Example 247</span>: native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0010-in.jsonld">{<br>  "@context": {<br>    "d": "http://purl.org/dc/elements/1.1/",<br>    "e": "http://example.org/vocab#",<br>    "f": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test",<br>  "e:bool": true,<br>  "e:int": 123<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 248</span>: native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0010-out.jsonld">[{<br>  "@id": "http://example.org/test",<br>  "http://example.org/vocab#bool": [{"@value": true}],<br>  "http://example.org/vocab#int": [{"@value": 123}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_ab6ef2da0eed998d968827642bfc4c7b" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">coerced @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">A value of a property with @type: @id coercion expands to a node reference</p>
+          <div class="example"><div class="example-title"><span>Example 249</span>: coerced @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0011-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#book",<br>  "dc:title": "Title",<br>  "ex:contains": "http://example.org/test#chapter"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 250</span>: coerced @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0011-out.jsonld">[{<br>  "@id": "http://example.org/test#book",<br>  "http://example.org/vocab#contains": [{<br>    "@id": "http://example.org/test#chapter"<br>  }],<br>  "http://purl.org/dc/elements/1.1/title": [{"@value": "Title"}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_43239674aca32af2715ec3d69cbac162" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">@graph with embed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Use of @graph to contain multiple nodes within array</p>
+          <div class="example"><div class="example-title"><span>Example 251</span>: @graph with embed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0012-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:authored": {<br>      "@type": "@id"<br>    },<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "foaf": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "dc:description": "Fun",<br>      "dc:title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "ex:authored": "http://example.org/test#chapter",<br>      "foaf:name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "foaf:name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "ex:contains": {<br>        "@id": "http://example.org/test#book",<br>        "dc:contributor": "Writer",<br>        "dc:title": "My Book",<br>        "ex:contains": "http://example.org/test#chapter"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 252</span>: @graph with embed Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0012-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test#chapter",<br>    "http://purl.org/dc/elements/1.1/description": [{"@value": "Fun"}],<br>    "http://purl.org/dc/elements/1.1/title": [{"@value": "Chapter One"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#jane",<br>    "http://example.org/vocab#authored": [{<br>      "@id": "http://example.org/test#chapter"<br>    }],<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "Jane"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#john",<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "John"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#library",<br>    "http://example.org/vocab#contains": [{<br>      "@id": "http://example.org/test#book",<br>      "http://example.org/vocab#contains": [{<br>        "@id": "http://example.org/test#chapter"<br>      }],<br>      "http://purl.org/dc/elements/1.1/contributor": [{"@value": "Writer"}],<br>      "http://purl.org/dc/elements/1.1/title": [{"@value": "My Book"}]<br>    }]<br>  }<br>]</pre></div>
+        </dd>
+        <dt id="test_d9b2850b69f56067af4ec560432f024d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">expand already expanded</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Expand does not mess up already expanded document</p>
+          <div class="example"><div class="example-title"><span>Example 253</span>: expand already expanded Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0013-in.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": ["v1"],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [4],<br>  "http://example.com/term5": [50, 51]<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 254</span>: expand already expanded Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0013-out.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": [{"@value": "v1"}],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [{"@value": 4}],<br>  "http://example.com/term5": [{"@value": 50}, {"@value": 51}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_131dee302981a63e9cf25191a0b04fed" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">@set of @value objects with keyword aliases</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Expanding aliased @set and @value</p>
+          <div class="example"><div class="example-title"><span>Example 255</span>: @set of @value objects with keyword aliases Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0014-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/test#",<br>    "property1": {<br>      "@id": "http://example.org/test#property1",<br>      "@type": "@id"<br>    },<br>    "property2": {<br>      "@id": "ex:property2",<br>      "@type": "@id"<br>    },<br>    "uri": "@id",<br>    "set": "@set",<br>    "value": "@value",<br>    "type": "@type",<br>    "xsd": { "@id": "http://www.w3.org/2001/XMLSchema#" }<br>  },<br>  "property1": {<br>    "uri": "ex:example2",<br>    "http://example.org/test#property4": "foo"<br>  },<br>  "property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "ex:property4": {<br>    "uri": "ex:example4",<br>    "ex:property5": [<br>      {<br>        "set": [<br>          {<br>          "value": "2012-03-31",<br>          "type": "xsd:date"<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  "ex:property6": [<br>    {<br>      "set": [<br>        {<br>        "value": null,<br>        "type": "xsd:date"<br>        }<br>      ]<br>    }<br>  ],<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 256</span>: @set of @value objects with keyword aliases Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0014-out.jsonld">[<br>  {<br>    "http://example.org/test#property1": [<br>      {<br>        "@id": "http://example.org/test#example2",<br>        "http://example.org/test#property4": [<br>          {"@value": "foo"}<br>        ]<br>      }<br>    ],<br>    "http://example.org/test#property2": [<br>      { "@id": "http://example.org/test#example3" }<br>    ],<br>    "http://example.org/test#property3": [<br>      { "@id": "http://example.org/test#example4" }<br>    ],<br>    "http://example.org/test#property4": [<br>      {<br>        "@id": "http://example.org/test#example4",<br>        "http://example.org/test#property5": [<br>          {<br>            "@value": "2012-03-31",<br>            "@type": "http://www.w3.org/2001/XMLSchema#date"<br>          }<br>        ]<br>      }<br>    ],<br>    "http://example.org/test#property6": [],<br>    "@id": "http://example.org/test#example1"<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_598e330a34cebcdc7f49b05b8f7e734e" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">collapse set of sets, keep empty lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">An array of multiple @set nodes are collapsed into a single array</p>
+          <div class="example"><div class="example-title"><span>Example 257</span>: collapse set of sets, keep empty lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0015-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" },<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": [],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myset3": [ { "@set": [ "hello", "this" ] }, "will", { "@set": [ "be", "collapsed" ] } ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 258</span>: collapse set of sets, keep empty lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0015-out.jsonld">[<br>  {<br>    "@id": "http://example.org/id",<br>    "http://example.com/mylist1": [ { "@list": [] } ],<br>    "http://example.com/myset1": [ ],<br>    "http://example.com/myset2": [ ],<br>    "http://example.com/myset3": [<br>      {"@value": "hello"},<br>      {"@value": "this"},<br>      {"@value": "will"},<br>      {"@value": "be"},<br>      {"@value": "collapsed"} ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_11fa9e5c7cbb6d481c793729a67fbadd" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">context reset</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">Setting @context to null within an embedded object resets back to initial context state</p>
+          <div class="example"><div class="example-title"><span>Example 259</span>: context reset Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0016-in.jsonld">{<br>  "@context": {<br>    "myproperty": { "@id": "http://example.com/myproperty" },<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id1",<br>  "mylist1": [],<br>  "mylist2": [ 2, "hi" ],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myproperty": {<br>    "@context": null,<br>    "@id": "http://example.org/id2",<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>    "http://example.org/myproperty2": "ok"<br>  },<br>  "http://example.com/emptyobj": {<br>    "@context": null,<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 260</span>: context reset Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0016-out.jsonld">[<br>  {<br>    "@id": "http://example.org/id1",<br>    "http://example.com/mylist1": [ { "@list": [] } ],<br>    "http://example.com/mylist2": [<br>      { "@list": [ {"@value": 2}, {"@value": "hi"} ] }<br>    ],<br>    "http://example.com/myset1": [ ],<br>    "http://example.com/myset2": [ ],<br>    "http://example.com/myproperty": [<br>      {<br>        "@id": "http://example.org/id2",<br>        "http://example.org/myproperty2": [ {"@value": "ok"} ]<br>      }<br>    ],<br>    "http://example.com/emptyobj": [ { } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_585f44de48c58c553b2c603eaa0b40f3" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">@graph and @id aliased</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Expanding with @graph and @id aliases</p>
+          <div class="example"><div class="example-title"><span>Example 261</span>: @graph and @id aliased Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0017-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    },<br>    "id": "@id",<br>    "data": "@graph"<br>  },<br>  "data": [<br>    {<br>      "id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 262</span>: @graph and @id aliased Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0017-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test#chapter",<br>    "http://purl.org/dc/elements/1.1/description": [{"@value": "Fun"}],<br>    "http://purl.org/dc/elements/1.1/title": [{"@value": "Chapter One"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#jane",<br>    "http://example.org/vocab#authored": [{<br>      "@id": "http://example.org/test#chapter"<br>    }],<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "Jane"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#john",<br>    "http://xmlns.com/foaf/0.1/name": [{"@value": "John"}]<br>  },<br>  {<br>    "@id": "http://example.org/test#library",<br>    "http://example.org/vocab#contains": [{<br>      "@id": "http://example.org/test#book",<br>      "http://example.org/vocab#contains": [{<br>        "@id": "http://example.org/test#chapter"<br>      }],<br>      "http://purl.org/dc/elements/1.1/contributor": [{"@value": "Writer"}],<br>      "http://purl.org/dc/elements/1.1/title": [{"@value": "My Book"}]<br>    }]<br>  }<br>]</pre></div>
+        </dd>
+        <dt id="test_f78b882860133b2a5f2bd8c43e091a54" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">override default @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">override default @language in terms; only language-tag strings</p>
+          <div class="example"><div class="example-title"><span>Example 263</span>: override default @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0018-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "@language": "en",<br>    "de": { "@id": "ex:german", "@language": "de" },<br>    "nolang": { "@id": "ex:nolang", "@language": null }<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test-default": [<br>    "hello",<br>    1,<br>    true<br>  ],<br>  "de": [<br>    "hallo",<br>    2,<br>    true<br>  ],<br>  "nolang": [<br>    "no language",<br>    3,<br>    false<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 264</span>: override default @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0018-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test",<br>    "http://example.org/vocab#test-default": [ { "@value": "hello", "@language": "en" }, { "@value": 1 }, { "@value": true } ],<br>    "http://example.org/vocab#german": [ { "@value": "hallo", "@language": "de" }, { "@value": 2 }, { "@value": true } ],<br>    "http://example.org/vocab#nolang": [ {"@value": "no language"}, { "@value": 3 }, { "@value": false } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_ecb342df07ce29659600d26193a0067e" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">remove @value = null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Expanding a value of null removes the value</p>
+          <div class="example"><div class="example-title"><span>Example 265</span>: remove @value = null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0019-in.jsonld">{<br>  "@context": {<br>    "myproperty": "http://example.com/myproperty"<br>  },<br>  "myproperty": { "@value" : null }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 266</span>: remove @value = null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0019-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_4e5432713bfb7cd34982a37fe235eb49" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020">
+          Test 0020:
+          <span property="dc:title mf:name">do not remove @graph if not at top-level</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0020">
+          <p lang="en" property="dc:description">@graph used under a node is retained</p>
+          <div class="example"><div class="example-title"><span>Example 267</span>: do not remove @graph if not at top-level Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0020-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 268</span>: do not remove @graph if not at top-level Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0020-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test#jane",<br>    "http://xmlns.com/foaf/0.1/name": [ {"@value": "Jane"} ],<br>    "http://example.org/vocab#authored": [<br>      {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "http://purl.org/dc/elements/1.1/description": [ {"@value": "Fun"} ],<br>            "http://purl.org/dc/elements/1.1/title": [ {"@value": "Chapter One"} ]<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "http://purl.org/dc/elements/1.1/description": [ {"@value": "More fun"} ],<br>            "http://purl.org/dc/elements/1.1/title": [ {"@value": "Chapter Two"} ]<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.org/test#john",<br>    "http://xmlns.com/foaf/0.1/name": [ {"@value": "John"} ]<br>  },<br>  {<br>    "@id": "http://example.org/test#library",<br>    "http://example.org/vocab#contains": [<br>      {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [ { "@id": "http://example.org/test#chapter" } ],<br>        "http://purl.org/dc/elements/1.1/contributor": [ {"@value": "Writer"} ],<br>        "http://purl.org/dc/elements/1.1/title": [ {"@value": "My Book"} ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_7b97e25a4f36fdfe2131d05d3d2110c6" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021">
+          Test 0021:
+          <span property="dc:title mf:name">do not remove @graph at top-level if not only property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0021">
+          <p lang="en" property="dc:description">@graph used at the top level is retained if there are other properties</p>
+          <div class="example"><div class="example-title"><span>Example 269</span>: do not remove @graph at top-level if not only property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0021-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "title": "My first graph",<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter3",<br>            "title": "Chapter Three"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 270</span>: do not remove @graph at top-level if not only property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0021-out.jsonld">[<br>  {<br>    "http://purl.org/dc/elements/1.1/title": [ {"@value": "My first graph"} ],<br>    "@graph": [<br>      {<br>        "@id": "http://example.org/test#jane",<br>        "http://xmlns.com/foaf/0.1/name": [ {"@value": "Jane"} ],<br>        "http://example.org/vocab#authored": [<br>          {<br>            "@graph": [<br>              {<br>                "@id": "http://example.org/test#chapter1",<br>                "http://purl.org/dc/elements/1.1/description": [ {"@value": "Fun"} ],<br>                "http://purl.org/dc/elements/1.1/title": [ {"@value": "Chapter One"} ]<br>              },<br>              {<br>                "@id": "http://example.org/test#chapter2",<br>                "http://purl.org/dc/elements/1.1/description": [ {"@value": "More fun"} ],<br>                "http://purl.org/dc/elements/1.1/title": [ {"@value": "Chapter Two"} ]<br>              },<br>              {<br>                "@id": "http://example.org/test#chapter3",<br>                "http://purl.org/dc/elements/1.1/title": [ {"@value": "Chapter Three"} ]<br>              }<br>            ]<br>          }<br>        ]<br>      },<br>      {<br>        "@id": "http://example.org/test#john",<br>        "http://xmlns.com/foaf/0.1/name": [ {"@value": "John"} ]<br>      },<br>      {<br>        "@id": "http://example.org/test#library",<br>        "http://example.org/vocab#contains": [<br>          {<br>            "@id": "http://example.org/test#book",<br>            "http://example.org/vocab#contains": [ { "@id": "http://example.org/test#chapter" } ],<br>            "http://purl.org/dc/elements/1.1/contributor": [ {"@value": "Writer"} ],<br>            "http://purl.org/dc/elements/1.1/title": [ {"@value": "My Book"} ]<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e06d52f699a05ba569127f3662bd9eb3" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022">
+          Test 0022:
+          <span property="dc:title mf:name">expand value with default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0022">
+          <p lang="en" property="dc:description">Expanding with a default language applies that language to string values</p>
+          <div class="example"><div class="example-title"><span>Example 271</span>: expand value with default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0022-in.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/term",<br>    "@language": "en"<br>  },<br>  "term": "v"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 272</span>: expand value with default language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0022-out.jsonld">[{<br>  "http://example.com/term": [{"@value": "v", "@language": "en"}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_447ec1849a078c1441d7ca24a5b5e3e1" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023">
+          Test 0023:
+          <span property="dc:title mf:name">Expanding list/set with coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0023">
+          <p lang="en" property="dc:description">Expanding lists and sets with properties having coercion coerces list/set values</p>
+          <div class="example"><div class="example-title"><span>Example 273</span>: Expanding list/set with coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0023-in.jsonld">{<br>  "@context": {<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "idlist": {"@id": "http://example.com/idlist", "@container": "@list", "@type": "@id"},<br>    "datelist": {"@id": "http://example.com/datelist", "@container": "@list", "@type": "xsd:date"},<br>    "idset": {"@id": "http://example.com/idset", "@container": "@set", "@type": "@id"},<br>    "dateset": {"@id": "http://example.com/dateset", "@container": "@set", "@type": "xsd:date"},<br>    "idprop": {"@id": "http://example.com/idprop", "@type": "@id" },<br>    "dateprop": {"@id": "http://example.com/dateprop", "@type": "xsd:date" },<br>    "idprop2": {"@id": "http://example.com/idprop2", "@type": "@id" },<br>    "dateprop2": {"@id": "http://example.com/dateprop2", "@type": "xsd:date" }<br>  },<br>  "idlist": ["http://example.org/id"],<br>  "datelist": ["2012-04-12"],<br>  "idprop": {"@list": ["http://example.org/id"]},<br>  "dateprop": {"@list": ["2012-04-12"]},<br>  "idset": ["http://example.org/id"],<br>  "dateset": ["2012-04-12"],<br>  "idprop2": {"@set": ["http://example.org/id"]},<br>  "dateprop2": {"@set": ["2012-04-12"]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 274</span>: Expanding list/set with coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0023-out.jsonld">[<br>  {<br>    "http://example.com/idlist": [{"@list": [{"@id": "http://example.org/id"}]}],<br>    "http://example.com/datelist": [{"@list": [{"@value": "2012-04-12","@type": "http://www.w3.org/2001/XMLSchema#date"}]}],<br>    "http://example.com/idprop": [{"@list": [{"@id": "http://example.org/id"}]}],<br>    "http://example.com/dateprop": [{"@list": [{"@value": "2012-04-12","@type": "http://www.w3.org/2001/XMLSchema#date"}]}],<br>    "http://example.com/idset": [{"@id": "http://example.org/id"}],<br>    "http://example.com/dateset": [{"@value": "2012-04-12","@type": "http://www.w3.org/2001/XMLSchema#date"}],<br>    "http://example.com/idprop2": [{"@id": "http://example.org/id"}],<br>    "http://example.com/dateprop2": [{"@value": "2012-04-12","@type": "http://www.w3.org/2001/XMLSchema#date"}]<br>  }<br>]</pre></div>
+        </dd>
+        <dt id="test_a216189292fa3a556fcbff33e0a51c73" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024">
+          Test 0024:
+          <span property="dc:title mf:name">Multiple contexts</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0024">
+          <p lang="en" property="dc:description">Tests that contexts in an array are merged</p>
+          <div class="example"><div class="example-title"><span>Example 275</span>: Multiple contexts Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0024-in.jsonld">{<br>  "@context": [<br>    {<br>      "name": "http://xmlns.com/foaf/0.1/name",<br>      "homepage": {"@id": "http://xmlns.com/foaf/0.1/homepage","@type": "@id"}<br>    },<br>    {"ical": "http://www.w3.org/2002/12/cal/ical#"}<br>  ],<br>  "@id": "http://example.com/speakers#Alice",<br>  "name": "Alice",<br>  "homepage": "http://xkcd.com/177/",<br>  "ical:summary": "Alice Talk",<br>  "ical:location": "Lyon Convention Centre, Lyon, France"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 276</span>: Multiple contexts Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0024-out.jsonld">[{<br>  "@id": "http://example.com/speakers#Alice",<br>  "http://xmlns.com/foaf/0.1/name": [{"@value": "Alice"}],<br>  "http://xmlns.com/foaf/0.1/homepage": [{"@id": "http://xkcd.com/177/"}],<br>  "http://www.w3.org/2002/12/cal/ical#summary": [{"@value": "Alice Talk"}],<br>  "http://www.w3.org/2002/12/cal/ical#location": [{"@value": "Lyon Convention Centre, Lyon, France"}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_7a3e3eb7ebd2883c00ada70411a58ed3" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025">
+          Test 0025:
+          <span property="dc:title mf:name">Problematic IRI expansion tests</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0025">
+          <p lang="en" property="dc:description">Expanding different kinds of terms and Compact IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 277</span>: Problematic IRI expansion tests Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0025-in.jsonld">{<br>  "@context": {<br>    "foo": "http://example.com/foo/",<br>    "foo:bar": "http://example.com/bar",<br>    "bar": {"@id": "foo:bar", "@type": "@id"},<br>    "_": "http://example.com/underscore/"<br>  },<br>  "@type": [ "foo", "foo:bar", "_" ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 278</span>: Problematic IRI expansion tests Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0025-out.jsonld">[{<br>  "@type": [<br>    "http://example.com/foo/",<br>    "http://example.com/bar",<br>    "http://example.com/underscore/"<br>  ]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_a2c30bcb91f907474e68cbd1a0b589bb" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026">
+          Test 0026:
+          <span property="dc:title mf:name">Term definition with @id: @type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0026">
+          <p lang="en" property="dc:description">Expanding term mapping to @type uses @type syntax</p>
+          <div class="example"><div class="example-title"><span>Example 279</span>: Term definition with @id: @type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0026-in.jsonld">{<br>  "@context": {<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {"@id": "@type", "@type": "@id"}<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.com/a",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/b"<br>    }, {<br>      "@id": "http://example.com/c",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [<br>        "http://example.com/d",<br>        "http://example.com/e"<br>      ]<br>    }, {<br>      "@id": "http://example.com/f",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/g"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 280</span>: Term definition with @id: @type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0026-out.jsonld">[<br>  {<br>    "@id": "http://example.com/a",<br>    "@type": [<br>      "http://example.com/b"<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com/c",<br>    "@type": [<br>      "http://example.com/d",<br>      "http://example.com/e"<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com/f",<br>    "@type": [<br>      "http://example.com/g"<br>    ]<br>  }<br>]</pre></div>
+        </dd>
+        <dt id="test_cb62583d36ee2301fab8ca80aa10c653" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027">
+          Test 0027:
+          <span property="dc:title mf:name">Duplicate values in @list and @set</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0027">
+          <p lang="en" property="dc:description">Duplicate values in @list and @set are not merged</p>
+          <div class="example"><div class="example-title"><span>Example 281</span>: Duplicate values in @list and @set Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0027-in.jsonld">{<br>  "@context": {<br>    "mylist": {"@id": "http://example.com/mylist", "@container": "@list"},<br>    "myset": {"@id": "http://example.com/myset", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist": [1, 2, 2, 3],<br>  "myset": [1, 2, 2, 3]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 282</span>: Duplicate values in @list and @set Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0027-out.jsonld">[{<br>  "@id": "http://example.org/id",<br>  "http://example.com/mylist": [{<br>    "@list": [<br>      {"@value": 1},<br>      {"@value": 2},<br>      {"@value": 2},<br>      {"@value": 3}<br>    ]<br>  }],<br>  "http://example.com/myset": [<br>    {"@value": 1},<br>    {"@value": 2},<br>    {"@value": 2},<br>    {"@value": 3}<br>  ]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_014696c7f3b28814b0dd3472499ec3b6" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028">
+          Test 0028:
+          <span property="dc:title mf:name">Use @vocab in properties and @type but not in @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0028">
+          <p lang="en" property="dc:description">@vocab is used to compact properties and @type, but is not used for @id</p>
+          <div class="example"><div class="example-title"><span>Example 283</span>: Use @vocab in properties and @type but not in @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0028-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/vocab#",<br>    "date": { "@type": "dateTime" }<br>  },<br>  "@id": "example1",<br>  "@type": "test",<br>  "date": "2011-01-25T00:00:00Z",<br>  "embed": {<br>    "@id": "example2",<br>    "expandedDate": { "@value": "2012-08-01T00:00:00Z", "@type": "dateTime" }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 284</span>: Use @vocab in properties and @type but not in @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0028-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/example1",<br>    "@type": [ "http://example.org/vocab#test" ],<br>    "http://example.org/vocab#date": [<br>      {<br>        "@value": "2011-01-25T00:00:00Z",<br>        "@type": "http://example.org/vocab#dateTime"<br>      }<br>    ],<br>    "http://example.org/vocab#embed": [<br>      {<br>        "@id": "http://json-ld.org/test-suite/tests/example2",<br>        "http://example.org/vocab#expandedDate": [<br>          {<br>            "@value": "2012-08-01T00:00:00Z",<br>            "@type": "http://example.org/vocab#dateTime"<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_5661c4455f64d6620df0b635e0dd10af" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029">
+          Test 0029:
+          <span property="dc:title mf:name">Relative IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0029">
+          <p lang="en" property="dc:description">@base is used to compact @id; test with different relative IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 285</span>: Relative IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0029-in.jsonld">{<br>  "@context": {<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "./../../../useless/../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 286</span>: Relative IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0029-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/relativeIris",<br>    "@type": [<br>        "http://json-ld.org/test-suite/tests/link",<br>        "http://json-ld.org/test-suite/tests/expand-0029-in.jsonld#fragment-works",<br>        "http://json-ld.org/test-suite/tests/expand-0029-in.jsonld?query=works",<br>        "http://json-ld.org/test-suite/tests/",<br>        "http://json-ld.org/test-suite/",<br>        "http://json-ld.org/test-suite/parent",<br>        "http://json-ld.org/parent-parent-eq-root",<br>        "http://json-ld.org/still-root",<br>        "http://json-ld.org/too-many-dots",<br>        "http://json-ld.org/absolute",<br>        "http://example.org/scheme-relative"<br>    ],<br>    "http://www.example.com/link": [ {<br>      "@list": [<br>        { "@id": "http://json-ld.org/test-suite/tests/link" },<br>        { "@id": "http://json-ld.org/test-suite/tests/expand-0029-in.jsonld#fragment-works" },<br>        { "@id": "http://json-ld.org/test-suite/tests/expand-0029-in.jsonld?query=works" },<br>        { "@id": "http://json-ld.org/test-suite/tests/" },<br>        { "@id": "http://json-ld.org/test-suite/" },<br>        { "@id": "http://json-ld.org/test-suite/parent" },<br>        { "@id": "http://json-ld.org/parent-parent-eq-root" },<br>        { "@id": "http://json-ld.org/still-root" },<br>        { "@id": "http://json-ld.org/too-many-dots" },<br>        { "@id": "http://json-ld.org/absolute" },<br>        { "@id": "http://example.org/scheme-relative" }<br>      ]<br>    } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_c7514a36cc3ccdafa9c1405fdcbb6cf2" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030">
+          Test 0030:
+          <span property="dc:title mf:name">Language maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0030">
+          <p lang="en" property="dc:description">Language Maps expand values to include @language</p>
+          <div class="example"><div class="example-title"><span>Example 287</span>: Language maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0030-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 288</span>: Language maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0030-out.jsonld">[<br>  {<br>    "@id": "http://example.com/queen",<br>    "http://example.com/vocab/label":<br>    [<br>      {<br>        "@value": "Die Königin",<br>        "@language": "de"<br>      }, {<br>        "@value": "Ihre Majestät",<br>        "@language": "de"<br>      }, {<br>        "@value": "The Queen",<br>        "@language": "en"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_c322f0abf87b89abad70c53a3b84e154" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031">
+          Test 0031:
+          <span property="dc:title mf:name">type-coercion of native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0031">
+          <p lang="en" property="dc:description">Expanding native types with type coercion adds the coerced type to an expanded value representation and retains the native value representation</p>
+          <div class="example"><div class="example-title"><span>Example 289</span>: type-coercion of native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0031-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "ex:integer": { "@type": "xsd:integer" },<br>    "ex:double": { "@type": "xsd:double" },<br>    "ex:boolean": { "@type": "xsd:boolean" }<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:integer": 1,<br>  "ex:double": 123.45,<br>  "ex:boolean": true<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 290</span>: type-coercion of native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0031-out.jsonld">[<br>  {<br>    "@id": "http://example.org/test#example1",<br>    "http://example.org/vocab#integer": [ {<br>      "@value": 1,<br>      "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>    } ],<br>    "http://example.org/vocab#double": [ {<br>      "@value": 123.45,<br>      "@type": "http://www.w3.org/2001/XMLSchema#double"<br>    } ],<br>    "http://example.org/vocab#boolean": [ {<br>      "@value": true,<br>      "@type": "http://www.w3.org/2001/XMLSchema#boolean"<br>    } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_366c394866e4cc24728efc5c0278c53b" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032">
+          Test 0032:
+          <span property="dc:title mf:name">Null term and @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0032">
+          <p lang="en" property="dc:description">Mapping a term to null decouples it from @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 291</span>: Null term and @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0032-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://xmlns.com/foaf/0.1/",<br>    "from": null,<br>    "university": { "@id": null }<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "from": "Italy",<br>  "university": "TU Graz"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 292</span>: Null term and @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0032-out.jsonld">[<br>   {<br>      "@id": "http://me.markus-lanthaler.com/",<br>      "http://xmlns.com/foaf/0.1/name": [<br>         {<br>            "@value": "Markus Lanthaler"<br>         }<br>      ]<br>   }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a8838a70c263ef2802a25a6a7e7a3a1c" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033">
+          Test 0033:
+          <span property="dc:title mf:name">Using @vocab with with type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0033">
+          <p lang="en" property="dc:description">Verifies that terms can be defined using @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 293</span>: Using @vocab with with type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0033-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab#",<br>    "homepage": {<br>      "@type": "@id"<br>    },<br>    "created_at": {<br>      "@type": "http://www.w3.org/2001/XMLSchema#date"<br>    }<br>  },<br>  "name": "Markus Lanthaler",<br>  "homepage": "http://www.markus-lanthaler.com/",<br>  "created_at": "2012-10-28"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 294</span>: Using @vocab with with type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0033-out.jsonld">[{<br>   "http://example.com/vocab#name": [{<br>      "@value": "Markus Lanthaler"<br>   }],<br>   "http://example.com/vocab#homepage": [{<br>      "@id": "http://www.markus-lanthaler.com/"<br>   }],<br>   "http://example.com/vocab#created_at": [{<br>      "@value": "2012-10-28",<br>      "@type": "http://www.w3.org/2001/XMLSchema#date"<br>   }]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_aef2f6f000b6fe2017fbe8c640ec9fbe" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034">
+          Test 0034:
+          <span property="dc:title mf:name">Multiple properties expanding to the same IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0034">
+          <p lang="en" property="dc:description">Verifies multiple values from separate terms are deterministically made multiple values of the IRI associated with the terms</p>
+          <div class="example"><div class="example-title"><span>Example 295</span>: Multiple properties expanding to the same IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0034-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "colliding": "http://example.com/vocab/collidingTerm"<br>  },<br>  "@id": "http://example.com/IriCollissions",<br>  "colliding": [<br>    "value 1",<br>    2<br>  ],<br>  "collidingTerm": [<br>    3,<br>    "four"<br>  ],<br>  "http://example.com/vocab/collidingTerm": 5<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 296</span>: Multiple properties expanding to the same IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0034-out.jsonld">[{<br>   "@id": "http://example.com/IriCollissions",<br>   "http://example.com/vocab/collidingTerm": [<br>      {<br>         "@value": "value 1"<br>      }, {<br>         "@value": 2<br>      }, {<br>         "@value": 3<br>      }, {<br>         "@value": "four"<br>      },<br>      {<br>         "@value": 5<br>      }<br>   ]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_2f70ba075e355b0bd46c163de1bdd067" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035">
+          Test 0035:
+          <span property="dc:title mf:name">Language maps with @vocab, default language, and colliding property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0035">
+          <p lang="en" property="dc:description">Pathological tests of language maps</p>
+          <div class="example"><div class="example-title"><span>Example 297</span>: Language maps with @vocab, default language, and colliding property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0035-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "@language": "it",<br>    "label": {<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  },<br>  "http://example.com/vocab/label": [<br>    "Il re",<br>    { "@value": "The king", "@language": "en" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 298</span>: Language maps with @vocab, default language, and colliding property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0035-out.jsonld">[{<br>   "@id": "http://example.com/queen",<br>   "http://example.com/vocab/label": [<br>      {<br>         "@value": "Il re",<br>         "@language": "it"<br>      }, {<br>         "@value": "The king",<br>         "@language": "en"<br>      }, {<br>         "@value": "Die Königin",<br>         "@language": "de"<br>      }, {<br>         "@value": "Ihre Majestät",<br>         "@language": "de"<br>      }, {<br>         "@value": "The Queen",<br>         "@language": "en"<br>      }<br>   ]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_6aa3d6bec184f5ebbc7194eec44c5853" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036">
+          Test 0036:
+          <span property="dc:title mf:name">Expanding @index</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0036">
+          <p lang="en" property="dc:description">Expanding index maps for terms defined with @container: @index</p>
+          <div class="example"><div class="example-title"><span>Example 299</span>: Expanding @index Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0036-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "indexContainer": { "@id": "http://example.com/container", "@container": "@index" }<br>  },<br>  "@id": "http://example.org/indexTest",<br>  "indexContainer": {<br>    "A": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexA"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexA",<br>        "@index": "this overrides the 'A' index from the container"<br>      },<br>      1,<br>      true,<br>      false,<br>      null,<br>      "simple string A",<br>      {<br>        "@value": "typed literal A",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string A",<br>        "@language": "en"<br>      }<br>    ],<br>    "B": "simple string B",<br>    "C": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexC"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexC",<br>        "@index": "this overrides the 'C' index from the container"<br>      },<br>      3,<br>      true,<br>      false,<br>      null,<br>      "simple string C",<br>      {<br>        "@value": "typed literal C",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string C",<br>        "@language": "en"<br>      }<br>    ]<br>  },<br>  "property": [<br>    {<br>      "@id": "http://example.org/nodeWithoutIndexProp"<br>    },<br>    {<br>      "@id": "http://example.org/nodeWithIndexProp",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": 3,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": true,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": false,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": null,<br>      "@index": "prop"<br>    },<br>    "simple string no index",<br>    {<br>      "@value": "typed literal Prop",<br>      "@type": "http://example.org/type",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": "language-tagged string Prop",<br>      "@language": "en",<br>      "@index": "prop"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 300</span>: Expanding @index Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0036-out.jsonld">[<br>   {<br>      "@id": "http://example.org/indexTest",<br>      "http://example.com/container": [<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexA",<br>            "@index": "A"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexA",<br>            "@index": "this overrides the 'A' index from the container"<br>         },<br>         {<br>            "@value": 1,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "simple string A",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "typed literal A",<br>            "@type": "http://example.org/type",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "language-tagged string A",<br>            "@language": "en",<br>            "@index": "A"<br>         },<br>         {<br>            "@value": "simple string B",<br>            "@index": "B"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexC",<br>            "@index": "C"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexC",<br>            "@index": "this overrides the 'C' index from the container"<br>         },<br>         {<br>            "@value": 3,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "simple string C",<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "typed literal C",<br>            "@type": "http://example.org/type",<br>            "@index": "C"<br>         },<br>         {<br>            "@value": "language-tagged string C",<br>            "@language": "en",<br>            "@index": "C"<br>         }<br>      ],<br>      "http://example.com/property": [<br>         {<br>            "@id": "http://example.org/nodeWithoutIndexProp"<br>         },<br>         {<br>            "@id": "http://example.org/nodeWithIndexProp",<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": 3,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": true,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": false,<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": "simple string no index"<br>         },<br>         {<br>            "@value": "typed literal Prop",<br>            "@type": "http://example.org/type",<br>            "@index": "prop"<br>         },<br>         {<br>            "@value": "language-tagged string Prop",<br>            "@language": "en",<br>            "@index": "prop"<br>         }<br>      ]<br>   }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a4f1b95a7f05d7906f1fed0336313f4d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037">
+          Test 0037:
+          <span property="dc:title mf:name">Expanding @reverse</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0037">
+          <p lang="en" property="dc:description">Expanding @reverse keeps @reverse</p>
+          <div class="example"><div class="example-title"><span>Example 301</span>: Expanding @reverse Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0037-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "http://xmlns.com/foaf/0.1/knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 302</span>: Expanding @reverse Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0037-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_15d63589dec74e08695c039b9646bff9" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038">
+          Test 0038:
+          <span property="dc:title mf:name">Expanding blank node labels</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0038">
+          <p lang="en" property="dc:description">Blank nodes are not relabeled during expansion</p>
+          <div class="example"><div class="example-title"><span>Example 303</span>: Expanding blank node labels Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0038-in.jsonld">{<br>  "@context": {<br>    "term": "_:term",<br>    "termId": { "@id": "term", "@type": "@id" }<br>  },<br>  "@id": "_:term",<br>  "@type": "_:term",<br>  "term": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Bx",<br>      "term": "term"<br>    },<br>    "plain value",<br>    {<br>      "@id": "_:term"<br>    }<br>  ],<br>  "termId": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Cx",<br>      "term": "termId"<br>    },<br>    "term:AppendedToBlankNode",<br>    "_:termAppendedToBlankNode",<br>    "relativeIri",<br>    {<br>      "@id": "_:term"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 304</span>: Expanding blank node labels Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0038-out.jsonld">[<br>  {<br>    "@id": "_:term",<br>    "@type": [<br>      "_:term"<br>    ],<br>    "_:term": [<br>      {<br>        "@id": "_:term",<br>        "@type": [<br>          "_:term"<br>        ]<br>      },<br>      {<br>        "@id": "_:Bx",<br>        "_:term": [<br>          {<br>            "@value": "term"<br>          }<br>        ]<br>      },<br>      {<br>        "@value": "plain value"<br>      },<br>      {<br>        "@id": "_:term"<br>      },<br>      {<br>        "@id": "_:term",<br>        "@type": [<br>          "_:term"<br>        ]<br>      },<br>      {<br>        "@id": "_:Cx",<br>        "_:term": [<br>          {<br>            "@value": "termId"<br>          }<br>        ]<br>      },<br>      {<br>        "@id": "_:termAppendedToBlankNode"<br>      },<br>      {<br>        "@id": "_:termAppendedToBlankNode"<br>      },<br>      {<br>        "@id": "http://json-ld.org/test-suite/tests/relativeIri"<br>      },<br>      {<br>        "@id": "_:term"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_761c63e32e34f17b8c65d21dbe2fea6d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039">
+          Test 0039:
+          <span property="dc:title mf:name">Using terms in a reverse-maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0039">
+          <p lang="en" property="dc:description">Terms within @reverse are expanded</p>
+          <div class="example"><div class="example-title"><span>Example 305</span>: Using terms in a reverse-maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0039-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 306</span>: Using terms in a reverse-maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0039-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_c37b191aed268057c80bce1c4527ce9f" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040">
+          Test 0040:
+          <span property="dc:title mf:name">language and index expansion on non-objects</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0040">
+          <p lang="en" property="dc:description">Only invoke language and index map expansion if the value is a JSON object</p>
+          <div class="example"><div class="example-title"><span>Example 307</span>: language and index expansion on non-objects Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0040-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    },<br>    "indexes": {<br>      "@id": "vocab:index",<br>      "@container": "@index"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": [<br>    "The Queen"<br>  ],<br>  "indexes":<br>  [<br>    "No",<br>    "indexes",<br>    { "@id": "asTheValueIsntAnObject" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 308</span>: language and index expansion on non-objects Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0040-out.jsonld">[<br>  {<br>    "@id": "http://example.com/queen",<br>    "http://example.com/vocab/label":<br>    [<br>      {<br>        "@value": "The Queen"<br>      }<br>    ],<br>    "http://example.com/vocab/index":<br>    [<br>      {<br>        "@value": "No"<br>      },<br>      {<br>        "@value": "indexes"<br>      },<br>      {<br>        "@id": "http://json-ld.org/test-suite/tests/asTheValueIsntAnObject"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_bfe466d2cab1fdd09384ca4ea6704f4d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041">
+          Test 0041:
+          <span property="dc:title mf:name">@language: null resets the default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0041">
+          <div class="example"><div class="example-title"><span>Example 309</span>: @language: null resets the default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0041-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "nested": "http://example.com/nested",<br>    "@language": "en"<br>  },<br>  "property": "this is English",<br>  "nested": {<br>    "@context": {<br>      "@language": null<br>    },<br>    "property": "and this is a plain string"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 310</span>: @language: null resets the default language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0041-out.jsonld">[<br>  {<br>    "http://example.com/property": [ { "@value": "this is English", "@language": "en" } ],<br>    "http://example.com/nested": [<br>      {<br>        "http://example.com/property": [ { "@value": "and this is a plain string" } ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0a3ed08bb74045e9c42689f78f6fea30" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042">
+          Test 0042:
+          <span property="dc:title mf:name">Reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0042">
+          <p lang="en" property="dc:description">Expanding terms defined as reverse properties uses @reverse in expanded document</p>
+          <div class="example"><div class="example-title"><span>Example 311</span>: Reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0042-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "@id": "http://example.com/people/dave",<br>    "name": "Dave Longley"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 312</span>: Reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0042-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_7f2b3c20a4dfd08e1cb32980126d8b04" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043">
+          Test 0043:
+          <span property="dc:title mf:name">Using reverse properties inside a @reverse-container</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0043">
+          <p lang="en" property="dc:description">Expanding a reverse property within a @reverse undoes both reversals</p>
+          <div class="example"><div class="example-title"><span>Example 313</span>: Using reverse properties inside a @reverse-container Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0043-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "isKnownBy": [<br>      {<br>        "@id": "http://example.com/people/dave",<br>        "name": "Dave Longley"<br>      },<br>      {<br>        "@id": "http://example.com/people/gregg",<br>        "name": "Gregg Kellogg"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 314</span>: Using reverse properties inside a @reverse-container Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0043-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "http://xmlns.com/foaf/0.1/knows": [<br>      {<br>        "@id": "http://example.com/people/dave",<br>        "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>      },<br>      {<br>        "@id": "http://example.com/people/gregg",<br>        "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>      }<br>    ],<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0f2b7dd66c94fb5d9ba686f1ad9c9e65" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044">
+          Test 0044:
+          <span property="dc:title mf:name">Index maps with language mappings</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0044">
+          <p lang="en" property="dc:description">Ensure index maps use language mapping</p>
+          <div class="example"><div class="example-title"><span>Example 315</span>: Index maps with language mappings Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0044-in.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.com/vocab/property", "@language": "de" },<br>    "indexMap": { "@id": "http://example.com/vocab/indexMap", "@language": "en", "@container": "@index" }<br>  },<br>  "@id": "http://example.com/node",<br>  "property": [<br>    {<br>      "@id": "http://example.com/propertyValueNode",<br>      "indexMap": {<br>        "expands to english string": "simple string"<br>      }<br>    },<br>    "einfacher String"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 316</span>: Index maps with language mappings Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0044-out.jsonld">[<br>  {<br>    "@id": "http://example.com/node",<br>    "http://example.com/vocab/property": [<br>      {<br>        "@id": "http://example.com/propertyValueNode",<br>        "http://example.com/vocab/indexMap": [<br>          {<br>            "@value": "simple string",<br>            "@language": "en",<br>            "@index": "expands to english string"<br>          }<br>        ]<br>      },<br>      {<br>        "@value": "einfacher String",<br>        "@language": "de"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_8238e660e941ec3daf68a2444f4bafb0" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045">
+          Test 0045:
+          <span property="dc:title mf:name">Top-level value objects</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0045">
+          <p lang="en" property="dc:description">Expanding top-level value objects causes them to be removed</p>
+          <div class="example"><div class="example-title"><span>Example 317</span>: Top-level value objects Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0045-in.jsonld">{<br>    "@value": "free-floating value"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 318</span>: Top-level value objects Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0045-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_f263a000a15c2e9b12cefe22b26e8845" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046">
+          Test 0046:
+          <span property="dc:title mf:name">Free-floating nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0046">
+          <p lang="en" property="dc:description">Expanding free-floating nodes causes them to be removed</p>
+          <div class="example"><div class="example-title"><span>Example 319</span>: Free-floating nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0046-in.jsonld">{<br>    "@graph": [<br>        { "@id": "http://example.com/free-floating-node" },<br>        { "@value": "free-floating value object" },<br>        { "@value": "free-floating value language-tagged string",  "@language": "en" },<br>        { "@value": "free-floating value typed value",  "@type": "http://example.com/type" },<br>        "free-floating plain string",<br>        true,<br>        false,<br>        null,<br>        1,<br>        1.5<br>    ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 320</span>: Free-floating nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0046-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_86ab6f953dfb7a8e2287fe95cabd668d" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047">
+          Test 0047:
+          <span property="dc:title mf:name">Free-floating values in sets and free-floating lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0047">
+          <p lang="en" property="dc:description">Free-floating values in sets are removed, free-floating lists are removed completely</p>
+          <div class="example"><div class="example-title"><span>Example 321</span>: Free-floating values in sets and free-floating lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0047-in.jsonld">{<br>    "@context": {<br>        "property": "http://example.com/property"<br>    },<br>    "@graph": [<br>        {<br>            "@set": [<br>                "free-floating strings in set objects are removed",<br>                {<br>                    "@id": "http://example.com/free-floating-node"<br>                },<br>                {<br>                    "@id": "http://example.com/node",<br>                    "property": "nodes with properties are not removed"<br>                }<br>            ]<br>        },<br>        {<br>            "@list": [<br>                "lists are removed even though they represent an invisible linked structure, they have no real meaning",<br>                {<br>                    "@id": "http://example.com/node-in-free-floating-list",<br>                    "property": "everything inside a free-floating list is removed with the list; also nodes with properties"<br>                }<br>            ]<br>        }<br>    ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 322</span>: Free-floating values in sets and free-floating lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0047-out.jsonld">[<br>    {<br>        "@id": "http://example.com/node",<br>        "http://example.com/property": [<br>            {<br>                "@value": "nodes with properties are not removed"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a417b11f599d8d5d967130c6a087c373" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048">
+          Test 0048:
+          <span property="dc:title mf:name">Terms are ignored in @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0048">
+          <p lang="en" property="dc:description">Values of @id are not expanded as terms</p>
+          <div class="example"><div class="example-title"><span>Example 323</span>: Terms are ignored in @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0048-in.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/terms-are-not-considered-in-id",<br>    "compact-iris": "http://example.com/compact-iris-",<br>    "property": "http://example.com/property",<br>    "@vocab": "http://example.org/vocab-is-not-considered-for-id"<br>  },<br>  "@id": "term",<br>  "property": [<br>    {<br>      "@id": "compact-iris:are-considered",<br>      "property": "@id supports the following values: relative, absolute, and compact IRIs"<br>    },<br>    {<br>      "@id": "../parent-node",<br>      "property": "relative IRIs get resolved against the document's base IRI"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 324</span>: Terms are ignored in @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0048-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/term",<br>    "http://example.com/property": [<br>      {<br>        "@id": "http://example.com/compact-iris-are-considered",<br>        "http://example.com/property": [<br>          { "@value": "@id supports the following values: relative, absolute, and compact IRIs" }<br>        ]<br>      },<br>      {<br>        "@id": "http://json-ld.org/test-suite/parent-node",<br>        "http://example.com/property": [<br>          { "@value": "relative IRIs get resolved against the document's base IRI" }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_3d5e4c58ee4663a37eaed72629728435" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049">
+          Test 0049:
+          <span property="dc:title mf:name">String values of reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0049">
+          <p lang="en" property="dc:description">String values of a reverse property with @type: @id are treated as IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 325</span>: String values of reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0049-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@type": "@id" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    "http://example.com/people/dave",<br>    "http://example.com/people/gregg"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 326</span>: String values of reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0049-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_b6578b841cf155a7a3d0f66914b26da5" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050">
+          Test 0050:
+          <span property="dc:title mf:name">Term definitions with prefix separate from prefix definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0050">
+          <p lang="en" property="dc:description">Term definitions using compact IRIs don't inherit the definitions of the prefix</p>
+          <div class="example"><div class="example-title"><span>Example 327</span>: Term definitions with prefix separate from prefix definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0050-in.jsonld">{<br>  "@context": {<br>    "issue": { "@id": "http://example.com/issue/", "@type": "@id" },<br>    "issue:raisedBy": { "@container": "@set" }<br>  },<br>  "issue": "/issue/1",<br>  "issue:raisedBy": "Markus"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 328</span>: Term definitions with prefix separate from prefix definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0050-out.jsonld">[<br>  {<br>    "http://example.com/issue/": [ { "@id": "http://json-ld.org/issue/1" } ],<br>    "http://example.com/issue/raisedBy": [ { "@value": "Markus" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_cdded39b73328621a1b7eac54dfc430c" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051">
+          Test 0051:
+          <span property="dc:title mf:name">Expansion of keyword aliases in term definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0051">
+          <p lang="en" property="dc:description">Expanding terms which are keyword aliases</p>
+          <div class="example"><div class="example-title"><span>Example 329</span>: Expansion of keyword aliases in term definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0051-in.jsonld">{<br>  "@context": [<br>    { "id": "@id" },<br>    { "url": "id" }<br>  ],<br>  "url": "/issue/1",<br>  "http://example.com/property": "ok"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 330</span>: Expansion of keyword aliases in term definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0051-out.jsonld">[{<br>   "http://example.com/property": [{<br>      "@value": "ok"<br>   }],<br>   "@id": "http://json-ld.org/issue/1"<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_b5f7fb037683a080894d27dd239b55b9" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052">
+          Test 0052:
+          <span property="dc:title mf:name">@vocab-relative IRIs in term definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0052">
+          <p lang="en" property="dc:description">If @vocab is defined, term definitions are expanded relative to @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 331</span>: @vocab-relative IRIs in term definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0052-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/",<br>    "property": "vocabRelativeProperty"<br>  },<br>  "property": "must expand to http://example.org/vocabRelativeProperty",<br>  "http://example.org/property": "ok"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 332</span>: @vocab-relative IRIs in term definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0052-out.jsonld">[<br>  {<br>    "http://example.org/property": [ { "@value": "ok" } ],<br>    "http://example.org/vocabRelativeProperty": [ { "@value": "must expand to http://example.org/vocabRelativeProperty" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_9d382a7f9c100560bf14487cb7f66df9" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053">
+          Test 0053:
+          <span property="dc:title mf:name">Expand absolute IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0053">
+          <p lang="en" property="dc:description">Expanding values of properties of @type: @vocab does not further expand absolute IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 333</span>: Expand absolute IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0053-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"}<br>  },<br>  "term": "http://example.org/enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 334</span>: Expand absolute IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0053-out.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_4f6749dc1eadc257025180339b21aa64" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054">
+          Test 0054:
+          <span property="dc:title mf:name">Expand term with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0054">
+          <p lang="en" property="dc:description">Expanding values of properties of @type: @vocab does not expand term values</p>
+          <div class="example"><div class="example-title"><span>Example 335</span>: Expand term with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0054-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 336</span>: Expand term with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0054-out.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_93f88a337c640186229e5ef50f293294" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055">
+          Test 0055:
+          <span property="dc:title mf:name">Expand @vocab-relative term with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0055">
+          <p lang="en" property="dc:description">Expanding values of properties of @type: @vocab expands relative IRIs using @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 337</span>: Expand @vocab-relative term with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0055-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/",<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 338</span>: Expand @vocab-relative term with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0055-out.jsonld">[{<br>  "http://example.org/term": [{"@id": "http://example.org/enum"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_a3db5cbf97877b4fd4a0fc749c7d5a6b" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056">
+          Test 0056:
+          <span property="dc:title mf:name">Use terms with @type: @vocab but not with @type: @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0056">
+          <p lang="en" property="dc:description">Checks that expansion uses appropriate base depending on term definition having @type @id or @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 339</span>: Use terms with @type: @vocab but not with @type: @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0056-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepage": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@vocab" },<br>    "link": { "@id": "http://example.com/link", "@type": "@id" },<br>    "MarkusHomepage": "http://www.markus-lanthaler.com/",<br>    "relative-iri": "http://example.com/error-if-this-is-used-for-link"<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepage": "MarkusHomepage",<br>  "link": "relative-iri"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 340</span>: Use terms with @type: @vocab but not with @type: @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0056-out.jsonld">[<br>  {<br>    "@id": "http://me.markus-lanthaler.com/",<br>    "http://xmlns.com/foaf/0.1/homepage": [ { "@id": "http://www.markus-lanthaler.com/" } ],<br>    "http://example.com/link": [ {  "@id": "http://json-ld.org/test-suite/tests/relative-iri" } ],<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_5edaed2dc53cfeac1126bbff64cae176" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057">
+          Test 0057:
+          <span property="dc:title mf:name">Expand relative IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0057">
+          <p lang="en" property="dc:description">Relative values of terms with @type: @vocab expand relative to @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 341</span>: Expand relative IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0057-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" }<br>  },<br>  "term": "not-a-term-thus-a-relative-IRI"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 342</span>: Expand relative IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0057-out.jsonld">[<br>  {<br>    "http://example.org/term": [ { "@id": "http://json-ld.org/test-suite/tests/not-a-term-thus-a-relative-IRI" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_9644f33de4e562cb2a1e675eb8579275" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058">
+          Test 0058:
+          <span property="dc:title mf:name">Expand compact IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0058">
+          <p lang="en" property="dc:description">Compact IRIs are expanded normally even if term has @type: @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 343</span>: Expand compact IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0058-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" },<br>    "prefix": "http://example.com/vocab#"<br>  },<br>  "term": "prefix:suffix"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 344</span>: Expand compact IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0058-out.jsonld">[<br>  {<br>    "http://example.org/term": [ { "@id": "http://example.com/vocab#suffix" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_02a84c00bb064b6c4b6143e633f7594f" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059">
+          Test 0059:
+          <span property="dc:title mf:name">Reset @vocab by setting it to null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0059">
+          <p lang="en" property="dc:description">Setting @vocab to null removes a previous definition</p>
+          <div class="example"><div class="example-title"><span>Example 345</span>: Reset @vocab by setting it to null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0059-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/vocab#"<br>  },<br>  "@id": "example-with-vocab",<br>  "@type": "vocab-prefixed",<br>  "property": "property expanded using @vocab",<br>  "embed": {<br>    "@context": {<br>      "@vocab": null<br>    },<br>    "@id": "example-vocab-reset",<br>    "@type": "document-relative",<br>    "property": "@vocab reset, property will be dropped"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 346</span>: Reset @vocab by setting it to null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0059-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/example-with-vocab",<br>    "@type": [ "http://example.org/vocab#vocab-prefixed" ],<br>    "http://example.org/vocab#embed": [<br>      {<br>        "@id": "http://json-ld.org/test-suite/tests/example-vocab-reset",<br>        "@type": [ "http://json-ld.org/test-suite/tests/document-relative" ]<br>      }<br>    ],<br>    "http://example.org/vocab#property": [ { "@value": "property expanded using @vocab" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_75d01ef02382a1a4ea664e07111d6077" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060">
+          Test 0060:
+          <span property="dc:title mf:name">Overwrite document base with @base and reset it again</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0060">
+          <p lang="en" property="dc:description">Setting @base to an IRI and then resetting it to nil</p>
+          <div class="example"><div class="example-title"><span>Example 347</span>: Overwrite document base with @base and reset it again Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0060-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/vocab#property"<br>  },<br>  "@id": "../document-relative",<br>  "@type": "#document-relative",<br>  "property": {<br>    "@context": {<br>      "@base": "http://example.org/test/"<br>    },<br>    "@id": "../document-base-overwritten",<br>    "@type": "#document-base-overwritten",<br>    "property": [<br>      {<br>        "@context": null,<br>        "@id": "../document-relative",<br>        "@type": "#document-relative",<br>        "property": "context completely reset, drops property"<br>      },<br>      {<br>        "@context": {<br>          "@base": null<br>        },<br>        "@id": "../document-relative",<br>        "@type": "#document-relative",<br>        "property": "only @base is cleared"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 348</span>: Overwrite document base with @base and reset it again Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0060-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/document-relative",<br>    "@type": [ "http://json-ld.org/test-suite/tests/expand-0060-in.jsonld#document-relative" ],<br>    "http://example.com/vocab#property": [<br>      {<br>        "@id": "http://example.org/document-base-overwritten",<br>        "@type": [ "http://example.org/test/#document-base-overwritten" ],<br>        "http://example.com/vocab#property": [<br>          {<br>            "@id": "http://json-ld.org/test-suite/document-relative",<br>            "@type": [ "http://json-ld.org/test-suite/tests/expand-0060-in.jsonld#document-relative" ]<br>          },<br>          {<br>            "@id": "../document-relative",<br>            "@type": [ "#document-relative" ],<br>            "http://example.com/vocab#property": [ { "@value": "only @base is cleared" } ]<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_d068435e684524b51678e214d7447338" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061">
+          Test 0061:
+          <span property="dc:title mf:name">Coercing native types to arbitrary datatypes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0061">
+          <p lang="en" property="dc:description">Expanding native types when coercing to arbitrary datatypes</p>
+          <div class="example"><div class="example-title"><span>Example 349</span>: Coercing native types to arbitrary datatypes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0061-in.jsonld">{<br>  "@context": {<br>    "property": {<br>      "@id": "http://example.com/property",<br>      "@type": "http://example.com/datatype"<br>    }<br>  },<br>  "property": [ 1, true, false, 5.1 ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 350</span>: Coercing native types to arbitrary datatypes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0061-out.jsonld">[<br>  {<br>    "http://example.com/property": [<br>      { "@value": 1, "@type": "http://example.com/datatype" },<br>      { "@value": true, "@type": "http://example.com/datatype" },<br>      { "@value": false, "@type": "http://example.com/datatype" },<br>      { "@value": 5.1, "@type": "http://example.com/datatype" }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_33ac973fae11f33795afd16a647503b5" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062">
+          Test 0062:
+          <span property="dc:title mf:name">Various relative IRIs with with @base</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0062">
+          <p lang="en" property="dc:description">Pathological relative IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 351</span>: Various relative IRIs with with @base Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0062-in.jsonld">{<br>  "@context": {<br>    "@base": "http://example.com/some/deep/directory/and/file#with-a-fragment",<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "./../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative",<br>    "//example.org/../scheme-relative",<br>    "//example.org/.././useless/../../scheme-relative"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 352</span>: Various relative IRIs with with @base Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0062-out.jsonld">[<br>  {<br>    "@id": "http://example.com/some/deep/directory/and/relativeIris",<br>    "@type": [<br>        "http://example.com/some/deep/directory/and/link",<br>        "http://example.com/some/deep/directory/and/file#fragment-works",<br>        "http://example.com/some/deep/directory/and/file?query=works",<br>        "http://example.com/some/deep/directory/and/",<br>        "http://example.com/some/deep/directory/",<br>        "http://example.com/some/deep/directory/parent",<br>        "http://example.com/some/deep/parent-parent-eq-root",<br>        "http://example.com/still-root",<br>        "http://example.com/too-many-dots",<br>        "http://example.com/absolute",<br>        "http://example.org/scheme-relative"<br>    ],<br>    "http://www.example.com/link": [ {<br>      "@list": [<br>        { "@id": "http://example.com/some/deep/directory/and/link" },<br>        { "@id": "http://example.com/some/deep/directory/and/file#fragment-works" },<br>        { "@id": "http://example.com/some/deep/directory/and/file?query=works" },<br>        { "@id": "http://example.com/some/deep/directory/and/" },<br>        { "@id": "http://example.com/some/deep/directory/" },<br>        { "@id": "http://example.com/some/deep/directory/parent" },<br>        { "@id": "http://example.com/some/deep/parent-parent-eq-root" },<br>        { "@id": "http://example.com/still-root" },<br>        { "@id": "http://example.com/too-many-dots" },<br>        { "@id": "http://example.com/absolute" },<br>        { "@id": "http://example.org/scheme-relative" },<br>        { "@id": "http://example.org/scheme-relative" },<br>        { "@id": "http://example.org/scheme-relative" }<br>      ]<br>    } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_c3cb22baf4165bc4a2a500492f024837" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063">
+          Test 0063:
+          <span property="dc:title mf:name">Reverse property and index container</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0063">
+          <p lang="en" property="dc:description">Expaning reverse properties with an index-container</p>
+          <div class="example"><div class="example-title"><span>Example 353</span>: Reverse property and index container Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0063-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@index" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "Dave": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "Gregg": {<br>      "@id": "http://example.com/people/gregg",<br>      "name": "Gregg Kellogg"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 354</span>: Reverse property and index container Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0063-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "@index": "Dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg",<br>          "@index": "Gregg",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_6291c77496bb2a2f0c7498ee90d49966" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064">
+          Test 0064:
+          <span property="dc:title mf:name">bnode values of reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0064">
+          <p lang="en" property="dc:description">Expand reverse property whose values are unlabeled blank nodes</p>
+          <div class="example"><div class="example-title"><span>Example 355</span>: bnode values of reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0064-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    {<br>      "name": "Dave Longley"<br>    },<br>    {<br>      "name": "Gregg Kellogg"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 356</span>: bnode values of reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0064-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        },<br>        {<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_acc6d9fbe49f93a05dedfd3049c125ac" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065">
+          Test 0065:
+          <span property="dc:title mf:name">Drop unmapped keys in reverse map</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0065">
+          <p lang="en" property="dc:description">Keys that are not mapped to an IRI in a reverse-map are dropped</p>
+          <div class="example"><div class="example-title"><span>Example 357</span>: Drop unmapped keys in reverse map Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0065-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "relative-iri": {<br>      "@id": "relative-node",<br>      "name": "Keys that are not mapped to an IRI in a reverse-map are dropped"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 358</span>: Drop unmapped keys in reverse map Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0065-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_6026cd43b7039a0586c06e4a67477cbb" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066">
+          Test 0066:
+          <span property="dc:title mf:name">Reverse-map keys with @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0066">
+          <p lang="en" property="dc:description">Expand uses @vocab to expand keys in reverse-maps</p>
+          <div class="example"><div class="example-title"><span>Example 359</span>: Reverse-map keys with @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0066-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows",<br>    "@vocab": "http://example.com/vocab/"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "noTerm": {<br>      "@id": "relative-node",<br>      "name": "Compact keys using @vocab"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 360</span>: Reverse-map keys with @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0066-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ]<br>        }<br>      ],<br>      "http://example.com/vocab/noTerm": [<br>        {<br>          "@id": "http://json-ld.org/test-suite/tests/relative-node",<br>          "http://xmlns.com/foaf/0.1/name": [ { "@value": "Compact keys using @vocab" } ]<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_69d9d5cb5e9a5deaa51fe95122486a56" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067">
+          Test 0067:
+          <span property="dc:title mf:name">prefix://suffix not a compact IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0067">
+          <p lang="en" property="dc:description">prefix:suffix values are not interpreted as compact IRIs if suffix begins with two slashes</p>
+          <div class="example"><div class="example-title"><span>Example 361</span>: prefix://suffix not a compact IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0067-in.jsonld">{<br>  "@context": {<br>    "http": "http://example.com/this-prefix-would-overwrite-all-http-iris"<br>  },<br>  "@id": "http://example.org/node1",<br>  "@type": "http://example.org/type",<br>  "http://example.org/property": "all these IRIs remain unchanged because they are interpreted as absolute IRIs"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 362</span>: prefix://suffix not a compact IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0067-out.jsonld">[<br>  {<br>    "@id": "http://example.org/node1",<br>    "@type": ["http://example.org/type"],<br>    "http://example.org/property": [<br>      { "@value": "all these IRIs remain unchanged because they are interpreted as absolute IRIs" }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a9d2b19b2ad03217da932e4b322505c9" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068">
+          Test 0068:
+          <span property="dc:title mf:name">_:suffix values are not a compact IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0068">
+          <p lang="en" property="dc:description">prefix:suffix values are not interpreted as compact IRIs if prefix is an underscore</p>
+          <div class="example"><div class="example-title"><span>Example 363</span>: _:suffix values are not a compact IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0068-in.jsonld">{<br>  "@context": {<br>    "_": "http://example.com/this-prefix-would-overwrite-all-blank-node-identifiers"<br>  },<br>  "@id": "_:node1",<br>  "@type": "_:type",<br>  "_:property": "all these IRIs remain unchanged because they are interpreted as blank node identifiers"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 364</span>: _:suffix values are not a compact IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0068-out.jsonld">[<br>  {<br>    "@id": "_:node1",<br>    "@type": [ "_:type" ],<br>    "_:property": [<br>      { "@value": "all these IRIs remain unchanged because they are interpreted as blank node identifiers" }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_8d0172557b1a3eaaa95912187fdbe7f3" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069">
+          Test 0069:
+          <span property="dc:title mf:name">Compact IRI as term with type mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0069">
+          <p lang="en" property="dc:description">Redefine compact IRI to define type mapping using the compact IRI itself as value of @id</p>
+          <div class="example"><div class="example-title"><span>Example 365</span>: Compact IRI as term with type mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0069-in.jsonld">{<br>  "@context": {<br>    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",<br>    "rdfs:subClassOf": { "@id": "rdfs:subClassOf", "@type": "@id" }<br>  },<br>  "@id": "http://example.com/vocab#class",<br>  "@type": "rdfs:Class",<br>  "rdfs:subClassOf": "http://example.com/vocab#someOtherClass"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 366</span>: Compact IRI as term with type mapping Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0069-out.jsonld">[<br>  {<br>    "@id": "http://example.com/vocab#class",<br>    "@type": [ "http://www.w3.org/2000/01/rdf-schema#Class" ],<br>    "http://www.w3.org/2000/01/rdf-schema#subClassOf": [<br>      { "@id": "http://example.com/vocab#someOtherClass"}<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_00415a21708127e75f67425e12d10761" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070">
+          Test 0070:
+          <span property="dc:title mf:name">Compact IRI as term defined using equivalent compact IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0070">
+          <p lang="en" property="dc:description">Redefine compact IRI to define type mapping using the compact IRI itself as string value</p>
+          <div class="example"><div class="example-title"><span>Example 367</span>: Compact IRI as term defined using equivalent compact IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0070-in.jsonld">{<br>  "@context": {<br>    "prefix": "http://www.example.org/vocab#",<br>    "prefix:foo": "prefix:foo"<br>  },<br>  "@id": "http://example.com/vocab#id",<br>  "@type": "prefix:Class",<br>  "prefix:foo": "bar"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 368</span>: Compact IRI as term defined using equivalent compact IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0070-out.jsonld">[<br>  {<br>    "@id": "http://example.com/vocab#id",<br>    "@type": [ "http://www.example.org/vocab#Class" ],<br>    "http://www.example.org/vocab#foo": [<br>      { "@value": "bar"}<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_71fb227fe49f4333659a9da759fbc555" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071">
+          Test 0071:
+          <span property="dc:title mf:name">Redefine terms looking like compact IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0071">
+          <p lang="en" property="dc:description">Term definitions may look like compact IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 369</span>: Redefine terms looking like compact IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0071-in.jsonld">{<br>  "@context": [<br>    {<br>      "v": "http://example.com/vocab#",<br>      "v:term": "v:somethingElse",<br>      "v:termId": { "@id": "v:somethingElseId" }<br>    },<br>    {<br>      "v:term": "v:term",<br>      "v:termId": { "@id": "v:termId" }<br>    }<br>  ],<br>  "v:term": "value of v:term",<br>  "v:termId": "value of v:termId"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 370</span>: Redefine terms looking like compact IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0071-out.jsonld">[<br>  {<br>    "http://example.com/vocab#term": [<br>      { "@value": "value of v:term" }<br>    ],<br>    "http://example.com/vocab#termId": [<br>      { "@value": "value of v:termId" }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_17f279996d2744c452505740651ae56f" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072">
+          Test 0072:
+          <span property="dc:title mf:name">Redefine term using @vocab, not itself</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0072">
+          <p lang="en" property="dc:description">Redefining a term as itself when @vocab is defined uses @vocab, not previous term definition</p>
+          <div class="example"><div class="example-title"><span>Example 371</span>: Redefine term using @vocab, not itself Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0072-in.jsonld">{<br>  "@context": [<br>    {<br>      "v": "http://example.com/vocab#",<br>      "term": "v:somethingElse"<br>    },<br>    {<br>      "@vocab": "http://example.com/anotherVocab#",<br>      "term": "term"<br>    }<br>  ],<br>  "term": "value of term"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 372</span>: Redefine term using @vocab, not itself Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0072-out.jsonld">[<br>  {<br>    "http://example.com/anotherVocab#term": [<br>      { "@value": "value of term" }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_8400108fdfc367eb2220a1c0e9ed78cb" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073">
+          Test 0073:
+          <span property="dc:title mf:name">@context not first property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0073">
+          <p lang="en" property="dc:description">Objects are unordered, so serialized node definition containing @context may have @context at the end of the node definition</p>
+          <div class="example"><div class="example-title"><span>Example 373</span>: @context not first property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0073-in.jsonld">{<br>  "@id": "ex:node1",<br>  "owl:sameAs": {<br>    "@id": "ex:node2",<br>    "rdfs:label": "Node 2",<br>    "link": "ex:node3",<br>    "@context": {<br>      "rdfs": "http://www.w3.org/2000/01/rdf-schema#"<br>    }<br>  },<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "owl": "http://www.w3.org/2002/07/owl#",<br>    "link": { "@id": "ex:link", "@type": "@id" }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 374</span>: @context not first property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0073-out.jsonld">[<br>  {<br>    "@id": "http://example.org/node1",<br>    "http://www.w3.org/2002/07/owl#sameAs": [<br>      {<br>        "@id": "http://example.org/node2",<br>        "http://example.org/link": [<br>          { "@id": "http://example.org/node3" }<br>        ],<br>        "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Node 2" } ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_d16ace1c40a3c0a87949ff175f59a034" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074">
+          Test 0074:
+          <span property="dc:title mf:name">@id not first property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0074">
+          <p lang="en" property="dc:description">Objects are unordered, so serialized node definition containing @id may have @id at the end of the node definition</p>
+          <div class="example"><div class="example-title"><span>Example 375</span>: @id not first property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0074-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "owl": "http://www.w3.org/2002/07/owl#",<br>    "link": {<br>      "@id": "ex:link",<br>      "@type": "@id"<br>    }<br>  },<br>  "owl:sameAs": {<br>    "@context": {<br>      "rdfs": "http://www.w3.org/2000/01/rdf-schema#"<br>    },<br>    "rdfs:label": "Node 2",<br>    "link": "ex:node3",<br>    "@id": "ex:node2"<br>  },<br>  "@id": "ex:node1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 376</span>: @id not first property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0074-out.jsonld">[<br>  {<br>    "@id": "http://example.org/node1",<br>    "http://www.w3.org/2002/07/owl#sameAs": [<br>      {<br>        "@id": "http://example.org/node2",<br>        "http://example.org/link": [<br>          { "@id": "http://example.org/node3" }<br>        ],<br>        "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Node 2" } ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e79ab0b007c9404f327c173831db3146" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075">
+          Test 0075:
+          <span property="dc:title mf:name">@vocab as blank node identifier</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0075">
+          <p lang="en" property="dc:description">Use @vocab to map all properties to blank node identifiers</p>
+          <div class="example"><div class="example-title"><span>Example 377</span>: @vocab as blank node identifier Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0075-in.jsonld">{<br>  "@context": {<br>    "@vocab": "_:"<br>  },<br>  "@id": "ex:node1",<br>  "b1": "blank node property 1",<br>  "b2": "blank node property 1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 378</span>: @vocab as blank node identifier Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0075-out.jsonld">[<br>  {<br>    "@id": "ex:node1",<br>    "_:b1": [ { "@value": "blank node property 1" } ],<br>    "_:b2": [ { "@value": "blank node property 1" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_16cc176319d4a00a8b836921c4591463" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076">
+          Test 0076:
+          <span property="dc:title mf:name">base option overrides document location</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0076">
+          <p lang="en" property="dc:description">Use of the base option overrides the document location</p>
+          <div class="example"><div class="example-title"><span>Example 379</span>: base option overrides document location Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0076-in.jsonld">{<br>  "@id": "relative-iri",<br>  "http://prop": "value"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 380</span>: base option overrides document location Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0076-out.jsonld">[{<br>  "@id": "http://example/base/relative-iri",<br>  "http://prop": [{"@value": "value"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_2bbc458186eccfa3a6e68e561e42f368" resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077">
+          Test 0077:
+          <span property="dc:title mf:name">expandContext option</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/expand-manifest.jsonld#t0077">
+          <p lang="en" property="dc:description">Use of the expandContext option to expand the input document</p>
+          <div class="example"><div class="example-title"><span>Example 381</span>: expandContext option Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/expand-0077-in.jsonld">{<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": {"@value": "v2", "@type": "t2"},<br>  "term3": {"@value": "v3", "@language": "en"},<br>  "term4": 4,<br>  "term5": [50, 51]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 382</span>: expandContext option Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/expand-0077-out.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": [{"@value": "v1"}],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [{"@value": 4}],<br>  "http://example.com/term5": [{"@value": 50}, {"@value": 51}]<br>}]</pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld">
+        <dt id="test_2daa5d2498ac8e9af1b3b34a9d5a228f" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">drop free-floating nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Flattening drops unreferenced nodes having only @id</p>
+          <div class="example"><div class="example-title"><span>Example 383</span>: drop free-floating nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0001-in.jsonld">{"@id": "http://example.org/test#example"}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 384</span>: drop free-floating nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0001-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_a59d88fb22670a432cb301d202186c60" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">basic</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Flattening terms with different types of values</p>
+          <div class="example"><div class="example-title"><span>Example 385</span>: basic Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0002-in.jsonld">{<br>  "@context": {<br>    "t1": "http://example.com/t1",<br>    "t2": "http://example.com/t2",<br>    "term1": "http://example.com/term1",<br>    "term2": "http://example.com/term2",<br>    "term3": "http://example.com/term3",<br>    "term4": "http://example.com/term4",<br>    "term5": "http://example.com/term5"<br>  },<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": {"@value": "v2", "@type": "t2"},<br>  "term3": {"@value": "v3", "@language": "en"},<br>  "term4": 4,<br>  "term5": [50, 51]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 386</span>: basic Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0002-out.jsonld">[<br>    {<br>        "@id": "http://example.com/id1",<br>        "@type": [<br>            "http://example.com/t1"<br>        ],<br>        "http://example.com/term1": [<br>            {<br>                "@value": "v1"<br>            }<br>        ],<br>        "http://example.com/term2": [<br>            {<br>                "@type": "http://example.com/t2",<br>                "@value": "v2"<br>            }<br>        ],<br>        "http://example.com/term3": [<br>            {<br>                "@language": "en",<br>                "@value": "v3"<br>            }<br>        ],<br>        "http://example.com/term4": [<br>            {<br>                "@value": 4<br>            }<br>        ],<br>        "http://example.com/term5": [<br>            {<br>                "@value": 50<br>            },<br>            {<br>                "@value": 51<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_d467237c855abe2de515ce9d71ab263f" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">drop null and unmapped properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Verifies that null values and unmapped properties are removed from expanded output</p>
+          <div class="example"><div class="example-title"><span>Example 387</span>: drop null and unmapped properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0003-in.jsonld">{<br>  "@id": "http://example.org/id",<br>  "http://example.org/property": null,<br>  "regularJson": {<br>    "nonJsonLd": "property",<br>    "deep": [{<br>      "foo": "bar"<br>    }, {<br>      "bar": "foo"<br>    }]<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 388</span>: drop null and unmapped properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0003-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_3cc90f3b52d2cb054261418fa98d20b0" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">optimize @set, keep empty arrays</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Uses of @set are removed in expansion; values of @set, or just plain values which are empty arrays are retained</p>
+          <div class="example"><div class="example-title"><span>Example 389</span>: optimize @set, keep empty arrays Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0004-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": { "@list": [ ] },<br>  "mylist2": "one item",<br>  "myset2": { "@set": [ ] },<br>  "myset3": [ "v1" ],<br>  "http://example.org/list1": { "@list": [ null ] },<br>  "http://example.org/list2": { "@list": [ {"@value": null} ] },<br>  "http://example.org/set1": { "@set": [ ] },<br>  "http://example.org/set1": { "@set": [ null ] },<br>  "http://example.org/set3": [ ],<br>  "http://example.org/set4": [ null ],<br>  "http://example.org/set5": "one item",<br>  "http://example.org/property": { "@list": "one item" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 390</span>: optimize @set, keep empty arrays Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0004-out.jsonld">[<br>    {<br>        "@id": "http://example.org/id",<br>        "http://example.com/mylist1": [<br>            {<br>                "@list": [<br><br>                ]<br>            }<br>        ],<br>        "http://example.com/mylist2": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": "one item"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/myset2": [<br><br>        ],<br>        "http://example.com/myset3": [<br>            {<br>                "@value": "v1"<br>            }<br>        ],<br>        "http://example.org/list1": [<br>            {<br>                "@list": [<br><br>                ]<br>            }<br>        ],<br>        "http://example.org/list2": [<br>            {<br>                "@list": [<br><br>                ]<br>            }<br>        ],<br>        "http://example.org/property": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": "one item"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.org/set1": [<br><br>        ],<br>        "http://example.org/set3": [<br><br>        ],<br>        "http://example.org/set4": [<br><br>        ],<br>        "http://example.org/set5": [<br>            {<br>                "@value": "one item"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_852de9e7ddd721a9bc3c6187b73cd93d" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">do not expand aliased @id/@type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">If a keyword is aliased, it is not used when flattening</p>
+          <div class="example"><div class="example-title"><span>Example 391</span>: do not expand aliased @id/@type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0005-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepage": {<br>      "@id": "http://xmlns.com/foaf/0.1/homepage",<br>      "@type": "@id"<br>    },<br>    "know": "http://xmlns.com/foaf/0.1/knows",<br>    "@iri": "@id"<br>  },<br>  "@id": "#me",<br>  "know": [<br>    {<br>      "@id": "http://example.com/bob#me",<br>      "name": "Bob",<br>      "homepage": "http://example.com/bob"<br>    }, {<br>      "@id": "http://example.com/alice#me",<br>      "name": "Alice",<br>      "homepage": "http://example.com/alice"<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 392</span>: do not expand aliased @id/@type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0005-out.jsonld">[<br>    {<br>        "@id": "http://example.com/alice#me",<br>        "http://xmlns.com/foaf/0.1/homepage": [<br>            {<br>                "@id": "http://example.com/alice"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Alice"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.com/bob#me",<br>        "http://xmlns.com/foaf/0.1/homepage": [<br>            {<br>                "@id": "http://example.com/bob"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Bob"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://json-ld.org/test-suite/tests/flatten-0005-in.jsonld#me",<br>        "http://xmlns.com/foaf/0.1/knows": [<br>            {<br>                "@id": "http://example.com/bob#me"<br>            },<br>            {<br>                "@id": "http://example.com/alice#me"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_c829d30e744dc1ebf69e937db05ab3a5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">alias keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Aliased keywords expand in resulting document</p>
+          <div class="example"><div class="example-title"><span>Example 393</span>: alias keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0006-in.jsonld">{<br>  "@context": {<br>    "http://example.org/test#property1": {<br>      "@type": "@id"<br>    },<br>    "http://example.org/test#property2": {<br>      "@type": "@id"<br>    },<br>    "uri": "@id"<br>  },<br>  "http://example.org/test#property1": {<br>    "http://example.org/test#property4": "foo",<br>    "uri": "http://example.org/test#example2"<br>  },<br>  "http://example.org/test#property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 394</span>: alias keywords Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0006-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#example1",<br>        "http://example.org/test#property1": [<br>            {<br>                "@id": "http://example.org/test#example2"<br>            }<br>        ],<br>        "http://example.org/test#property2": [<br>            {<br>                "@id": "http://example.org/test#example3"<br>            }<br>        ],<br>        "http://example.org/test#property3": [<br>            {<br>                "@id": "http://example.org/test#example4"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#example2",<br>        "http://example.org/test#property4": [<br>            {<br>                "@value": "foo"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e68eefa65d5bf21b055e5f95a9cfc6d8" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">date type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Expand strings to expanded value with @type: xsd:dateTime</p>
+          <div class="example"><div class="example-title"><span>Example 395</span>: date type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0007-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "ex:date": {<br>      "@type": "xsd:dateTime"<br>    },<br>    "ex:parent": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:date": "2011-01-25T00:00:00Z",<br>  "ex:embed": {<br>    "@id": "http://example.org/test#example2",<br>    "ex:parent": "http://example.org/test#example1"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 396</span>: date type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0007-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#example1",<br>        "http://example.org/vocab#date": [<br>            {<br>                "@value": "2011-01-25T00:00:00Z",<br>                "@type": "http://www.w3.org/2001/XMLSchema#dateTime"<br>            }<br>        ],<br>        "http://example.org/vocab#embed": [<br>            {<br>                "@id": "http://example.org/test#example2"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#example2",<br>        "http://example.org/vocab#parent": [<br>            {<br>                "@id": "http://example.org/test#example1"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_2339bbd77eba9b8d10fc4b6acec8791c" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">@value with @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Keep expanded values with @language, drop non-conforming value objects containing just @language</p>
+          <div class="example"><div class="example-title"><span>Example 397</span>: @value with @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0008-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#"<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test": { "@value": "test",  "@language": "en" },<br>  "ex:drop-lang-only": { "@language": "en" },<br>  "ex:keep-full-value": { "@value": "only value" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 398</span>: @value with @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0008-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test",<br>        "http://example.org/vocab#keep-full-value": [<br>            {<br>                "@value": "only value"<br>            }<br>        ],<br>        "http://example.org/vocab#test": [<br>            {<br>                "@language": "en",<br>                "@value": "test"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_35bbf57ddbfd8fc9e8ecdd0baaf63530" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">@graph with terms</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">Use of @graph to contain multiple nodes within array</p>
+          <div class="example"><div class="example-title"><span>Example 399</span>: @graph with terms Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0009-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 400</span>: @graph with terms Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0009-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/contributor": [<br>            {<br>                "@value": "Writer"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "My Book"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#chapter",<br>        "http://purl.org/dc/elements/1.1/description": [<br>            {<br>                "@value": "Fun"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "Chapter One"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#jane",<br>        "http://example.org/vocab#authored": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Jane"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#john",<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "John"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#library",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#book"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_5db48e78dae4ce4a1f6a74d74c9eebe7" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">Flattening native scalar retains native scalar within expanded value</p>
+          <div class="example"><div class="example-title"><span>Example 401</span>: native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0010-in.jsonld">{<br>  "@context": {<br>    "d": "http://purl.org/dc/elements/1.1/",<br>    "e": "http://example.org/vocab#",<br>    "f": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test",<br>  "e:bool": true,<br>  "e:int": 123<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 402</span>: native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0010-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test",<br>        "http://example.org/vocab#bool": [<br>            {<br>                "@value": true<br>            }<br>        ],<br>        "http://example.org/vocab#int": [<br>            {<br>                "@value": 123<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_a6a2bf65437ebebfe5e466d67a529fc1" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">coerced @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">A value of a property with @type: @id coercion expands to a node reference</p>
+          <div class="example"><div class="example-title"><span>Example 403</span>: coerced @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0011-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#book",<br>  "dc:title": "Title",<br>  "ex:contains": "http://example.org/test#chapter"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 404</span>: coerced @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0011-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "Title"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e63045b3b723b2b5b06b45d8244e7e1b" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">@graph with embed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Flattening objects containing chained objects flattens all objects</p>
+          <div class="example"><div class="example-title"><span>Example 405</span>: @graph with embed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0012-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:authored": {<br>      "@type": "@id"<br>    },<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "foaf": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "dc:description": "Fun",<br>      "dc:title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "ex:authored": "http://example.org/test#chapter",<br>      "foaf:name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "foaf:name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "ex:contains": {<br>        "@id": "http://example.org/test#book",<br>        "dc:contributor": "Writer",<br>        "dc:title": "My Book",<br>        "ex:contains": "http://example.org/test#chapter"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 406</span>: @graph with embed Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0012-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/contributor": [<br>            {<br>                "@value": "Writer"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "My Book"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#chapter",<br>        "http://purl.org/dc/elements/1.1/description": [<br>            {<br>                "@value": "Fun"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "Chapter One"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#jane",<br>        "http://example.org/vocab#authored": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Jane"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#john",<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "John"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#library",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#book"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_c72397197f782c9cefd84c1206f42d68" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">flatten already expanded</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Flattening an expanded/flattened document maintains input document</p>
+          <div class="example"><div class="example-title"><span>Example 407</span>: flatten already expanded Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0013-in.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": ["v1"],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [4],<br>  "http://example.com/term5": [50, 51]<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 408</span>: flatten already expanded Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0013-out.jsonld">[<br>    {<br>        "@id": "http://example.com/id1",<br>        "@type": [<br>            "http://example.com/t1"<br>        ],<br>        "http://example.com/term1": [<br>            {<br>                "@value": "v1"<br>            }<br>        ],<br>        "http://example.com/term2": [<br>            {<br>                "@type": "http://example.com/t2",<br>                "@value": "v2"<br>            }<br>        ],<br>        "http://example.com/term3": [<br>            {<br>                "@language": "en",<br>                "@value": "v3"<br>            }<br>        ],<br>        "http://example.com/term4": [<br>            {<br>                "@value": 4<br>            }<br>        ],<br>        "http://example.com/term5": [<br>            {<br>                "@value": 50<br>            },<br>            {<br>                "@value": 51<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0c1ecd2df6491da10d154767947de633" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">@set of @value objects with keyword aliases</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Flattening aliased @set and @value</p>
+          <div class="example"><div class="example-title"><span>Example 409</span>: @set of @value objects with keyword aliases Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0014-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/test#",<br>    "property1": {<br>      "@id": "http://example.org/test#property1",<br>      "@type": "@id"<br>    },<br>    "property2": {<br>      "@id": "ex:property2",<br>      "@type": "@id"<br>    },<br>    "uri": "@id",<br>    "set": "@set",<br>    "value": "@value",<br>    "type": "@type",<br>    "xsd": { "@id": "http://www.w3.org/2001/XMLSchema#" }<br>  },<br>  "property1": {<br>    "uri": "ex:example2",<br>    "http://example.org/test#property4": "foo"<br>  },<br>  "property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "ex:property4": {<br>    "uri": "ex:example4",<br>    "ex:property5": [<br>      {<br>        "set": [<br>          {<br>          "value": "2012-03-31",<br>          "type": "xsd:date"<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  "ex:property6": [<br>    {<br>      "set": [<br>        {<br>        "value": null,<br>        "type": "xsd:date"<br>        }<br>      ]<br>    }<br>  ],<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 410</span>: @set of @value objects with keyword aliases Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0014-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#example1",<br>        "http://example.org/test#property1": [<br>            {<br>                "@id": "http://example.org/test#example2"<br>            }<br>        ],<br>        "http://example.org/test#property2": [<br>            {<br>                "@id": "http://example.org/test#example3"<br>            }<br>        ],<br>        "http://example.org/test#property3": [<br>            {<br>                "@id": "http://example.org/test#example4"<br>            }<br>        ],<br>        "http://example.org/test#property4": [<br>            {<br>                "@id": "http://example.org/test#example4"<br>            }<br>        ],<br>        "http://example.org/test#property6": [<br><br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#example2",<br>        "http://example.org/test#property4": [<br>            {<br>                "@value": "foo"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#example4",<br>        "http://example.org/test#property5": [<br>            {<br>                "@type": "http://www.w3.org/2001/XMLSchema#date",<br>                "@value": "2012-03-31"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_990446213d50d03f0a37d89e6d367b68" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">collapse set of sets, keep empty lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">An array of multiple @set nodes are collapsed into a single array</p>
+          <div class="example"><div class="example-title"><span>Example 411</span>: collapse set of sets, keep empty lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0015-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" },<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": [],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myset3": [ { "@set": [ "hello", "this" ] }, "will", { "@set": [ "be", "collapsed" ] } ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 412</span>: collapse set of sets, keep empty lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0015-out.jsonld">[<br>    {<br>        "@id": "http://example.org/id",<br>        "http://example.com/mylist1": [<br>            {<br>                "@list": [<br><br>                ]<br>            }<br>        ],<br>        "http://example.com/myset1": [<br><br>        ],<br>        "http://example.com/myset2": [<br><br>        ],<br>        "http://example.com/myset3": [<br>            {<br>                "@value": "hello"<br>            },<br>            {<br>                "@value": "this"<br>            },<br>            {<br>                "@value": "will"<br>            },<br>            {<br>                "@value": "be"<br>            },<br>            {<br>                "@value": "collapsed"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_1a45a740c16c052b8ef9c0a34281d0ec" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">context reset</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">Setting @context to null within an embedded object resets back to initial context state</p>
+          <div class="example"><div class="example-title"><span>Example 413</span>: context reset Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0016-in.jsonld">{<br>  "@context": {<br>    "myproperty": { "@id": "http://example.com/myproperty" },<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id1",<br>  "mylist1": [],<br>  "mylist2": [ 2, "hi" ],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myproperty": {<br>    "@context": null,<br>    "@id": "http://example.org/id2",<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>    "http://example.org/myproperty2": "ok"<br>  },<br>  "http://example.com/emptyobj": {<br>    "@context": null,<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 414</span>: context reset Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0016-out.jsonld">[<br>    {<br>        "@id": "http://example.org/id1",<br>        "http://example.com/emptyobj": [<br>            {<br>                "@id": "_:b0"<br>            }<br>        ],<br>        "http://example.com/mylist1": [<br>            {<br>                "@list": [<br><br>                ]<br>            }<br>        ],<br>        "http://example.com/mylist2": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": 2<br>                    },<br>                    {<br>                        "@value": "hi"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/myproperty": [<br>            {<br>                "@id": "http://example.org/id2"<br>            }<br>        ],<br>        "http://example.com/myset1": [<br><br>        ],<br>        "http://example.com/myset2": [<br><br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/id2",<br>        "http://example.org/myproperty2": [<br>            {<br>                "@value": "ok"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_45c71dd5314c1549ee200dda05affa20" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">@graph and @id aliased</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Flattening with @graph and @id aliases</p>
+          <div class="example"><div class="example-title"><span>Example 415</span>: @graph and @id aliased Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0017-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    },<br>    "id": "@id",<br>    "data": "@graph"<br>  },<br>  "data": [<br>    {<br>      "id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 416</span>: @graph and @id aliased Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0017-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/contributor": [<br>            {<br>                "@value": "Writer"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "My Book"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#chapter",<br>        "http://purl.org/dc/elements/1.1/description": [<br>            {<br>                "@value": "Fun"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "Chapter One"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#jane",<br>        "http://example.org/vocab#authored": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Jane"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#john",<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "John"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#library",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#book"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_0c8a94d7fc1bf19ce1bf203b71b3e3b5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">override default @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">override default @language in terms; only language-tag strings</p>
+          <div class="example"><div class="example-title"><span>Example 417</span>: override default @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0018-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "@language": "en",<br>    "de": { "@id": "ex:german", "@language": "de" },<br>    "nolang": { "@id": "ex:nolang", "@language": null }<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test-default": [<br>    "hello",<br>    1,<br>    true<br>  ],<br>  "de": [<br>    "hallo",<br>    2,<br>    true<br>  ],<br>  "nolang": [<br>    "no language",<br>    3,<br>    false<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 418</span>: override default @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0018-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test",<br>        "http://example.org/vocab#german": [<br>            {<br>                "@value": "hallo",<br>                "@language": "de"<br>            },<br>            {<br>                "@value": 2<br>            },<br>            {<br>                "@value": true<br>            }<br>        ],<br>        "http://example.org/vocab#nolang": [<br>            {<br>                "@value": "no language"<br>            },<br>            {<br>                "@value": 3<br>            },<br>            {<br>                "@value": false<br>            }<br>        ],<br>        "http://example.org/vocab#test-default": [<br>            {<br>                "@value": "hello",<br>                "@language": "en"<br>            },<br>            {<br>                "@value": 1<br>            },<br>            {<br>                "@value": true<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_10e09749224bd290ceba9a06e576fd91" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">remove @value = null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Flattening a value of null removes the value</p>
+          <div class="example"><div class="example-title"><span>Example 419</span>: remove @value = null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0019-in.jsonld">{<br>  "@context": {<br>    "myproperty": "http://example.com/myproperty"<br>  },<br>  "myproperty": { "@value" : null }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 420</span>: remove @value = null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0019-out.jsonld">[ ]<br></pre></div>
+        </dd>
+        <dt id="test_6067c276ad59005c5361b2742c32a05f" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020">
+          Test 0020:
+          <span property="dc:title mf:name">do not remove @graph if not at top-level</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0020">
+          <p lang="en" property="dc:description">@graph used under a node is retained</p>
+          <div class="example"><div class="example-title"><span>Example 421</span>: do not remove @graph if not at top-level Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0020-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 422</span>: do not remove @graph if not at top-level Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0020-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "@graph": [<br>            {<br>                "@id": "http://example.org/test#chapter1",<br>                "http://purl.org/dc/elements/1.1/description": [<br>                    {<br>                        "@value": "Fun"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "Chapter One"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#chapter2",<br>                "http://purl.org/dc/elements/1.1/description": [<br>                    {<br>                        "@value": "More fun"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "Chapter Two"<br>                    }<br>                ]<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#book",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#chapter"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/contributor": [<br>            {<br>                "@value": "Writer"<br>            }<br>        ],<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "My Book"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#jane",<br>        "http://example.org/vocab#authored": [<br>            {<br>                "@id": "_:b0"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Jane"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#john",<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "John"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/test#library",<br>        "http://example.org/vocab#contains": [<br>            {<br>                "@id": "http://example.org/test#book"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_ca7c161f620b546b18ef66156e088f19" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021">
+          Test 0021:
+          <span property="dc:title mf:name">do not remove @graph at top-level if not only property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0021">
+          <p lang="en" property="dc:description">@graph used at the top level is retained if there are other properties</p>
+          <div class="example"><div class="example-title"><span>Example 423</span>: do not remove @graph at top-level if not only property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0021-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "title": "My first graph",<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter3",<br>            "title": "Chapter Three"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 424</span>: do not remove @graph at top-level if not only property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0021-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "http://purl.org/dc/elements/1.1/title": [<br>            {<br>                "@value": "My first graph"<br>            }<br>        ],<br>        "@graph": [<br>            {<br>                "@id": "http://example.org/test#book",<br>                "http://example.org/vocab#contains": [<br>                    {<br>                        "@id": "http://example.org/test#chapter"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/contributor": [<br>                    {<br>                        "@value": "Writer"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "My Book"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#jane",<br>                "http://example.org/vocab#authored": [<br>                    {<br>                        "@id": "_:b1"<br>                    }<br>                ],<br>                "http://xmlns.com/foaf/0.1/name": [<br>                    {<br>                        "@value": "Jane"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#john",<br>                "http://xmlns.com/foaf/0.1/name": [<br>                    {<br>                        "@value": "John"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#library",<br>                "http://example.org/vocab#contains": [<br>                    {<br>                        "@id": "http://example.org/test#book"<br>                    }<br>                ]<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "_:b1",<br>        "@graph": [<br>            {<br>                "@id": "http://example.org/test#chapter1",<br>                "http://purl.org/dc/elements/1.1/description": [<br>                    {<br>                        "@value": "Fun"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "Chapter One"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#chapter2",<br>                "http://purl.org/dc/elements/1.1/description": [<br>                    {<br>                        "@value": "More fun"<br>                    }<br>                ],<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "Chapter Two"<br>                    }<br>                ]<br>            },<br>            {<br>                "@id": "http://example.org/test#chapter3",<br>                "http://purl.org/dc/elements/1.1/title": [<br>                    {<br>                        "@value": "Chapter Three"<br>                    }<br>                ]<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_4595c606e0ef2eebdb1c5f756dd2f67c" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022">
+          Test 0022:
+          <span property="dc:title mf:name">flatten value with default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0022">
+          <p lang="en" property="dc:description">Flattening with a default language applies that language to string values</p>
+          <div class="example"><div class="example-title"><span>Example 425</span>: flatten value with default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0022-in.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/term",<br>    "@language": "en"<br>  },<br>  "term": "v"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 426</span>: flatten value with default language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0022-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "http://example.com/term": [<br>            {<br>                "@value": "v",<br>                "@language": "en"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_b4df4a1749bce67d44a690fc1ce27364" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023">
+          Test 0023:
+          <span property="dc:title mf:name">Flattening list/set with coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0023">
+          <p lang="en" property="dc:description">Flattening lists and sets with properties having coercion coerces list/set values</p>
+          <div class="example"><div class="example-title"><span>Example 427</span>: Flattening list/set with coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0023-in.jsonld">{<br>  "@context": {<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "idlist": {"@id": "http://example.com/idlist", "@container": "@list", "@type": "@id"},<br>    "datelist": {"@id": "http://example.com/datelist", "@container": "@list", "@type": "xsd:date"},<br>    "idset": {"@id": "http://example.com/idset", "@container": "@set", "@type": "@id"},<br>    "dateset": {"@id": "http://example.com/dateset", "@container": "@set", "@type": "xsd:date"},<br>    "idprop": {"@id": "http://example.com/idprop", "@type": "@id" },<br>    "dateprop": {"@id": "http://example.com/dateprop", "@type": "xsd:date" },<br>    "idprop2": {"@id": "http://example.com/idprop2", "@type": "@id" },<br>    "dateprop2": {"@id": "http://example.com/dateprop2", "@type": "xsd:date" }<br>  },<br>  "idlist": ["http://example.org/id"],<br>  "datelist": ["2012-04-12"],<br>  "idprop": {"@list": ["http://example.org/id"]},<br>  "dateprop": {"@list": ["2012-04-12"]},<br>  "idset": ["http://example.org/id"],<br>  "dateset": ["2012-04-12"],<br>  "idprop2": {"@set": ["http://example.org/id"]},<br>  "dateprop2": {"@set": ["2012-04-12"]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 428</span>: Flattening list/set with coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0023-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "http://example.com/datelist": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": "2012-04-12",<br>                        "@type": "http://www.w3.org/2001/XMLSchema#date"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/dateprop": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": "2012-04-12",<br>                        "@type": "http://www.w3.org/2001/XMLSchema#date"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/dateprop2": [<br>            {<br>                "@value": "2012-04-12",<br>                "@type": "http://www.w3.org/2001/XMLSchema#date"<br>            }<br>        ],<br>        "http://example.com/dateset": [<br>            {<br>                "@value": "2012-04-12",<br>                "@type": "http://www.w3.org/2001/XMLSchema#date"<br>            }<br>        ],<br>        "http://example.com/idlist": [<br>            {<br>                "@list": [<br>                    {<br>                        "@id": "http://example.org/id"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/idprop": [<br>            {<br>                "@list": [<br>                    {<br>                        "@id": "http://example.org/id"<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/idprop2": [<br>            {<br>                "@id": "http://example.org/id"<br>            }<br>        ],<br>        "http://example.com/idset": [<br>            {<br>                "@id": "http://example.org/id"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_311f9d4c0a2d838d0459ca621d9a409e" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024">
+          Test 0024:
+          <span property="dc:title mf:name">Multiple contexts</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0024">
+          <p lang="en" property="dc:description">Tests that contexts in an array are merged</p>
+          <div class="example"><div class="example-title"><span>Example 429</span>: Multiple contexts Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0024-in.jsonld">{<br>  "@context": [<br>    {<br>      "name": "http://xmlns.com/foaf/0.1/name",<br>      "homepage": {"@id": "http://xmlns.com/foaf/0.1/homepage","@type": "@id"}<br>    },<br>    {"ical": "http://www.w3.org/2002/12/cal/ical#"}<br>  ],<br>  "@id": "http://example.com/speakers#Alice",<br>  "name": "Alice",<br>  "homepage": "http://xkcd.com/177/",<br>  "ical:summary": "Alice Talk",<br>  "ical:location": "Lyon Convention Centre, Lyon, France"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 430</span>: Multiple contexts Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0024-out.jsonld">[<br>    {<br>        "@id": "http://example.com/speakers#Alice",<br>        "http://www.w3.org/2002/12/cal/ical#location": [<br>            {<br>                "@value": "Lyon Convention Centre, Lyon, France"<br>            }<br>        ],<br>        "http://www.w3.org/2002/12/cal/ical#summary": [<br>            {<br>                "@value": "Alice Talk"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/homepage": [<br>            {<br>                "@id": "http://xkcd.com/177/"<br>            }<br>        ],<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Alice"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0b1e0cb66e753689104619c91e1a3fb5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025">
+          Test 0025:
+          <span property="dc:title mf:name">Problematic IRI flattening tests</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0025">
+          <p lang="en" property="dc:description">Flattening different kinds of terms and Compact IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 431</span>: Problematic IRI flattening tests Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0025-in.jsonld">{<br>  "@context": {<br>    "foo": "http://example.com/foo/",<br>    "foo:bar": "http://example.com/bar",<br>    "bar": {"@id": "foo:bar", "@type": "@id"},<br>    "_": "http://example.com/underscore/"<br>  },<br>  "@type": ["foo", "foo:bar", "_"]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 432</span>: Problematic IRI flattening tests Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0025-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "@type": [<br>            "http://example.com/foo/",<br>            "http://example.com/bar",<br>            "http://example.com/underscore/"<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0e2cc799ad12c6ff029feb9d974acf65" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026">
+          Test 0026:
+          <span property="dc:title mf:name">Term definition with @id: @type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0026">
+          <p lang="en" property="dc:description">Flattening term mapping to @type uses @type syntax</p>
+          <div class="example"><div class="example-title"><span>Example 433</span>: Term definition with @id: @type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0026-in.jsonld">{<br>  "@context": {<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {"@id": "@type", "@type": "@id"}<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.com/a",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/b"<br>    }, {<br>      "@id": "http://example.com/c",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [<br>        "http://example.com/d",<br>        "http://example.com/e"<br>      ]<br>    }, {<br>      "@id": "http://example.com/f",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/g"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 434</span>: Term definition with @id: @type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0026-out.jsonld">[<br>    {<br>        "@id": "http://example.com/a",<br>        "@type": [<br>            "http://example.com/b"<br>        ]<br>    },<br>    {<br>        "@id": "http://example.com/c",<br>        "@type": [<br>            "http://example.com/d",<br>            "http://example.com/e"<br>        ]<br>    },<br>    {<br>        "@id": "http://example.com/f",<br>        "@type": [<br>            "http://example.com/g"<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e503ca0f826061010eb005f361b3af8b" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027">
+          Test 0027:
+          <span property="dc:title mf:name">Duplicate values in @list and @set</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0027">
+          <p lang="en" property="dc:description">Duplicate values in @list and @set are not merged</p>
+          <div class="example"><div class="example-title"><span>Example 435</span>: Duplicate values in @list and @set Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0027-in.jsonld">{<br>  "@context": {<br>    "mylist": {"@id": "http://example.com/mylist", "@container": "@list"},<br>    "myset": {"@id": "http://example.com/myset", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist": [1, 2, 2, 3],<br>  "myset": [1, 2, 2, 3]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 436</span>: Duplicate values in @list and @set Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0027-out.jsonld">[<br>    {<br>        "@id": "http://example.org/id",<br>        "http://example.com/mylist": [<br>            {<br>                "@list": [<br>                    {<br>                        "@value": 1<br>                    },<br>                    {<br>                        "@value": 2<br>                    },<br>                    {<br>                        "@value": 2<br>                    },<br>                    {<br>                        "@value": 3<br>                    }<br>                ]<br>            }<br>        ],<br>        "http://example.com/myset": [<br>            {<br>                "@value": 1<br>            },<br>            {<br>                "@value": 2<br>            },<br>            {<br>                "@value": 3<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_7665ac62c2de62bb09da9c187ab18e82" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028">
+          Test 0028:
+          <span property="dc:title mf:name">Use @vocab in properties and @type but not in @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0028">
+          <p lang="en" property="dc:description">@vocab is used to compact properties and @type, but is not used for @id</p>
+          <div class="example"><div class="example-title"><span>Example 437</span>: Use @vocab in properties and @type but not in @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0028-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/vocab#",<br>    "date": { "@type": "dateTime" }<br>  },<br>  "@id": "example1",<br>  "@type": "test",<br>  "date": "2011-01-25T00:00:00Z",<br>  "embed": {<br>    "@id": "example2",<br>    "expandedDate": { "@value": "2012-08-01T00:00:00Z", "@type": "dateTime" }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 438</span>: Use @vocab in properties and @type but not in @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0028-out.jsonld">[<br>    {<br>        "@id": "http://json-ld.org/test-suite/tests/example1",<br>        "@type": [<br>            "http://example.org/vocab#test"<br>        ],<br>        "http://example.org/vocab#date": [<br>            {<br>                "@value": "2011-01-25T00:00:00Z",<br>                "@type": "http://example.org/vocab#dateTime"<br>            }<br>        ],<br>        "http://example.org/vocab#embed": [<br>            {<br>                "@id": "http://json-ld.org/test-suite/tests/example2"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://json-ld.org/test-suite/tests/example2",<br>        "http://example.org/vocab#expandedDate": [<br>            {<br>                "@type": "http://example.org/vocab#dateTime",<br>                "@value": "2012-08-01T00:00:00Z"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_31d456461b7ff42d3f4f6bcb8d77650e" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029">
+          Test 0029:
+          <span property="dc:title mf:name">Relative IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0029">
+          <p lang="en" property="dc:description">@base is used to compact @id; test with different relative IRIs</p>
+          <div class="example"><div class="example-title"><span>Example 439</span>: Relative IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld">{<br>  "@context": {<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "./../../../useless/../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 440</span>: Relative IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0029-out.jsonld">[<br>    {<br>        "@id": "http://json-ld.org/test-suite/tests/relativeIris",<br>        "@type": [<br>            "http://json-ld.org/test-suite/tests/link",<br>            "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld#fragment-works",<br>            "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld?query=works",<br>            "http://json-ld.org/test-suite/tests/",<br>            "http://json-ld.org/test-suite/",<br>            "http://json-ld.org/test-suite/parent",<br>            "http://json-ld.org/parent-parent-eq-root",<br>            "http://json-ld.org/still-root",<br>            "http://json-ld.org/too-many-dots",<br>            "http://json-ld.org/absolute",<br>            "http://example.org/scheme-relative"<br>        ],<br>        "http://www.example.com/link": [<br>            {<br>                "@list": [<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/tests/link"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld#fragment-works"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/tests/flatten-0029-in.jsonld?query=works"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/tests/"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/test-suite/parent"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/parent-parent-eq-root"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/still-root"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/too-many-dots"<br>                    },<br>                    {<br>                        "@id": "http://json-ld.org/absolute"<br>                    },<br>                    {<br>                        "@id": "http://example.org/scheme-relative"<br>                    }<br>                ]<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_ba8d7a3a6b4410ece6dcd39157a19d5b" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030">
+          Test 0030:
+          <span property="dc:title mf:name">Language maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0030">
+          <p lang="en" property="dc:description">Language Maps expand values to include @language</p>
+          <div class="example"><div class="example-title"><span>Example 441</span>: Language maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0030-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 442</span>: Language maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0030-out.jsonld">[<br>    {<br>        "@id": "http://example.com/queen",<br>        "http://example.com/vocab/label": [<br>            {<br>                "@value": "Die Königin",<br>                "@language": "de"<br>            },<br>            {<br>                "@value": "Ihre Majestät",<br>                "@language": "de"<br>            },<br>            {<br>                "@value": "The Queen",<br>                "@language": "en"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_470ea39e62f45fde0685f7f80cdb8bf7" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031">
+          Test 0031:
+          <span property="dc:title mf:name">type-coercion of native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0031">
+          <p lang="en" property="dc:description">Flattening native types with type coercion adds the coerced type to an expanded value representation and retains the native value representation</p>
+          <div class="example"><div class="example-title"><span>Example 443</span>: type-coercion of native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0031-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "ex:integer": { "@type": "xsd:integer" },<br>    "ex:double": { "@type": "xsd:double" },<br>    "ex:boolean": { "@type": "xsd:boolean" }<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:integer": 1,<br>  "ex:double": 123.45,<br>  "ex:boolean": true<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 444</span>: type-coercion of native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0031-out.jsonld">[<br>    {<br>        "@id": "http://example.org/test#example1",<br>        "http://example.org/vocab#boolean": [<br>            {<br>                "@value": true,<br>                "@type": "http://www.w3.org/2001/XMLSchema#boolean"<br>            }<br>        ],<br>        "http://example.org/vocab#double": [<br>            {<br>                "@value": 123.45,<br>                "@type": "http://www.w3.org/2001/XMLSchema#double"<br>            }<br>        ],<br>        "http://example.org/vocab#integer": [<br>            {<br>                "@value": 1,<br>                "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_dfdeaf5869a291d632c730c8c7834e1f" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032">
+          Test 0032:
+          <span property="dc:title mf:name">Null term and @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0032">
+          <p lang="en" property="dc:description">Mapping a term to null decouples it from @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 445</span>: Null term and @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0032-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://xmlns.com/foaf/0.1/",<br>    "from": null,<br>    "university": { "@id": null }<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "from": "Italy",<br>  "university": "TU Graz"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 446</span>: Null term and @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0032-out.jsonld">[<br>    {<br>        "@id": "http://me.markus-lanthaler.com/",<br>        "http://xmlns.com/foaf/0.1/name": [<br>            {<br>                "@value": "Markus Lanthaler"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_e5ca68013a149c7f78f8cdf01d9221e5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033">
+          Test 0033:
+          <span property="dc:title mf:name">Using @vocab with with type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0033">
+          <p lang="en" property="dc:description">Verifies that terms can be defined using @vocab</p>
+          <div class="example"><div class="example-title"><span>Example 447</span>: Using @vocab with with type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0033-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab#",<br>    "homepage": {<br>      "@type": "@id"<br>    },<br>    "created_at": {<br>      "@type": "http://www.w3.org/2001/XMLSchema#date"<br>    }<br>  },<br>  "name": "Markus Lanthaler",<br>  "homepage": "http://www.markus-lanthaler.com/",<br>  "created_at": "2012-10-28"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 448</span>: Using @vocab with with type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0033-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "http://example.com/vocab#created_at": [<br>            {<br>                "@value": "2012-10-28",<br>                "@type": "http://www.w3.org/2001/XMLSchema#date"<br>            }<br>        ],<br>        "http://example.com/vocab#homepage": [<br>            {<br>                "@id": "http://www.markus-lanthaler.com/"<br>            }<br>        ],<br>        "http://example.com/vocab#name": [<br>            {<br>                "@value": "Markus Lanthaler"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_f3b26731a087dc87cd35619fa5502443" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034">
+          Test 0034:
+          <span property="dc:title mf:name">Multiple properties expanding to the same IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0034">
+          <p lang="en" property="dc:description">Verifies multiple values from separate terms are deterministically made multiple values of the IRI associated with the terms</p>
+          <div class="example"><div class="example-title"><span>Example 449</span>: Multiple properties expanding to the same IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0034-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "colliding": "http://example.com/vocab/collidingTerm"<br>  },<br>  "@id": "http://example.com/IriCollissions",<br>  "colliding": [<br>    "value 1",<br>    2<br>  ],<br>  "collidingTerm": [<br>    3,<br>    "four"<br>  ],<br>  "http://example.com/vocab/collidingTerm": 5<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 450</span>: Multiple properties expanding to the same IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0034-out.jsonld">[<br>    {<br>        "@id": "http://example.com/IriCollissions",<br>        "http://example.com/vocab/collidingTerm": [<br>            {<br>                "@value": "value 1"<br>            },<br>            {<br>                "@value": 2<br>            },<br>            {<br>                "@value": 3<br>            },<br>            {<br>                "@value": "four"<br>            },<br>            {<br>                "@value": 5<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_89b312037a2f7a03d50a5c370403e5a5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035">
+          Test 0035:
+          <span property="dc:title mf:name">Language maps with @vocab, default language, and colliding property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0035">
+          <p lang="en" property="dc:description">Pathological tests of language maps</p>
+          <div class="example"><div class="example-title"><span>Example 451</span>: Language maps with @vocab, default language, and colliding property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0035-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "@language": "it",<br>    "label": {<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  },<br>  "http://example.com/vocab/label": [<br>    "Il re",<br>    { "@value": "The king", "@language": "en" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 452</span>: Language maps with @vocab, default language, and colliding property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0035-out.jsonld">[<br>    {<br>        "@id": "http://example.com/queen",<br>        "http://example.com/vocab/label": [<br>            {<br>                "@value": "Il re",<br>                "@language": "it"<br>            },<br>            {<br>                "@language": "en",<br>                "@value": "The king"<br>            },<br>            {<br>                "@value": "Die Königin",<br>                "@language": "de"<br>            },<br>            {<br>                "@value": "Ihre Majestät",<br>                "@language": "de"<br>            },<br>            {<br>                "@value": "The Queen",<br>                "@language": "en"<br>            }<br>        ]<br>    }<br>]</pre></div>
+        </dd>
+        <dt id="test_667d2bd10ae086ffe97a44c4ccad9fe5" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036">
+          Test 0036:
+          <span property="dc:title mf:name">Flattening @index</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0036">
+          <p lang="en" property="dc:description">Flattening index maps for terms defined with @container: @index</p>
+          <div class="example"><div class="example-title"><span>Example 453</span>: Flattening @index Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0036-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "indexContainer": { "@id": "http://example.com/container", "@container": "@index" }<br>  },<br>  "@id": "http://example.org/indexTest",<br>  "indexContainer": {<br>    "A": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexA"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexA",<br>        "@index": "this overrides the 'A' index from the container"<br>      },<br>      1,<br>      true,<br>      false,<br>      null,<br>      "simple string A",<br>      {<br>        "@value": "typed literal A",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string A",<br>        "@language": "en"<br>      }<br>    ],<br>    "B": "simple string B",<br>    "C": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexC"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexC",<br>        "@index": "this overrides the 'C' index from the container"<br>      },<br>      3,<br>      true,<br>      false,<br>      null,<br>      "simple string C",<br>      {<br>        "@value": "typed literal C",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string C",<br>        "@language": "en"<br>      }<br>    ]<br>  },<br>  "property": [<br>    {<br>      "@id": "http://example.org/nodeWithoutIndexProp"<br>    },<br>    {<br>      "@id": "http://example.org/nodeWithIndexProp",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": 3,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": true,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": false,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": null,<br>      "@index": "prop"<br>    },<br>    "simple string no index",<br>    {<br>      "@value": "typed literal Prop",<br>      "@type": "http://example.org/type",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": "language-tagged string Prop",<br>      "@language": "en",<br>      "@index": "prop"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 454</span>: Flattening @index Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0036-out.jsonld">[<br>    {<br>        "@id": "http://example.org/indexTest",<br>        "http://example.com/container": [<br>            {<br>                "@id": "http://example.org/nodeWithoutIndexA"<br>            },<br>            {<br>                "@id": "http://example.org/nodeWithIndexA"<br>            },<br>            {<br>                "@value": 1,<br>                "@index": "A"<br>            },<br>            {<br>                "@value": true,<br>                "@index": "A"<br>            },<br>            {<br>                "@value": false,<br>                "@index": "A"<br>            },<br>            {<br>                "@value": "simple string A",<br>                "@index": "A"<br>            },<br>            {<br>                "@type": "http://example.org/type",<br>                "@value": "typed literal A",<br>                "@index": "A"<br>            },<br>            {<br>                "@language": "en",<br>                "@value": "language-tagged string A",<br>                "@index": "A"<br>            },<br>            {<br>                "@value": "simple string B",<br>                "@index": "B"<br>            },<br>            {<br>                "@id": "http://example.org/nodeWithoutIndexC"<br>            },<br>            {<br>                "@id": "http://example.org/nodeWithIndexC"<br>            },<br>            {<br>                "@value": 3,<br>                "@index": "C"<br>            },<br>            {<br>                "@value": true,<br>                "@index": "C"<br>            },<br>            {<br>                "@value": false,<br>                "@index": "C"<br>            },<br>            {<br>                "@value": "simple string C",<br>                "@index": "C"<br>            },<br>            {<br>                "@type": "http://example.org/type",<br>                "@value": "typed literal C",<br>                "@index": "C"<br>            },<br>            {<br>                "@language": "en",<br>                "@value": "language-tagged string C",<br>                "@index": "C"<br>            }<br>        ],<br>        "http://example.com/property": [<br>            {<br>                "@id": "http://example.org/nodeWithoutIndexProp"<br>            },<br>            {<br>                "@id": "http://example.org/nodeWithIndexProp"<br>            },<br>            {<br>                "@index": "prop",<br>                "@value": 3<br>            },<br>            {<br>                "@index": "prop",<br>                "@value": true<br>            },<br>            {<br>                "@index": "prop",<br>                "@value": false<br>            },<br>            {<br>                "@value": "simple string no index"<br>            },<br>            {<br>                "@index": "prop",<br>                "@type": "http://example.org/type",<br>                "@value": "typed literal Prop"<br>            },<br>            {<br>                "@index": "prop",<br>                "@language": "en",<br>                "@value": "language-tagged string Prop"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "http://example.org/nodeWithIndexA",<br>        "@index": "this overrides the 'A' index from the container"<br>    },<br>    {<br>        "@id": "http://example.org/nodeWithIndexC",<br>        "@index": "this overrides the 'C' index from the container"<br>    },<br>    {<br>        "@id": "http://example.org/nodeWithIndexProp",<br>        "@index": "prop"<br>    },<br>    {<br>        "@id": "http://example.org/nodeWithoutIndexA",<br>        "@index": "A"<br>    },<br>    {<br>        "@id": "http://example.org/nodeWithoutIndexC",<br>        "@index": "C"<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_89ac01af9b3a6a766c096bd7046a0256" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037">
+          Test 0037:
+          <span property="dc:title mf:name">Flattening reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0037">
+          <p lang="en" property="dc:description">Flattening @reverse keeps @reverse</p>
+          <div class="example"><div class="example-title"><span>Example 455</span>: Flattening reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0037-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "@id": "http://example.com/people/dave"<br>        },<br>        {<br>          "@id": "http://example.com/people/gregg"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 456</span>: Flattening reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0037-out.jsonld">[<br>  {<br>    "@id": "http://example.com/people/dave",<br>    "http://xmlns.com/foaf/0.1/knows": [ { "@id": "http://example.com/people/markus" } ]<br>  },<br>  {<br>    "@id": "http://example.com/people/gregg",<br>    "http://xmlns.com/foaf/0.1/knows": [ { "@id": "http://example.com/people/markus" } ]<br>  },<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_fabcce83ebc5c6370fb8a969fa540de6" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038">
+          Test 0038:
+          <span property="dc:title mf:name">Flattening blank node labels</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0038">
+          <p lang="en" property="dc:description">Blank nodes are not relabeled during expansion</p>
+          <div class="example"><div class="example-title"><span>Example 457</span>: Flattening blank node labels Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0038-in.jsonld">{<br>  "@context": {<br>    "term": "_:term",<br>    "termId": { "@id": "term", "@type": "@id" }<br>  },<br>  "@id": "_:term",<br>  "@type": "_:term",<br>  "term": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Bx",<br>      "term": "term"<br>    },<br>    "plain value",<br>    {<br>      "@id": "_:term"<br>    }<br>  ],<br>  "termId": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Cx",<br>      "term": "termId"<br>    },<br>    "term:AppendedToBlankNode",<br>    "_:termAppendedToBlankNode",<br>    "relativeIri",<br>    {<br>      "@id": "_:term"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 458</span>: Flattening blank node labels Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0038-out.jsonld">[<br>    {<br>        "@id": "_:b0",<br>        "@type": [<br>            "_:b0"<br>        ],<br>        "_:b0": [<br>            {<br>                "@id": "_:b0"<br>            },<br>            {<br>                "@id": "_:b1"<br>            },<br>            {<br>                "@value": "plain value"<br>            },<br>            {<br>                "@id": "_:b2"<br>            },<br>            {<br>                "@id": "_:b3"<br>            },<br>            {<br>                "@id": "http://json-ld.org/test-suite/tests/relativeIri"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "_:b1",<br>        "_:b0": [<br>            {<br>                "@value": "term"<br>            }<br>        ]<br>    },<br>    {<br>        "@id": "_:b2",<br>        "_:b0": [<br>            {<br>                "@value": "termId"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_d507340c65aa03f87c138af32ed05414" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039">
+          Test 0039:
+          <span property="dc:title mf:name">Using terms in a reverse-maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0039">
+          <p lang="en" property="dc:description">Terms within @reverse are expanded</p>
+          <div class="example"><div class="example-title"><span>Example 459</span>: Using terms in a reverse-maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0039-in.jsonld">[<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "@reverse": {<br>      "http://xmlns.com/foaf/0.1/knows": [<br>        {<br>          "http://xmlns.com/foaf/0.1/name": "Dave Longley"<br>        },<br>        {<br>          "http://xmlns.com/foaf/0.1/name": "Gregg Kellogg"<br>        }<br>      ]<br>    },<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 460</span>: Using terms in a reverse-maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0039-out.jsonld">[<br>  {<br>    "@id": "_:b0",<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dave Longley" } ],<br>    "http://xmlns.com/foaf/0.1/knows": [ { "@id": "http://example.com/people/markus" } ]<br>  },<br>  {<br>    "@id": "_:b1",<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Gregg Kellogg" } ],<br>    "http://xmlns.com/foaf/0.1/knows": [ { "@id": "http://example.com/people/markus" } ]<br>  },<br>  {<br>    "@id": "http://example.com/people/markus",<br>    "http://xmlns.com/foaf/0.1/name": [ { "@value": "Markus Lanthaler" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_4c59f9de0ff5b0a36648afcc0f232fa8" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040">
+          Test 0040:
+          <span property="dc:title mf:name">language and index expansion on non-objects</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0040">
+          <p lang="en" property="dc:description">Only invoke language and index map expansion if the value is a JSON object</p>
+          <div class="example"><div class="example-title"><span>Example 461</span>: language and index expansion on non-objects Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0040-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    },<br>    "indexes": {<br>      "@id": "vocab:index",<br>      "@container": "@index"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": [<br>    "The Queen"<br>  ],<br>  "indexes":<br>  [<br>    "No",<br>    "indexes",<br>    { "@id": "asTheValueIsntAnObject" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 462</span>: language and index expansion on non-objects Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0040-out.jsonld">[<br>    {<br>        "@id": "http://example.com/queen",<br>        "http://example.com/vocab/index": [<br>            {<br>                "@value": "No"<br>            },<br>            {<br>                "@value": "indexes"<br>            },<br>            {<br>                "@id": "http://json-ld.org/test-suite/tests/asTheValueIsntAnObject"<br>            }<br>        ],<br>        "http://example.com/vocab/label": [<br>            {<br>                "@value": "The Queen"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_4d0f252ba5b08f0ebcdb1fe8005d39ee" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041">
+          Test 0041:
+          <span property="dc:title mf:name">Free-floating sets and lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0041">
+          <p lang="en" property="dc:description">Free-floating values in sets are removed, free-floating lists are removed completely</p>
+          <div class="example"><div class="example-title"><span>Example 463</span>: Free-floating sets and lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0041-in.jsonld">{<br>    "@context": {<br>        "property": "http://example.com/property"<br>    },<br>    "@graph": [<br>        {<br>            "@set": [<br>                "free-floating strings in set objects are removed",<br>                {<br>                    "@id": "http://example.com/free-floating-node"<br>                },<br>                {<br>                    "@id": "http://example.com/node",<br>                    "property": "nodes with properties are not removed"<br>                }<br>            ]<br>        },<br>        {<br>            "@list": [<br>                "lists are removed even though they represent an invisible linked structure, they have no real meaning"<br>            ]<br>        }<br>    ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 464</span>: Free-floating sets and lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0041-out.jsonld">[<br>    {<br>        "@id": "http://example.com/node",<br>        "http://example.com/property": [<br>            {<br>                "@value": "nodes with properties are not removed"<br>            }<br>        ]<br>    }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_3aeae4290a4cdc13b4b8459e97a2fb24" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042">
+          Test 0042:
+          <span property="dc:title mf:name">List objects not equivalent</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0042">
+          <p lang="en" property="dc:description">Lists objects are implicit unlabeled blank nodes and thus never equivalent</p>
+          <div class="example"><div class="example-title"><span>Example 465</span>: List objects not equivalent Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0042-in.jsonld">{<br>  "@context": {<br>    "test": "http://example.com/list"<br>  },<br>  "@id": "list-equivalence-test",<br>  "test": [<br>    { "@list": [ "1", "2" ] },<br>    { "@list": [ "1", "2" ] }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 466</span>: List objects not equivalent Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0042-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/list-equivalence-test",<br>    "http://example.com/list": [<br>      {<br>        "@list": [ { "@value": "1" }, { "@value": "2" } ]<br>      },<br>      {<br>        "@list": [ { "@value": "1" }, { "@value": "2" } ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_99505b54a7cdee73556720b3459f6f98" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043">
+          Test 0043:
+          <span property="dc:title mf:name">Sample test manifest extract</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0043">
+          <p lang="en" property="dc:description">Flatten a test manifest</p>
+          <div class="example"><div class="example-title"><span>Example 467</span>: Sample test manifest extract Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0043-in.jsonld">{<br>  "@id": "",<br>  "http://example/sequence": {"@list": [<br>    {<br>      "@id": "#t0001",<br>      "http://example/name": "Keywords cannot be aliased to other keywords",<br>      "http://example/input": {"@id": "error-expand-0001-in.jsonld"}<br>    }<br>  ]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 468</span>: Sample test manifest extract Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0043-out.jsonld">[<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/flatten-0043-in.jsonld",<br>    "http://example/sequence": [<br>      {"@list": [{"@id": "http://json-ld.org/test-suite/tests/flatten-0043-in.jsonld#t0001"}]}<br>    ]<br>  },<br>  {<br>    "@id": "http://json-ld.org/test-suite/tests/flatten-0043-in.jsonld#t0001",<br>    "http://example/input": [<br>      {"@id": "http://json-ld.org/test-suite/tests/error-expand-0001-in.jsonld"}<br>    ],<br>    "http://example/name": [<br>      {"@value": "Keywords cannot be aliased to other keywords"}<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_79f5a90f71c40dbc425b5534b6fbf308" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044">
+          Test 0044:
+          <span property="dc:title mf:name">compactArrays option</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0044">
+          <p lang="en" property="dc:description">Setting compactArrays to false causes single element arrays to be retained</p>
+          <div class="example"><div class="example-title"><span>Example 469</span>: compactArrays option Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0044-in.jsonld">[{<br>  "@id": "http://example/foo",<br>  "http://example/term": [{"@value": "value"}]<br>}]<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 470</span>: compactArrays option Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0044-out.jsonld">{<br>  "@context": {<br>    "term": "http://example/term"<br>  },<br>  "@graph": [{<br>    "@id": "http://example/foo",<br>    "term": ["value"]<br>  }]<br>}<br></pre></div>
+        </dd>
+        <dt id="test_b3ec8a3c4ae53dcf53cb66ff64ff66d1" resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045">
+          Test 0045:
+          <span property="dc:title mf:name">Blank nodes with reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/flatten-manifest.jsonld#t0045">
+          <p lang="en" property="dc:description">Proper (re-)labeling of blank nodes if used with reverse properties.</p>
+          <div class="example"><div class="example-title"><span>Example 471</span>: Blank nodes with reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/flatten-0045-in.jsonld">{<br>  "@context": {<br>    "foo": "http://example.org/foo",<br>    "bar": { "@reverse": "http://example.org/bar", "@type": "@id" }<br>  },<br>  "foo": "Foo",<br>  "bar": [ "http://example.org/origin", "_:b0" ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 472</span>: Blank nodes with reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/flatten-0045-out.jsonld">[<br>  {<br>    "@id": "_:b0",<br>    "http://example.org/foo": [ { "@value": "Foo" } ]<br>  },<br>  {<br>    "@id": "_:b1",<br>    "http://example.org/bar": [ { "@id": "_:b0" } ]<br>  },<br>  {<br>    "@id": "http://example.org/origin",<br>    "http://example.org/bar": [ { "@id": "_:b0" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld">
+        <dt id="test_9907f0143f657239932ff9a721296b91" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">load JSON-LD document</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Document loader loads a JSON-LD document.</p>
+          <div class="example"><div class="example-title"><span>Example 473</span>: load JSON-LD document Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0001-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 474</span>: load JSON-LD document Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0001-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0001-in.jsonld",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_acea9672e63aea155095c5e43edbcd35" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">load JSON document</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Document loader loads a JSON document.</p>
+          <div class="example"><div class="example-title"><span>Example 475</span>: load JSON document Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0002-in.json">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 476</span>: load JSON document Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0002-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0002-in.json",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_a360b9e628bef6bdedcff6f45b2e16b0" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">load JSON document with extension-type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Document loader loads a JSON document having an extension mime-subtype.</p>
+          <div class="example"><div class="example-title"><span>Example 477</span>: load JSON document with extension-type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0003-in.jldt">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 478</span>: load JSON document with extension-type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0003-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0003-in.jldt",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_dc7888a1c45bd07715093e4583b3051e" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">loading an unknown type raises loading document failed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Loading a document with a non-JSON mime type raises loading document failed</p>
+          <div class="example"><div class="example-title"><span>Example 479</span>: loading an unknown type raises loading document failed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0004-in.jldte"></pre></div>
+          <div class="example"><div class="example-title"><span>Example 480</span>: loading an unknown type raises loading document failed Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_919386210b748c4fac221b7ec179a7cd" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">Load JSON-LD through 301 redirect</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">Loading a document with a redirect should use the redirected URL as document base</p>
+          <div class="example"><div class="example-title"><span>Example 481</span>: Load JSON-LD through 301 redirect Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0005-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 482</span>: Load JSON-LD through 301 redirect Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0001-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0001-in.jsonld",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_e342c221220ffe2018d7697ca6c1bf9f" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">Load JSON-LD through 303 redirect</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Loading a document with a redirect should use the redirected URL as document base</p>
+          <div class="example"><div class="example-title"><span>Example 483</span>: Load JSON-LD through 303 redirect Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0006-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 484</span>: Load JSON-LD through 303 redirect Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0001-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0001-in.jsonld",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_5408d824ed05ceac5d988392a46b0e01" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">Load JSON-LD through 307 redirect</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Loading a document with a redirect should use the redirected URL as document base</p>
+          <div class="example"><div class="example-title"><span>Example 485</span>: Load JSON-LD through 307 redirect Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0007-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example/vocab#"<br>  },<br>  "@id": "",<br>  "term": "object"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 486</span>: Load JSON-LD through 307 redirect Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0001-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0001-in.jsonld",<br>  "http://example/vocab#term": [{"@value": "object"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_f8d9aa1ae47514931a5f68242b973fbe" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">Non-existant file (404)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Loading a non-existant file raises loading document failed error</p>
+          <div class="example"><div class="example-title"><span>Example 487</span>: Non-existant file (404) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0008-in.jsonld">http://json-ld.org/test-suite/tests/remote-doc-0008-in.jsonld not loaded</pre></div>
+          <div class="example"><div class="example-title"><span>Example 488</span>: Non-existant file (404) Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+        <dt id="test_8cc072279fc76131994975e9ee72d5d9" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">load JSON-LD document with link</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">If a context is specified in a link header, it is not used for JSON-LD.</p>
+          <div class="example"><div class="example-title"><span>Example 489</span>: load JSON-LD document with link Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0009-in.jsonld">[{<br>  "@id": "",<br>  "http://example/0009/term": "value1",<br>  "term": "value2"<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 490</span>: load JSON-LD document with link Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0009-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0009-in.jsonld",<br>  "http://example/0009/term": [{"@value": "value1"}]<br>}]</pre></div>
+        </dd>
+        <dt id="test_ed0088ce313a0850c9bbe93338a5147d" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">load JSON document with link</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">If a context is specified in a link header, it is used for JSON.</p>
+          <div class="example"><div class="example-title"><span>Example 491</span>: load JSON document with link Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0010-in.json">[{<br>  "@id": "",<br>  "term": "value"<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 492</span>: load JSON document with link Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0010-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0010-in.json",<br>  "http://example/vocab#term": [{"@value": "value"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_d28c87f4568e6f6880f05be288696353" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">load JSON document with extension-type with link</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">If a context is specified in a link header, it is used for a JSON extension type.</p>
+          <div class="example"><div class="example-title"><span>Example 493</span>: load JSON document with extension-type with link Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0011-in.jldt">[{<br>  "@id": "",<br>  "term": "value"<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 494</span>: load JSON document with extension-type with link Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/remote-doc-0011-out.jsonld">[{<br>  "@id": "http://json-ld.org/test-suite/tests/remote-doc-0011-in.jldt",<br>  "http://example/vocab#term": [{"@value": "value"}]<br>}]<br></pre></div>
+        </dd>
+        <dt id="test_03d309b4de121aed0ac0d91653d56bb0" resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">Multiple context link headers</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/remote-doc-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Loading a file when multiple link headers are returned is an error</p>
+          <div class="example"><div class="example-title"><span>Example 495</span>: Multiple context link headers Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/remote-doc-0012-in.json">[{<br>  "@id": "",<br>  "term": "value"<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 496</span>: Multiple context link headers Result</div><pre class="example resultDoc">n/a</pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld">
+        <dt id="test_8221dfb95c8d7e917c7e95b5448041f7" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">Plain literal with URIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Tests generation of a triple using full URIs and a plain literal.</p>
+          <div class="example"><div class="example-title"><span>Example 497</span>: Plain literal with URIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0001-in.jsonld">{<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "http://xmlns.com/foaf/0.1/name": "Gregg Kellogg"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 498</span>: Plain literal with URIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0001-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" .<br></pre></div>
+        </dd>
+        <dt id="test_2901ec46c9b7e6c175d4f0886d0abde8" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">Plain literal with CURIE from default context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Tests generation of a triple using a CURIE defined in the default context.</p>
+          <div class="example"><div class="example-title"><span>Example 499</span>: Plain literal with CURIE from default context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0002-in.jsonld">{<br>  "@context": {"foaf": "http://xmlns.com/foaf/0.1/"},<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:name": "Gregg Kellogg"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 500</span>: Plain literal with CURIE from default context Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0002-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" .<br></pre></div>
+        </dd>
+        <dt id="test_2b7f77e129699f59e1e0a32fb31de8ba" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">Default subject is BNode</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">Tests that a BNode is created if no explicit subject is set.</p>
+          <div class="example"><div class="example-title"><span>Example 501</span>: Default subject is BNode Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0003-in.jsonld">{<br>  "@context": {"foaf": "http://xmlns.com/foaf/0.1/"},<br>  "@type": "foaf:Person"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 502</span>: Default subject is BNode Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0003-out.nq">_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://xmlns.com/foaf/0.1/Person&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_837781d4cb06f55728cf0d3bf1b433ea" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">Literal with language tag</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Tests that a plain literal is created with a language tag.</p>
+          <div class="example"><div class="example-title"><span>Example 503</span>: Literal with language tag Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0004-in.jsonld">{<br>  "http://www.w3.org/2000/01/rdf-schema#label": {<br>    "@value": "A plain literal with a lang tag.",<br>    "@language": "en-us"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 504</span>: Literal with language tag Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0004-out.nq">_:b0 &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "A plain literal with a lang tag."@en-us .<br></pre></div>
+        </dd>
+        <dt id="test_168559dc364c3cafa23a5fdc121ed716" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">Extended character set literal</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">Tests that a literal may be created using extended characters.</p>
+          <div class="example"><div class="example-title"><span>Example 505</span>: Extended character set literal Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0005-in.jsonld">{<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "http://xmlns.com/foaf/0.1/knows": {<br>    "http://xmlns.com/foaf/0.1/name": {"@value": "Herman Iván", "@language": "hu"}<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 506</span>: Extended character set literal Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0005-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; _:b0 .<br>_:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Herman Iván"@hu .<br></pre></div>
+        </dd>
+        <dt id="test_be5bbf826750359cfdf7516b0c7ec88a" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">Typed literal</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Tests creation of a literal with a datatype.</p>
+          <div class="example"><div class="example-title"><span>Example 507</span>: Typed literal Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0006-in.jsonld">{<br>  "@id":  "http://greggkellogg.net/foaf#me",<br>  "http://purl.org/dc/terms/created":  {<br>    "@value": "1957-02-27",<br>    "@type": "http://www.w3.org/2001/XMLSchema#date"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 508</span>: Typed literal Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0006-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://purl.org/dc/terms/created&gt; "1957-02-27"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_4d3e1585e39e9437430c7c27f2c3ceb2" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">Tests 'a' generates rdf:type and object is implicit IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Verify that 'a' is an alias for rdf:type, and the object is created as an IRI.</p>
+          <div class="example"><div class="example-title"><span>Example 509</span>: Tests 'a' generates rdf:type and object is implicit IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0007-in.jsonld">{<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "@type": "http://xmlns.com/foaf/0.1/Person"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 510</span>: Tests 'a' generates rdf:type and object is implicit IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0007-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://xmlns.com/foaf/0.1/Person&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_f291d6c4d7c3b71a7ee50c855b4d07b7" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">Test prefix defined in @context</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Generate an IRI using a prefix defined within an @context.</p>
+          <div class="example"><div class="example-title"><span>Example 511</span>: Test prefix defined in @context Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0008-in.jsonld">{<br>  "@context": {"d": "http://example.com/default#"},<br>  "d:foo": "bar"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 512</span>: Test prefix defined in @context Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0008-out.nq">_:b0 &lt;http://example.com/default#foo&gt; "bar" .<br></pre></div>
+        </dd>
+        <dt id="test_da8f6e7ed341539f3497e42a22606916" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">Test using an empty suffix</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">An empty suffix may be used.</p>
+          <div class="example"><div class="example-title"><span>Example 513</span>: Test using an empty suffix Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0009-in.jsonld">{<br>  "@context": {"foo": "http://example.com/default#"},<br>  "foo:": "bar"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 514</span>: Test using an empty suffix Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0009-out.nq">_:b0 &lt;http://example.com/default#&gt; "bar" .<br></pre></div>
+        </dd>
+        <dt id="test_a026df2c5b553ef156272e470d970626" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">Test object processing defines object</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">A property referencing an associative array gets object from subject of array.</p>
+          <div class="example"><div class="example-title"><span>Example 515</span>: Test object processing defines object Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0010-in.jsonld">{<br>  "@context": {"foaf": "http://xmlns.com/foaf/0.1/"},<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": {<br>    "@id": "http://manu.sporny.org/#me",<br>    "foaf:name": "Manu Sporny"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 516</span>: Test object processing defines object Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0010-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://manu.sporny.org/#me&gt; .<br>&lt;http://manu.sporny.org/#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Manu Sporny" .<br></pre></div>
+        </dd>
+        <dt id="test_0501df8081a96dcdf798239ed749b339" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">Test object processing defines object with implicit BNode</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">If no @ is specified, a BNode is created, and will be used as the object of an enclosing property.</p>
+          <div class="example"><div class="example-title"><span>Example 517</span>: Test object processing defines object with implicit BNode Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0011-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": {<br>    "foaf:name": "Dave Longley"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 518</span>: Test object processing defines object with implicit BNode Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0011-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; _:b0 .<br>_:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br></pre></div>
+        </dd>
+        <dt id="test_d7e1119534704b762b7526143e3a3436" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">Multiple Objects for a Single Property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Tests that Multiple Objects are for a Single Property using array syntax.</p>
+          <div class="example"><div class="example-title"><span>Example 519</span>: Multiple Objects for a Single Property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0012-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": ["Manu Sporny", "Dave Longley"]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 520</span>: Multiple Objects for a Single Property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0012-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; "Dave Longley" .<br>&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; "Manu Sporny" .<br></pre></div>
+        </dd>
+        <dt id="test_b56d743584cc4ff59d35bf292ec982c0" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">Creation of an empty list</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Tests that @list: [] generates an empty list.</p>
+          <div class="example"><div class="example-title"><span>Example 521</span>: Creation of an empty list Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0013-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": {"@list": []}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 522</span>: Creation of an empty list Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0013-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_3679b83a20863ee63d48e5d1edb0c5f9" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">Creation of a list with single element</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Tests that @list generates a list.</p>
+          <div class="example"><div class="example-title"><span>Example 523</span>: Creation of a list with single element Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0014-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": {"@list": ["Manu Sporny"]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 524</span>: Creation of a list with single element Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0014-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; _:b0 .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "Manu Sporny" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_f2035c68d13c85313e18c957323e7420" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">Creation of a list with multiple elements</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">Tests that list with multiple elements.</p>
+          <div class="example"><div class="example-title"><span>Example 525</span>: Creation of a list with multiple elements Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0015-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/"<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "foaf:knows": {"@list": ["Manu Sporny", "Dave Longley"]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 526</span>: Creation of a list with multiple elements Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0015-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; _:b0 .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "Manu Sporny" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b1 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "Dave Longley" .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_5d1d92897194ef22789b74114ed02e64" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">Empty IRI expands to resource location</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">Expanding an empty IRI uses the test file location.</p>
+          <div class="example"><div class="example-title"><span>Example 527</span>: Empty IRI expands to resource location Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0016-in.jsonld">{<br>  "@id": "",<br>  "@type": "http://www.w3.org/2000/01/rdf-schema#Resource"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 528</span>: Empty IRI expands to resource location Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0016-out.nq">&lt;http://json-ld.org/test-suite/tests/toRdf-0016-in.jsonld&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_52da716252134d10ad21023465d60e4c" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">Relative IRI expands relative resource location</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Expanding a relative IRI uses the test file location.</p>
+          <div class="example"><div class="example-title"><span>Example 529</span>: Relative IRI expands relative resource location Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0017-in.jsonld">{<br>  "@id": "a/b",<br>  "@type": "http://www.w3.org/2000/01/rdf-schema#Resource"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 530</span>: Relative IRI expands relative resource location Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0017-out.nq">&lt;http://json-ld.org/test-suite/tests/a/b&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_f2e40b87e4fc57d8bb3d101cda44c837" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">Frag ID expands relative resource location</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">Expanding a fragment uses the test file location.</p>
+          <div class="example"><div class="example-title"><span>Example 531</span>: Frag ID expands relative resource location Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0018-in.jsonld">{<br>  "@id": "#frag",<br>  "@type": "http://www.w3.org/2000/01/rdf-schema#Resource"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 532</span>: Frag ID expands relative resource location Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0018-out.nq">&lt;http://json-ld.org/test-suite/tests/toRdf-0018-in.jsonld#frag&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_fc6ba93e5dac251298e413a442b0d199" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">Test type coercion to anyURI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Tests coercion of object to anyURI when specified.</p>
+          <div class="example"><div class="example-title"><span>Example 533</span>: Test type coercion to anyURI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0019-in.jsonld">{<br>  "@context": {<br>    "foaf": "http://xmlns.com/foaf/0.1/",<br>    "knows": {"@id": "http://xmlns.com/foaf/0.1/knows", "@type": "@id"}<br>  },<br>  "@id":    "http://greggkellogg.net/foaf#me",<br>  "knows":  "http://manu.sporny.org/#me"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 534</span>: Test type coercion to anyURI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0019-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://manu.sporny.org/#me&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_65271affc8b92ed902201aeaf428b105" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020">
+          Test 0020:
+          <span property="dc:title mf:name">Test type coercion to typed literal</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0020">
+          <p lang="en" property="dc:description">Tests coercion of object to a typed literal when specified.</p>
+          <div class="example"><div class="example-title"><span>Example 535</span>: Test type coercion to typed literal Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0020-in.jsonld">{<br>  "@context": {<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "created": {"@id": "http://purl.org/dc/terms/created", "@type": "xsd:date"}<br>  },<br>  "@id":  "http://greggkellogg.net/foaf#me",<br>  "created":  "1957-02-27"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 536</span>: Test type coercion to typed literal Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0020-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://purl.org/dc/terms/created&gt; "1957-02-27"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_d1704e1893b615a3e1d96dc2a182e177" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022">
+          Test 0022:
+          <span property="dc:title mf:name">Test coercion of double value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0022">
+          <p lang="en" property="dc:description">Tests that a decimal value generates a xsd:double typed literal;.</p>
+          <div class="example"><div class="example-title"><span>Example 537</span>: Test coercion of double value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0022-in.jsonld">{<br>  "@context": { "measure": "http://example/measure#"},<br>  "measure:cups": 5.3<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 538</span>: Test coercion of double value Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0022-out.nq">_:b0 &lt;http://example/measure#cups&gt; "5.3E0"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_a7af12b345dd6b53f99eee01a4c12720" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023">
+          Test 0023:
+          <span property="dc:title mf:name">Test coercion of integer value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0023">
+          <p lang="en" property="dc:description">Tests that a decimal value generates a xsd:integer typed literal.</p>
+          <div class="example"><div class="example-title"><span>Example 539</span>: Test coercion of integer value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0023-in.jsonld">{<br>  "@context": { "chem": "http://example/chem#"},<br>  "chem:protons": 12<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 540</span>: Test coercion of integer value Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0023-out.nq">_:b0 &lt;http://example/chem#protons&gt; "12"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_ffb20a81139db73cbb9b1561b93f5b42" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024">
+          Test 0024:
+          <span property="dc:title mf:name">Test coercion of boolean value</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0024">
+          <p lang="en" property="dc:description">Tests that a decimal value generates a xsd:boolean typed literal.</p>
+          <div class="example"><div class="example-title"><span>Example 541</span>: Test coercion of boolean value Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0024-in.jsonld">{<br>  "@context": { "sensor": "http://example/sensor#"},<br>  "sensor:active": true<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 542</span>: Test coercion of boolean value Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0024-out.nq">_:b0 &lt;http://example/sensor#active&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_70a3d0c2215e490e94272d6622ee847d" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025">
+          Test 0025:
+          <span property="dc:title mf:name">Test list coercion with single element</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0025">
+          <p lang="en" property="dc:description">Tests that an array with a single element on a property with @list coercion creates an RDF Collection.</p>
+          <div class="example"><div class="example-title"><span>Example 543</span>: Test list coercion with single element Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0025-in.jsonld">{<br>  "@context": {<br>    "knows": {"@id": "http://xmlns.com/foaf/0.1/knows", "@container": "@list"}<br>  },<br>  "@id": "http://greggkellogg.net/foaf#me",<br>  "knows": ["Manu Sporny"]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 544</span>: Test list coercion with single element Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0025-out.nq">&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; _:b0 .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "Manu Sporny" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_840d767e60c3c615673e5efac1237673" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026">
+          Test 0026:
+          <span property="dc:title mf:name">Test creation of multiple types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0026">
+          <p lang="en" property="dc:description">Tests that @type with an array of types creates multiple types.</p>
+          <div class="example"><div class="example-title"><span>Example 545</span>: Test creation of multiple types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0026-in.jsonld">{<br>  "@context": {"rdfs": "http://www.w3.org/2000/01/rdf-schema#"},<br>  "@type": ["rdfs:Resource", "rdfs:Class"]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 546</span>: Test creation of multiple types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0026-out.nq">_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Class&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_4e81da3102b86ca5c3d1d6130308b95b" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027">
+          Test 0027:
+          <span property="dc:title mf:name">Simple named graph (Wikidata)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0027">
+          <p lang="en" property="dc:description">Using @graph with other keys places triples in a named graph.</p>
+          <div class="example"><div class="example-title"><span>Example 547</span>: Simple named graph (Wikidata) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0027-in.jsonld">{<br>  "@context": {<br>    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",<br>    "ex": "http://example.org/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "ex:locatedIn": {"@type": "@id"},<br>    "ex:hasPopulaton": {"@type": "xsd:integer"},<br>    "ex:hasReference": {"@type": "@id"}<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/ParisFact1",<br>      "@type": "rdf:Graph",<br>      "@graph": {<br>        "@id": "http://example.org/location/Paris#this",<br>        "ex:locatedIn": "http://example.org/location/France#this"<br>      },<br>      "ex:hasReference": ["http://www.britannica.com/", "http://www.wikipedia.org/", "http://www.brockhaus.de/"]<br>    },<br>    {<br>      "@id": "http://example.org/ParisFact2",<br>      "@type": "rdf:Graph",<br>      "@graph": {<br>        "@id": "http://example.org/location/Paris#this",<br>        "ex:hasPopulation": 7000000<br>      },<br>      "ex:hasReference": "http://www.wikipedia.org/"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 548</span>: Simple named graph (Wikidata) Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0027-out.nq">&lt;http://example.org/ParisFact1&gt; &lt;http://example.org/hasReference&gt; &lt;http://www.britannica.com/&gt; .<br>&lt;http://example.org/ParisFact1&gt; &lt;http://example.org/hasReference&gt; &lt;http://www.brockhaus.de/&gt; .<br>&lt;http://example.org/ParisFact1&gt; &lt;http://example.org/hasReference&gt; &lt;http://www.wikipedia.org/&gt; .<br>&lt;http://example.org/ParisFact1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#Graph&gt; .<br>&lt;http://example.org/ParisFact2&gt; &lt;http://example.org/hasReference&gt; &lt;http://www.wikipedia.org/&gt; .<br>&lt;http://example.org/ParisFact2&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#Graph&gt; .<br>&lt;http://example.org/location/Paris#this&gt; &lt;http://example.org/hasPopulation&gt; "7000000"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; &lt;http://example.org/ParisFact2&gt; .<br>&lt;http://example.org/location/Paris#this&gt; &lt;http://example.org/locatedIn&gt; &lt;http://example.org/location/France#this&gt; &lt;http://example.org/ParisFact1&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_30bc80ba056257df8a196e8f65c097fc" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028">
+          Test 0028:
+          <span property="dc:title mf:name">Simple named graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0028">
+          <p lang="en" property="dc:description">Signing a graph.</p>
+          <div class="example"><div class="example-title"><span>Example 549</span>: Simple named graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0028-in.jsonld">{<br>  "@context": {<br>    "sec": "http://purl.org/security#",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",<br>    "dc": "http://purl.org/dc/terms/",<br>    "sec:signer": {"@type": "@id"},<br>    "dc:created": {"@type": "xsd:dateTime"}<br>  },<br>  "@id": "http://example.org/sig1",<br>  "@type": ["rdf:Graph", "sec:SignedGraph"],<br>  "dc:created": "2011-09-23T20:21:34Z",<br>  "sec:signer": "http://payswarm.example.com/i/john/keys/5",<br>  "sec:signatureValue": "OGQzNGVkMzVm4NTIyZTkZDYMmMzQzNmExMgoYzI43Q3ODIyOWM32NjI=",<br>  "@graph": {<br>    "@id": "http://example.org/fact1",<br>    "dc:title": "Hello World!"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 550</span>: Simple named graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0028-out.nq">&lt;http://example.org/fact1&gt; &lt;http://purl.org/dc/terms/title&gt; "Hello World!" &lt;http://example.org/sig1&gt; .<br>&lt;http://example.org/sig1&gt; &lt;http://purl.org/dc/terms/created&gt; "2011-09-23T20:21:34Z"^^&lt;http://www.w3.org/2001/XMLSchema#dateTime&gt; .<br>&lt;http://example.org/sig1&gt; &lt;http://purl.org/security#signatureValue&gt; "OGQzNGVkMzVm4NTIyZTkZDYMmMzQzNmExMgoYzI43Q3ODIyOWM32NjI=" .<br>&lt;http://example.org/sig1&gt; &lt;http://purl.org/security#signer&gt; &lt;http://payswarm.example.com/i/john/keys/5&gt; .<br>&lt;http://example.org/sig1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://purl.org/security#SignedGraph&gt; .<br>&lt;http://example.org/sig1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#Graph&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_a622ff7987cbfd0c25dcd4959394d718" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029">
+          Test 0029:
+          <span property="dc:title mf:name">named graph with embedded named graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0029">
+          <p lang="en" property="dc:description">Tests that named graphs containing named graphs flatten to single level of graph naming.</p>
+          <div class="example"><div class="example-title"><span>Example 551</span>: named graph with embedded named graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0029-in.jsonld">{<br>  "@context": {<br>    "wd": "http://data.wikipedia.org/vocab#",<br>    "ws": "http://data.wikipedia.org/snaks/",<br>    "wp": "http://en.wikipedia.org/wiki/"<br>  },<br>  "@id": "ws:Assertions",<br>  "@type": "wd:SnakSet",<br>  "@graph": {<br>    "@id": "ws:BerlinFact",<br>    "@type": "wd:Snak",<br>    "@graph": {<br>      "@id": "wp:Berlin",<br>      "wd:population": 3499879<br>    },<br>    "wd:assertedBy": "http://www.statistik-berlin-brandenburg.de/"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 552</span>: named graph with embedded named graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0029-out.nq">&lt;http://data.wikipedia.org/snaks/Assertions&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://data.wikipedia.org/vocab#SnakSet&gt; .<br>&lt;http://data.wikipedia.org/snaks/BerlinFact&gt; &lt;http://data.wikipedia.org/vocab#assertedBy&gt; "http://www.statistik-berlin-brandenburg.de/" &lt;http://data.wikipedia.org/snaks/Assertions&gt; .<br>&lt;http://data.wikipedia.org/snaks/BerlinFact&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://data.wikipedia.org/vocab#Snak&gt; &lt;http://data.wikipedia.org/snaks/Assertions&gt; .<br>&lt;http://en.wikipedia.org/wiki/Berlin&gt; &lt;http://data.wikipedia.org/vocab#population&gt; "3499879"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; &lt;http://data.wikipedia.org/snaks/BerlinFact&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_7374aacc7e0025893a966d066fdb58da" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030">
+          Test 0030:
+          <span property="dc:title mf:name">top-level graph with string subject reference</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0030">
+          <p lang="en" property="dc:description">Tests graphs containing subject references as strings.</p>
+          <div class="example"><div class="example-title"><span>Example 553</span>: top-level graph with string subject reference Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0030-in.jsonld">{<br>  "@context": {<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "knows": "http://xmlns.com/foaf/0.1/knows",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "asOf": "http://example.org/asOf"<br>  },<br>  "@id": "http://example.org/linked-data-graph",<br>  "asOf": {"@value": "2012-04-09", "@type": "xsd:date"},<br>  "@graph":<br>  [<br>    {<br>      "@id": "http://manu.sporny.org/i/public",<br>      "@type": "foaf:Person",<br>      "name": "Manu Sporny",<br>      "knows": "http://greggkellogg.net/foaf#me"<br>    },<br>    {<br>      "@id": "http://greggkellogg.net/foaf#me",<br>      "@type": "foaf:Person",<br>      "name": "Gregg Kellogg",<br>      "knows": "http://manu.sporny.org/i/public"<br>    },<br>    {<br>      "@id": "http://www.markus-lanthaler.com/"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 554</span>: top-level graph with string subject reference Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0030-out.nq">&lt;http://example.org/linked-data-graph&gt; &lt;http://example.org/asOf&gt; "2012-04-09"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;foaf:Person&gt; &lt;http://example.org/linked-data-graph&gt; .<br>&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; "http://manu.sporny.org/i/public" &lt;http://example.org/linked-data-graph&gt; .<br>&lt;http://greggkellogg.net/foaf#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" &lt;http://example.org/linked-data-graph&gt; .<br>&lt;http://manu.sporny.org/i/public&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;foaf:Person&gt; &lt;http://example.org/linked-data-graph&gt; .<br>&lt;http://manu.sporny.org/i/public&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; "http://greggkellogg.net/foaf#me" &lt;http://example.org/linked-data-graph&gt; .<br>&lt;http://manu.sporny.org/i/public&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Manu Sporny" &lt;http://example.org/linked-data-graph&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_8e60a940f92909d30be02bcf5b1871ce" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031">
+          Test 0031:
+          <span property="dc:title mf:name">Reverse property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0031">
+          <p lang="en" property="dc:description">Tests conversion of reverse properties.</p>
+          <div class="example"><div class="example-title"><span>Example 555</span>: Reverse property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0031-in.jsonld">{<br>  "@context": {<br>    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",<br>    "defines": { "@reverse": "rdfs:definedBy" },<br>    "label": "rdfs:label"<br>  },<br>  "@id": "http://example.com/vocab",<br>  "label": "My vocabulary",<br>  "defines": [<br>    {<br>      "@id": "http://example.com/vocab#property",<br>      "label": "A property"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 556</span>: Reverse property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0031-out.nq">&lt;http://example.com/vocab#property&gt; &lt;http://www.w3.org/2000/01/rdf-schema#definedBy&gt; &lt;http://example.com/vocab&gt; .<br>&lt;http://example.com/vocab#property&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "A property" .<br>&lt;http://example.com/vocab&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "My vocabulary" .<br></pre></div>
+        </dd>
+        <dt id="test_ff90ef401a84ba802bef858d7e58f36b" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032">
+          Test 0032:
+          <span property="dc:title mf:name">@context reordering</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0032">
+          <p lang="en" property="dc:description">Tests that generated triples do not depend on order of @context.</p>
+          <div class="example"><div class="example-title"><span>Example 557</span>: @context reordering Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0032-in.jsonld">{<br>  "@id": "ex:node1",<br>  "owl:sameAs": {<br>    "@id": "ex:node2",<br>    "rdfs:label": "Node 2",<br>    "link": "ex:node3",<br>    "@context": {<br>      "rdfs": "http://www.w3.org/2000/01/rdf-schema#"<br>    }<br>  },<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "owl": "http://www.w3.org/2002/07/owl#",<br>    "link": { "@id": "ex:link", "@type": "@id" }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 558</span>: @context reordering Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0032-out.nq">&lt;http://example.org/node1&gt; &lt;http://www.w3.org/2002/07/owl#sameAs&gt; &lt;http://example.org/node2&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://example.org/link&gt; &lt;http://example.org/node3&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "Node 2" .<br></pre></div>
+        </dd>
+        <dt id="test_e1af6a22532ef49a9773219d29a3f40b" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033">
+          Test 0033:
+          <span property="dc:title mf:name">@id reordering</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0033">
+          <p lang="en" property="dc:description">Tests that generated triples do not depend on order of @id.</p>
+          <div class="example"><div class="example-title"><span>Example 559</span>: @id reordering Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0033-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/",<br>    "owl": "http://www.w3.org/2002/07/owl#",<br>    "link": {<br>      "@id": "ex:link",<br>      "@type": "@id"<br>    }<br>  },<br>  "owl:sameAs": {<br>    "@context": {<br>      "rdfs": "http://www.w3.org/2000/01/rdf-schema#"<br>    },<br>    "rdfs:label": "Node 2",<br>    "link": "ex:node3",<br>    "@id": "ex:node2"<br>  },<br>  "@id": "ex:node1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 560</span>: @id reordering Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0033-out.nq">&lt;http://example.org/node1&gt; &lt;http://www.w3.org/2002/07/owl#sameAs&gt; &lt;http://example.org/node2&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://example.org/link&gt; &lt;http://example.org/node3&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "Node 2" .<br></pre></div>
+        </dd>
+        <dt id="test_a6ef305be2e801e1c7821d8ad95a7f3f" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034">
+          Test 0034:
+          <span property="dc:title mf:name">context properties reordering</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0034">
+          <p lang="en" property="dc:description">Tests that generated triples do not depend on order of properties inside @context.</p>
+          <div class="example"><div class="example-title"><span>Example 561</span>: context properties reordering Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0034-in.jsonld">{<br>  "@context": {<br>    "link": { "@id": "ex:link", "@type": "@id" },<br>    "ex": "http://example.org/",<br>    "owl": "http://www.w3.org/2002/07/owl#"<br>  },<br>  "@id": "ex:node1",<br>  "owl:sameAs": {<br>    "@context": {<br>      "rdfs": "http://www.w3.org/2000/01/rdf-schema#"<br>    },<br>    "@id": "ex:node2",<br>    "rdfs:label": "Node 2",<br>    "link": "ex:node3"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 562</span>: context properties reordering Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0034-out.nq">&lt;http://example.org/node1&gt; &lt;http://www.w3.org/2002/07/owl#sameAs&gt; &lt;http://example.org/node2&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://example.org/link&gt; &lt;http://example.org/node3&gt; .<br>&lt;http://example.org/node2&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; "Node 2" .<br></pre></div>
+        </dd>
+        <dt id="test_adeaa21bca4e166ec3f061e1b9afeaa1" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035">
+          Test 0035:
+          <span property="dc:title mf:name">non-fractional numbers converted to xsd:double</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0035">
+          <p lang="en" property="dc:description">xsd:double's canonical lexical is used when converting numbers without fraction that are coerced to xsd:double</p>
+          <div class="example"><div class="example-title"><span>Example 563</span>: non-fractional numbers converted to xsd:double Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0035-in.jsonld">{<br>  "@context": {<br>    "double": {<br>      "@id": "http://example.com/double",<br>      "@type": "http://www.w3.org/2001/XMLSchema#double"<br>    },<br>    "integer": {<br>      "@id": "http://example.com/integer",<br>      "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>    }<br>  },<br>  "double": [1, 2.2 ],<br>  "integer": [8, 9.9 ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 564</span>: non-fractional numbers converted to xsd:double Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0035-out.nq">_:b0 &lt;http://example.com/double&gt; "1.0E0"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br>_:b0 &lt;http://example.com/double&gt; "2.2E0"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br>_:b0 &lt;http://example.com/integer&gt; "8"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b0 &lt;http://example.com/integer&gt; "9.9E0"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_02f0d4c7a43df3db06f3745a939bfb6b" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036">
+          Test 0036:
+          <span property="dc:title mf:name">Use nodeMapGeneration bnode labels</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0036">
+          <p lang="en" property="dc:description">The toRDF algorithm does not relabel blank nodes; it reuses the counter from the nodeMapGeneration to generate new ones</p>
+          <div class="example"><div class="example-title"><span>Example 565</span>: Use nodeMapGeneration bnode labels Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0036-in.jsonld">{<br>  "@id": "http://example.com/",<br>  "ex:prop1": {<br>    "@list": [ { "@id": "_:x1" }, { "@id": "_:x2" } ]<br>  },<br>  "ex:prop2": { "@id": "_:x3" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 566</span>: Use nodeMapGeneration bnode labels Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0036-out.nq">&lt;http://example.com/&gt; &lt;ex:prop1&gt; _:b3 .<br>&lt;http://example.com/&gt; &lt;ex:prop2&gt; _:b2 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; _:b0 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b4 .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; _:b1 .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_0e32aa94d9f84a2f2d5e82a0a4b47129" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041">
+          Test 0041:
+          <span property="dc:title mf:name">drop free-floating nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0041">
+          <p lang="en" property="dc:description">Free-floating nodes do not generate RDF triples</p>
+          <div class="example"><div class="example-title"><span>Example 567</span>: drop free-floating nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0041-in.jsonld">{"@id": "http://example.org/test#example"}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 568</span>: drop free-floating nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0041-out.nq"></pre></div>
+        </dd>
+        <dt id="test_81b36000b509b1b4dd7fe3e4163b344d" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042">
+          Test 0042:
+          <span property="dc:title mf:name">basic</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0042">
+          <p lang="en" property="dc:description">Basic RDF conversion</p>
+          <div class="example"><div class="example-title"><span>Example 569</span>: basic Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0042-in.jsonld">{<br>  "@context": {<br>    "t1": "http://example.com/t1",<br>    "t2": "http://example.com/t2",<br>    "term1": "http://example.com/term1",<br>    "term2": "http://example.com/term2",<br>    "term3": "http://example.com/term3",<br>    "term4": "http://example.com/term4",<br>    "term5": "http://example.com/term5"<br>  },<br>  "@id": "http://example.com/id1",<br>  "@type": "t1",<br>  "term1": "v1",<br>  "term2": {"@value": "v2", "@type": "t2"},<br>  "term3": {"@value": "v3", "@language": "en"},<br>  "term4": 4,<br>  "term5": [50, 51]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 570</span>: basic Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0042-out.nq">&lt;http://example.com/id1&gt; &lt;http://example.com/term1&gt; "v1" .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term2&gt; "v2"^^&lt;http://example.com/t2&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term3&gt; "v3"@en .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term4&gt; "4"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term5&gt; "50"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term5&gt; "51"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/t1&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_2c2783823edad864e208a82445142990" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043">
+          Test 0043:
+          <span property="dc:title mf:name">drop null and unmapped properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0043">
+          <p lang="en" property="dc:description">Properties mapped to null or which are never mapped are dropped</p>
+          <div class="example"><div class="example-title"><span>Example 571</span>: drop null and unmapped properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0043-in.jsonld">{<br>  "@id": "http://example.org/id",<br>  "http://example.org/property": null,<br>  "regularJson": {<br>    "nonJsonLd": "property",<br>    "deep": [{<br>      "foo": "bar"<br>    }, {<br>      "bar": "foo"<br>    }]<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 572</span>: drop null and unmapped properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0043-out.nq"></pre></div>
+        </dd>
+        <dt id="test_6e2473651a74893b88cba802d5fc8930" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044">
+          Test 0044:
+          <span property="dc:title mf:name">optimize @set, keep empty arrays</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0044">
+          <p lang="en" property="dc:description">RDF version of expand-0004</p>
+          <div class="example"><div class="example-title"><span>Example 573</span>: optimize @set, keep empty arrays Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0044-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set"},<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": { "@list": [ ] },<br>  "mylist2": "one item",<br>  "myset2": { "@set": [ ] },<br>  "myset3": [ "v1" ],<br>  "http://example.org/list1": { "@list": [ null ] },<br>  "http://example.org/list2": { "@list": [ {"@value": null} ] },<br>  "http://example.org/set1": { "@set": [ ] },<br>  "http://example.org/set1": { "@set": [ null ] },<br>  "http://example.org/set3": [ ],<br>  "http://example.org/set4": [ null ],<br>  "http://example.org/set5": "one item",<br>  "http://example.org/property": { "@list": "one item" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 574</span>: optimize @set, keep empty arrays Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0044-out.nq">&lt;http://example.org/id&gt; &lt;http://example.com/mylist1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.com/mylist2&gt; _:b0 .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "v1" .<br>&lt;http://example.org/id&gt; &lt;http://example.org/list1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.org/list2&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.org/property&gt; _:b1 .<br>&lt;http://example.org/id&gt; &lt;http://example.org/set5&gt; "one item" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "one item" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "one item" .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_0bb02a1bfe531a6b2ae0a9fdb6cd5872" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045">
+          Test 0045:
+          <span property="dc:title mf:name">do not expand aliased @id/@type</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0045">
+          <p lang="en" property="dc:description">RDF version of expand-0005</p>
+          <div class="example"><div class="example-title"><span>Example 575</span>: do not expand aliased @id/@type Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0045-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepage": {<br>      "@id": "http://xmlns.com/foaf/0.1/homepage",<br>      "@type": "@id"<br>    },<br>    "know": "http://xmlns.com/foaf/0.1/knows",<br>    "@iri": "@id"<br>  },<br>  "@id": "#me",<br>  "know": [<br>    {<br>      "@id": "http://example.com/bob#me",<br>      "name": "Bob",<br>      "homepage": "http://example.com/bob"<br>    }, {<br>      "@id": "http://example.com/alice#me",<br>      "name": "Alice",<br>      "homepage": "http://example.com/alice"<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 576</span>: do not expand aliased @id/@type Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0045-out.nq">&lt;http://example.com/alice#me&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://example.com/alice&gt; .<br>&lt;http://example.com/alice#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Alice" .<br>&lt;http://example.com/bob#me&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://example.com/bob&gt; .<br>&lt;http://example.com/bob#me&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Bob" .<br>&lt;http://json-ld.org/test-suite/tests/toRdf-0045-in.jsonld#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/alice#me&gt; .<br>&lt;http://json-ld.org/test-suite/tests/toRdf-0045-in.jsonld#me&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/bob#me&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_e6e26f24f7a188940d2d4d6052ca7f20" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046">
+          Test 0046:
+          <span property="dc:title mf:name">alias keywords</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0046">
+          <p lang="en" property="dc:description">RDF version of expand-0006</p>
+          <div class="example"><div class="example-title"><span>Example 577</span>: alias keywords Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0046-in.jsonld">{<br>  "@context": {<br>    "http://example.org/test#property1": {<br>      "@type": "@id"<br>    },<br>    "http://example.org/test#property2": {<br>      "@type": "@id"<br>    },<br>    "uri": "@id"<br>  },<br>  "http://example.org/test#property1": {<br>    "http://example.org/test#property4": "foo",<br>    "uri": "http://example.org/test#example2"<br>  },<br>  "http://example.org/test#property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 578</span>: alias keywords Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0046-out.nq">&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property1&gt; &lt;http://example.org/test#example2&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property2&gt; &lt;http://example.org/test#example3&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property3&gt; &lt;http://example.org/test#example4&gt; .<br>&lt;http://example.org/test#example2&gt; &lt;http://example.org/test#property4&gt; "foo" .<br></pre></div>
+        </dd>
+        <dt id="test_20d9d1290d4c26607f848905641bfbc1" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047">
+          Test 0047:
+          <span property="dc:title mf:name">date type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0047">
+          <p lang="en" property="dc:description">Type-coerced dates generate typed literals</p>
+          <div class="example"><div class="example-title"><span>Example 579</span>: date type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0047-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "ex:date": {<br>      "@type": "xsd:dateTime"<br>    },<br>    "ex:parent": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:date": "2011-01-25T00:00:00Z",<br>  "ex:embed": {<br>    "@id": "http://example.org/test#example2",<br>    "ex:parent": "http://example.org/test#example1"<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 580</span>: date type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0047-out.nq">&lt;http://example.org/test#example1&gt; &lt;http://example.org/vocab#date&gt; "2011-01-25T00:00:00Z"^^&lt;http://www.w3.org/2001/XMLSchema#dateTime&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/vocab#embed&gt; &lt;http://example.org/test#example2&gt; .<br>&lt;http://example.org/test#example2&gt; &lt;http://example.org/vocab#parent&gt; &lt;http://example.org/test#example1&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_3e024bd2ecc4f8e3df9baca107248b43" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048">
+          Test 0048:
+          <span property="dc:title mf:name">@value with @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0048">
+          <p lang="en" property="dc:description">RDF version of expand-0008</p>
+          <div class="example"><div class="example-title"><span>Example 581</span>: @value with @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0048-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#"<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test": { "@value": "test",  "@language": "en" },<br>  "ex:drop-lang-only": { "@language": "en" },<br>  "ex:keep-full-value": { "@value": "only value" }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 582</span>: @value with @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0048-out.nq">&lt;http://example.org/test&gt; &lt;http://example.org/vocab#keep-full-value&gt; "only value" .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#test&gt; "test"@en .<br></pre></div>
+        </dd>
+        <dt id="test_fbf5c7ba7c20592984be33d36eabf886" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049">
+          Test 0049:
+          <span property="dc:title mf:name">@graph with terms</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0049">
+          <p lang="en" property="dc:description">RDF version of expand-0009</p>
+          <div class="example"><div class="example-title"><span>Example 583</span>: @graph with terms Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0049-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 584</span>: @graph with terms Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0049-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/contributor&gt; "Writer" .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "My Book" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "Fun" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter One" .<br>&lt;http://example.org/test#jane&gt; &lt;http://example.org/vocab#authored&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#jane&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Jane" .<br>&lt;http://example.org/test#john&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "John" .<br>&lt;http://example.org/test#library&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#book&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_f240a5116ccd488d673365de0682f93e" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050">
+          Test 0050:
+          <span property="dc:title mf:name">native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0050">
+          <p lang="en" property="dc:description">Native types generate typed literals</p>
+          <div class="example"><div class="example-title"><span>Example 585</span>: native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0050-in.jsonld">{<br>  "@context": {<br>    "d": "http://purl.org/dc/elements/1.1/",<br>    "e": "http://example.org/vocab#",<br>    "f": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test",<br>  "e:bool": true,<br>  "e:int": 123<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 586</span>: native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0050-out.nq">&lt;http://example.org/test&gt; &lt;http://example.org/vocab#bool&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#int&gt; "123"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_1411efc23854b4bbf70ff4673d806a5d" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051">
+          Test 0051:
+          <span property="dc:title mf:name">coerced @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0051">
+          <p lang="en" property="dc:description">RDF version of expand-0011</p>
+          <div class="example"><div class="example-title"><span>Example 587</span>: coerced @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0051-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@id": "http://example.org/test#book",<br>  "dc:title": "Title",<br>  "ex:contains": "http://example.org/test#chapter"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 588</span>: coerced @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0051-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Title" .<br></pre></div>
+        </dd>
+        <dt id="test_0c19c6652ef6f6566c5bb7c33648c897" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052">
+          Test 0052:
+          <span property="dc:title mf:name">@graph with embed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0052">
+          <p lang="en" property="dc:description">RDF version of expand-0012</p>
+          <div class="example"><div class="example-title"><span>Example 589</span>: @graph with embed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0052-in.jsonld">{<br>  "@context": {<br>    "dc": "http://purl.org/dc/elements/1.1/",<br>    "ex": "http://example.org/vocab#",<br>    "ex:authored": {<br>      "@type": "@id"<br>    },<br>    "ex:contains": {<br>      "@type": "@id"<br>    },<br>    "foaf": "http://xmlns.com/foaf/0.1/",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#"<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#chapter",<br>      "dc:description": "Fun",<br>      "dc:title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "ex:authored": "http://example.org/test#chapter",<br>      "foaf:name": "Jane"<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "foaf:name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "ex:contains": {<br>        "@id": "http://example.org/test#book",<br>        "dc:contributor": "Writer",<br>        "dc:title": "My Book",<br>        "ex:contains": "http://example.org/test#chapter"<br>      }<br>    }<br>  ]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 590</span>: @graph with embed Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0052-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/contributor&gt; "Writer" .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "My Book" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "Fun" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter One" .<br>&lt;http://example.org/test#jane&gt; &lt;http://example.org/vocab#authored&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#jane&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Jane" .<br>&lt;http://example.org/test#john&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "John" .<br>&lt;http://example.org/test#library&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#book&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_122bf1f64c4009c0908aa685439bf8b0" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053">
+          Test 0053:
+          <span property="dc:title mf:name">expand already expanded</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0053">
+          <p lang="en" property="dc:description">RDF version of expand-0013</p>
+          <div class="example"><div class="example-title"><span>Example 591</span>: expand already expanded Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0053-in.jsonld">[{<br>  "@id": "http://example.com/id1",<br>  "@type": ["http://example.com/t1"],<br>  "http://example.com/term1": ["v1"],<br>  "http://example.com/term2": [{"@value": "v2", "@type": "http://example.com/t2"}],<br>  "http://example.com/term3": [{"@value": "v3", "@language": "en"}],<br>  "http://example.com/term4": [4],<br>  "http://example.com/term5": [50, 51]<br>}]</pre></div>
+          <div class="example"><div class="example-title"><span>Example 592</span>: expand already expanded Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0053-out.nq">&lt;http://example.com/id1&gt; &lt;http://example.com/term1&gt; "v1" .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term2&gt; "v2"^^&lt;http://example.com/t2&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term3&gt; "v3"@en .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term4&gt; "4"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term5&gt; "50"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://example.com/term5&gt; "51"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/id1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/t1&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_94903b9ea2d6098883584539d003fc8a" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054">
+          Test 0054:
+          <span property="dc:title mf:name">@set of @value objects with keyword aliases</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0054">
+          <p lang="en" property="dc:description">RDF version of expand-0014</p>
+          <div class="example"><div class="example-title"><span>Example 593</span>: @set of @value objects with keyword aliases Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0054-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/test#",<br>    "property1": {<br>      "@id": "http://example.org/test#property1",<br>      "@type": "@id"<br>    },<br>    "property2": {<br>      "@id": "ex:property2",<br>      "@type": "@id"<br>    },<br>    "uri": "@id",<br>    "set": "@set",<br>    "value": "@value",<br>    "type": "@type",<br>    "xsd": { "@id": "http://www.w3.org/2001/XMLSchema#" }<br>  },<br>  "property1": {<br>    "uri": "ex:example2",<br>    "http://example.org/test#property4": "foo"<br>  },<br>  "property2": "http://example.org/test#example3",<br>  "http://example.org/test#property3": {<br>    "uri": "http://example.org/test#example4"<br>  },<br>  "ex:property4": {<br>    "uri": "ex:example4",<br>    "ex:property5": [<br>      {<br>        "set": [<br>          {<br>          "value": "2012-03-31",<br>          "type": "xsd:date"<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  "ex:property6": [<br>    {<br>      "set": [<br>        {<br>        "value": null,<br>        "type": "xsd:date"<br>        }<br>      ]<br>    }<br>  ],<br>  "uri": "http://example.org/test#example1"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 594</span>: @set of @value objects with keyword aliases Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0054-out.nq">&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property1&gt; &lt;http://example.org/test#example2&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property2&gt; &lt;http://example.org/test#example3&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property3&gt; &lt;http://example.org/test#example4&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/test#property4&gt; &lt;http://example.org/test#example4&gt; .<br>&lt;http://example.org/test#example2&gt; &lt;http://example.org/test#property4&gt; "foo" .<br>&lt;http://example.org/test#example4&gt; &lt;http://example.org/test#property5&gt; "2012-03-31"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_19bdeb3374a67cb9ee89f24f3bfa78cd" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055">
+          Test 0055:
+          <span property="dc:title mf:name">collapse set of sets, keep empty lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0055">
+          <p lang="en" property="dc:description">RDF version of expand-0015</p>
+          <div class="example"><div class="example-title"><span>Example 595</span>: collapse set of sets, keep empty lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0055-in.jsonld">{<br>  "@context": {<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" },<br>    "myset3": {"@id": "http://example.com/myset3", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist1": [],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myset3": [ { "@set": [ "hello", "this" ] }, "will", { "@set": [ "be", "collapsed" ] } ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 596</span>: collapse set of sets, keep empty lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0055-out.nq">&lt;http://example.org/id&gt; &lt;http://example.com/mylist1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "be" .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "collapsed" .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "hello" .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "this" .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset3&gt; "will" .<br></pre></div>
+        </dd>
+        <dt id="test_16560eb090ac93156eecca0e9c5e53f8" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056">
+          Test 0056:
+          <span property="dc:title mf:name">context reset</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0056">
+          <p lang="en" property="dc:description">RDF version of expand-0016</p>
+          <div class="example"><div class="example-title"><span>Example 597</span>: context reset Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0056-in.jsonld">{<br>  "@context": {<br>    "myproperty": { "@id": "http://example.com/myproperty" },<br>    "mylist1": {"@id": "http://example.com/mylist1", "@container": "@list"},<br>    "mylist2": {"@id": "http://example.com/mylist2", "@container": "@list"},<br>    "myset1": {"@id": "http://example.com/myset1", "@container": "@set" },<br>    "myset2": {"@id": "http://example.com/myset2", "@container": "@set" }<br>  },<br>  "@id": "http://example.org/id1",<br>  "mylist1": [],<br>  "mylist2": [ 2, "hi" ],<br>  "myset1": { "@set": [] },<br>  "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>  "myproperty": {<br>    "@context": null,<br>    "@id": "http://example.org/id2",<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ],<br>    "http://example.org/myproperty2": "ok"<br>  },<br>  "http://example.com/emptyobj": {<br>    "@context": null,<br>    "mylist1": [],<br>    "mylist2": [ 2, "hi" ],<br>    "myset1": { "@set": [] },<br>    "myset2": [ { "@set": [] }, [], { "@set": [ null ] }, [ null ] ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 598</span>: context reset Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0056-out.nq">&lt;http://example.org/id1&gt; &lt;http://example.com/emptyobj&gt; _:b0 .<br>&lt;http://example.org/id1&gt; &lt;http://example.com/mylist1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.org/id1&gt; &lt;http://example.com/mylist2&gt; _:b1 .<br>&lt;http://example.org/id1&gt; &lt;http://example.com/myproperty&gt; &lt;http://example.org/id2&gt; .<br>&lt;http://example.org/id2&gt; &lt;http://example.org/myproperty2&gt; "ok" .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "hi" .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_5ae98e241ddf70df99209379799a3801" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057">
+          Test 0057:
+          <span property="dc:title mf:name">@graph and @id aliased</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0057">
+          <p lang="en" property="dc:description">RDF version of expand-0017</p>
+          <div class="example"><div class="example-title"><span>Example 599</span>: @graph and @id aliased Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0057-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    },<br>    "id": "@id",<br>    "data": "@graph"<br>  },<br>  "data": [<br>    {<br>      "id": "http://example.org/test#chapter",<br>      "description": "Fun",<br>      "title": "Chapter One"<br>    },<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "authored": "http://example.org/test#chapter",<br>      "name": "Jane"<br>    },<br>    {<br>      "id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 600</span>: @graph and @id aliased Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0057-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/contributor&gt; "Writer" .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "My Book" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "Fun" .<br>&lt;http://example.org/test#chapter&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter One" .<br>&lt;http://example.org/test#jane&gt; &lt;http://example.org/vocab#authored&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#jane&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Jane" .<br>&lt;http://example.org/test#john&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "John" .<br>&lt;http://example.org/test#library&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#book&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_df27dca6efd8c657b2f61e59354b0863" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058">
+          Test 0058:
+          <span property="dc:title mf:name">override default @language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0058">
+          <p lang="en" property="dc:description">RDF version of expand-0018</p>
+          <div class="example"><div class="example-title"><span>Example 601</span>: override default @language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0058-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "@language": "en",<br>    "de": { "@id": "ex:german", "@language": "de" },<br>    "nolang": { "@id": "ex:nolang", "@language": null }<br>  },<br>  "@id": "http://example.org/test",<br>  "ex:test-default": [<br>    "hello",<br>    1,<br>    true<br>  ],<br>  "de": [<br>    "hallo",<br>    2,<br>    true<br>  ],<br>  "nolang": [<br>    "no language",<br>    3,<br>    false<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 602</span>: override default @language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0058-out.nq">&lt;http://example.org/test&gt; &lt;http://example.org/vocab#german&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#german&gt; "hallo"@de .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#german&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#nolang&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#nolang&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#nolang&gt; "no language" .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#test-default&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#test-default&gt; "hello"@en .<br>&lt;http://example.org/test&gt; &lt;http://example.org/vocab#test-default&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_0f945ac342fd4257729dd2742721e940" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059">
+          Test 0059:
+          <span property="dc:title mf:name">remove @value = null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0059">
+          <p lang="en" property="dc:description">RDF version of expand-0019</p>
+          <div class="example"><div class="example-title"><span>Example 603</span>: remove @value = null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0059-in.jsonld">{<br>  "@context": {<br>    "myproperty": "http://example.com/myproperty"<br>  },<br>  "myproperty": { "@value" : null }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 604</span>: remove @value = null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0059-out.nq"></pre></div>
+        </dd>
+        <dt id="test_f5a6f43502fa2096fdc5d2587eaad8fe" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060">
+          Test 0060:
+          <span property="dc:title mf:name">do not remove @graph if not at top-level</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0060">
+          <p lang="en" property="dc:description">Embedded @graph without @id creates BNode-labeled named graph</p>
+          <div class="example"><div class="example-title"><span>Example 605</span>: do not remove @graph if not at top-level Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0060-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 606</span>: do not remove @graph if not at top-level Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0060-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/contributor&gt; "Writer" .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "My Book" .<br>&lt;http://example.org/test#chapter1&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "Fun" _:b0 .<br>&lt;http://example.org/test#chapter1&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter One" _:b0 .<br>&lt;http://example.org/test#chapter2&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "More fun" _:b0 .<br>&lt;http://example.org/test#chapter2&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter Two" _:b0 .<br>&lt;http://example.org/test#jane&gt; &lt;http://example.org/vocab#authored&gt; _:b0 .<br>&lt;http://example.org/test#jane&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Jane" .<br>&lt;http://example.org/test#john&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "John" .<br>&lt;http://example.org/test#library&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#book&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_c79f996c01ae63c9bdfdc679076c67e3" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061">
+          Test 0061:
+          <span property="dc:title mf:name">do not remove @graph at top-level if not only property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0061">
+          <p lang="en" property="dc:description">RDF version of expand-0021</p>
+          <div class="example"><div class="example-title"><span>Example 607</span>: do not remove @graph at top-level if not only property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0061-in.jsonld">{<br>  "@context": {<br>    "authored": {<br>      "@id": "http://example.org/vocab#authored",<br>      "@type": "@id"<br>    },<br>    "contains": {<br>      "@id": "http://example.org/vocab#contains",<br>      "@type": "@id"<br>    },<br>    "contributor": "http://purl.org/dc/elements/1.1/contributor",<br>    "description": "http://purl.org/dc/elements/1.1/description",<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "title": {<br>      "@id": "http://purl.org/dc/elements/1.1/title"<br>    }<br>  },<br>  "title": "My first graph",<br>  "@graph": [<br>    {<br>      "@id": "http://example.org/test#jane",<br>      "name": "Jane",<br>      "authored": {<br>        "@graph": [<br>          {<br>            "@id": "http://example.org/test#chapter1",<br>            "description": "Fun",<br>            "title": "Chapter One"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter2",<br>            "description": "More fun",<br>            "title": "Chapter Two"<br>          },<br>          {<br>            "@id": "http://example.org/test#chapter3",<br>            "title": "Chapter Three"<br>          }<br>        ]<br>      }<br>    },<br>    {<br>      "@id": "http://example.org/test#john",<br>      "name": "John"<br>    },<br>    {<br>      "@id": "http://example.org/test#library",<br>      "contains": {<br>        "@id": "http://example.org/test#book",<br>        "contains": "http://example.org/test#chapter",<br>        "contributor": "Writer",<br>        "title": "My Book"<br>      }<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 608</span>: do not remove @graph at top-level if not only property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0061-out.nq">&lt;http://example.org/test#book&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#chapter&gt; _:b0 .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/contributor&gt; "Writer" _:b0 .<br>&lt;http://example.org/test#book&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "My Book" _:b0 .<br>&lt;http://example.org/test#chapter1&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "Fun" _:b1 .<br>&lt;http://example.org/test#chapter1&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter One" _:b1 .<br>&lt;http://example.org/test#chapter2&gt; &lt;http://purl.org/dc/elements/1.1/description&gt; "More fun" _:b1 .<br>&lt;http://example.org/test#chapter2&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter Two" _:b1 .<br>&lt;http://example.org/test#chapter3&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Chapter Three" _:b1 .<br>&lt;http://example.org/test#jane&gt; &lt;http://example.org/vocab#authored&gt; _:b1 _:b0 .<br>&lt;http://example.org/test#jane&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Jane" _:b0 .<br>&lt;http://example.org/test#john&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "John" _:b0 .<br>&lt;http://example.org/test#library&gt; &lt;http://example.org/vocab#contains&gt; &lt;http://example.org/test#book&gt; _:b0 .<br>_:b0 &lt;http://purl.org/dc/elements/1.1/title&gt; "My first graph" .<br></pre></div>
+        </dd>
+        <dt id="test_80a79ac8ada8ff9a99774d7720417834" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062">
+          Test 0062:
+          <span property="dc:title mf:name">expand value with default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0062">
+          <p lang="en" property="dc:description">RDF version of expand-0022</p>
+          <div class="example"><div class="example-title"><span>Example 609</span>: expand value with default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0062-in.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/term",<br>    "@language": "en"<br>  },<br>  "term": "v"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 610</span>: expand value with default language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0062-out.nq">_:b0 &lt;http://example.com/term&gt; "v"@en .<br></pre></div>
+        </dd>
+        <dt id="test_f4e43da54239d82b948e0ed8b05e2937" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063">
+          Test 0063:
+          <span property="dc:title mf:name">Lists and sets of properties with list/set coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0063">
+          <p lang="en" property="dc:description">RDF version of expand-0023</p>
+          <div class="example"><div class="example-title"><span>Example 611</span>: Lists and sets of properties with list/set coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0063-in.jsonld">{<br>  "@context": {<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "idlist": {"@id": "http://example.com/idlist", "@container": "@list", "@type": "@id"},<br>    "datelist": {"@id": "http://example.com/datelist", "@container": "@list", "@type": "xsd:date"},<br>    "idset": {"@id": "http://example.com/idset", "@container": "@set", "@type": "@id"},<br>    "dateset": {"@id": "http://example.com/dateset", "@container": "@set", "@type": "xsd:date"},<br>    "idprop": {"@id": "http://example.com/idprop", "@type": "@id" },<br>    "dateprop": {"@id": "http://example.com/dateprop", "@type": "xsd:date" },<br>    "idprop2": {"@id": "http://example.com/idprop2", "@type": "@id" },<br>    "dateprop2": {"@id": "http://example.com/dateprop2", "@type": "xsd:date" }<br>  },<br>  "idlist": ["http://example.org/id"],<br>  "datelist": ["2012-04-12"],<br>  "idprop": {"@list": ["http://example.org/id"]},<br>  "dateprop": {"@list": ["2012-04-12"]},<br>  "idset": ["http://example.org/id"],<br>  "dateset": ["2012-04-12"],<br>  "idprop2": {"@set": ["http://example.org/id"]},<br>  "dateprop2": {"@set": ["2012-04-12"]}<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 612</span>: Lists and sets of properties with list/set coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0063-out.nq">_:b0 &lt;http://example.com/datelist&gt; _:b1 .<br>_:b0 &lt;http://example.com/dateprop2&gt; "2012-04-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>_:b0 &lt;http://example.com/dateprop&gt; _:b2 .<br>_:b0 &lt;http://example.com/dateset&gt; "2012-04-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>_:b0 &lt;http://example.com/idlist&gt; _:b3 .<br>_:b0 &lt;http://example.com/idprop2&gt; &lt;http://example.org/id&gt; .<br>_:b0 &lt;http://example.com/idprop&gt; _:b4 .<br>_:b0 &lt;http://example.com/idset&gt; &lt;http://example.org/id&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "2012-04-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "2012-04-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/id&gt; .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/id&gt; .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_8802eb09e077123d3851d94c2209d2a3" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064">
+          Test 0064:
+          <span property="dc:title mf:name">Multiple contexts</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0064">
+          <p lang="en" property="dc:description">RDF version of expand-0024</p>
+          <div class="example"><div class="example-title"><span>Example 613</span>: Multiple contexts Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0064-in.jsonld">{<br>  "@context": [<br>    {<br>      "name": "http://xmlns.com/foaf/0.1/name",<br>      "homepage": {"@id": "http://xmlns.com/foaf/0.1/homepage","@type": "@id"}<br>    },<br>    {"ical": "http://www.w3.org/2002/12/cal/ical#"}<br>  ],<br>  "@id": "http://example.com/speakers#Alice",<br>  "name": "Alice",<br>  "homepage": "http://xkcd.com/177/",<br>  "ical:summary": "Alice Talk",<br>  "ical:location": "Lyon Convention Centre, Lyon, France"<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 614</span>: Multiple contexts Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0064-out.nq">&lt;http://example.com/speakers#Alice&gt; &lt;http://www.w3.org/2002/12/cal/ical#location&gt; "Lyon Convention Centre, Lyon, France" .<br>&lt;http://example.com/speakers#Alice&gt; &lt;http://www.w3.org/2002/12/cal/ical#summary&gt; "Alice Talk" .<br>&lt;http://example.com/speakers#Alice&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://xkcd.com/177/&gt; .<br>&lt;http://example.com/speakers#Alice&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Alice" .<br></pre></div>
+        </dd>
+        <dt id="test_706500bb0daaa202aa1741fe50efe959" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065">
+          Test 0065:
+          <span property="dc:title mf:name">Problematic IRI expansion tests</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0065">
+          <p lang="en" property="dc:description">RDF version of expand-0025</p>
+          <div class="example"><div class="example-title"><span>Example 615</span>: Problematic IRI expansion tests Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0065-in.jsonld">{<br>  "@context": {<br>    "foo": "http://example.com/foo/",<br>    "foo:bar": "http://example.com/bar",<br>    "bar": {"@id": "foo:bar", "@type": "@id"},<br>    "_": "http://example.com/underscore/"<br>  },<br>  "@type": [ "foo", "foo:bar", "_" ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 616</span>: Problematic IRI expansion tests Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0065-out.nq">_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/bar&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/foo/&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/underscore/&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_d1d0955b765af8e4fc2551830a38e732" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066">
+          Test 0066:
+          <span property="dc:title mf:name">Expanding term mapping to @type uses @type syntax</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0066">
+          <p lang="en" property="dc:description">RDF version of expand-0026</p>
+          <div class="example"><div class="example-title"><span>Example 617</span>: Expanding term mapping to @type uses @type syntax Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0066-in.jsonld">{<br>  "@context": {<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {"@id": "@type", "@type": "@id"}<br>  },<br>  "@graph": [<br>    {<br>      "@id": "http://example.com/a",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/b"<br>    }, {<br>      "@id": "http://example.com/c",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [<br>        "http://example.com/d",<br>        "http://example.com/e"<br>      ]<br>    }, {<br>      "@id": "http://example.com/f",<br>      "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "http://example.com/g"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 618</span>: Expanding term mapping to @type uses @type syntax Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0066-out.nq">&lt;http://example.com/a&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/b&gt; .<br>&lt;http://example.com/c&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/d&gt; .<br>&lt;http://example.com/c&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/e&gt; .<br>&lt;http://example.com/f&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/g&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_cc1baa0d34309c9bb3b23954f3cc10d5" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067">
+          Test 0067:
+          <span property="dc:title mf:name">Keep duplicate values in @list and @set</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0067">
+          <p lang="en" property="dc:description">RDF version of expand-0027</p>
+          <div class="example"><div class="example-title"><span>Example 619</span>: Keep duplicate values in @list and @set Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0067-in.jsonld">{<br>  "@context": {<br>    "mylist": {"@id": "http://example.com/mylist", "@container": "@list"},<br>    "myset": {"@id": "http://example.com/myset", "@container": "@set"}<br>  },<br>  "@id": "http://example.org/id",<br>  "mylist": [1, 2, 2, 3],<br>  "myset": [1, 2, 2, 3]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 620</span>: Keep duplicate values in @list and @set Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0067-out.nq">&lt;http://example.org/id&gt; &lt;http://example.com/mylist&gt; _:b0 .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/id&gt; &lt;http://example.com/myset&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b1 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b3 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_1b1178b448543c3bb585363364a922b6" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068">
+          Test 0068:
+          <span property="dc:title mf:name">Use @vocab in properties and @type but not in @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0068">
+          <p lang="en" property="dc:description">RDF version of expand-0028</p>
+          <div class="example"><div class="example-title"><span>Example 621</span>: Use @vocab in properties and @type but not in @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0068-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/vocab#",<br>    "date": { "@type": "dateTime" }<br>  },<br>  "@id": "example1",<br>  "@type": "test",<br>  "date": "2011-01-25T00:00:00Z",<br>  "embed": {<br>    "@id": "example2",<br>    "expandedDate": { "@value": "2012-08-01T00:00:00Z", "@type": "dateTime" }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 622</span>: Use @vocab in properties and @type but not in @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0068-out.nq">&lt;http://json-ld.org/test-suite/tests/example1&gt; &lt;http://example.org/vocab#date&gt; "2011-01-25T00:00:00Z"^^&lt;http://example.org/vocab#dateTime&gt; .<br>&lt;http://json-ld.org/test-suite/tests/example1&gt; &lt;http://example.org/vocab#embed&gt; &lt;http://json-ld.org/test-suite/tests/example2&gt; .<br>&lt;http://json-ld.org/test-suite/tests/example1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/vocab#test&gt; .<br>&lt;http://json-ld.org/test-suite/tests/example2&gt; &lt;http://example.org/vocab#expandedDate&gt; "2012-08-01T00:00:00Z"^^&lt;http://example.org/vocab#dateTime&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_a00226450cd17091a57406ab82936ac2" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069">
+          Test 0069:
+          <span property="dc:title mf:name">Relative IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0069">
+          <p lang="en" property="dc:description">RDF version of expand-0029</p>
+          <div class="example"><div class="example-title"><span>Example 623</span>: Relative IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld">{<br>  "@context": {<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "./../../../useless/../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 624</span>: Relative IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0069-out.nq">&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.example.com/link&gt; _:b0 .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/scheme-relative&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/absolute&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/parent-parent-eq-root&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/still-root&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/parent&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/link&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld#fragment-works&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld?query=works&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/too-many-dots&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/tests/link&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b1 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld#fragment-works&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b10 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/scheme-relative&gt; .<br>_:b10 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/tests/toRdf-0069-in.jsonld?query=works&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b3 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/tests/&gt; .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b4 .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/&gt; .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b5 .<br>_:b5 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/test-suite/parent&gt; .<br>_:b5 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b6 .<br>_:b6 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/parent-parent-eq-root&gt; .<br>_:b6 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b7 .<br>_:b7 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/still-root&gt; .<br>_:b7 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b8 .<br>_:b8 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/too-many-dots&gt; .<br>_:b8 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b9 .<br>_:b9 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://json-ld.org/absolute&gt; .<br>_:b9 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b10 .<br></pre></div>
+        </dd>
+        <dt id="test_eeaacf5020115f8d0ad47dbe4f08c4b6" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070">
+          Test 0070:
+          <span property="dc:title mf:name">Language maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0070">
+          <p lang="en" property="dc:description">RDF version of expand-0030</p>
+          <div class="example"><div class="example-title"><span>Example 625</span>: Language maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0070-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 626</span>: Language maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0070-out.nq">&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "Die Königin"@de .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "Ihre Majestät"@de .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "The Queen"@en .<br></pre></div>
+        </dd>
+        <dt id="test_49552d1b611ba05a6039d325f91e6308" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071">
+          Test 0071:
+          <span property="dc:title mf:name">type-coercion of native types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0071">
+          <p lang="en" property="dc:description">RDF version of expand-0031</p>
+          <div class="example"><div class="example-title"><span>Example 627</span>: type-coercion of native types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0071-in.jsonld">{<br>  "@context": {<br>    "ex": "http://example.org/vocab#",<br>    "xsd": "http://www.w3.org/2001/XMLSchema#",<br>    "ex:integer": { "@type": "xsd:integer" },<br>    "ex:double": { "@type": "xsd:double" },<br>    "ex:boolean": { "@type": "xsd:boolean" }<br>  },<br>  "@id": "http://example.org/test#example1",<br>  "ex:integer": 1,<br>  "ex:double": 123.45,<br>  "ex:boolean": true<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 628</span>: type-coercion of native types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0071-out.nq">&lt;http://example.org/test#example1&gt; &lt;http://example.org/vocab#boolean&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/vocab#double&gt; "1.2345E2"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br>&lt;http://example.org/test#example1&gt; &lt;http://example.org/vocab#integer&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_2ecead478c47e269ad54786ef5f90431" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072">
+          Test 0072:
+          <span property="dc:title mf:name">Mapping a term to null decouples it from @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0072">
+          <p lang="en" property="dc:description">RDF version of expand-0032</p>
+          <div class="example"><div class="example-title"><span>Example 629</span>: Mapping a term to null decouples it from @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0072-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://xmlns.com/foaf/0.1/",<br>    "from": null,<br>    "university": { "@id": null }<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "from": "Italy",<br>  "university": "TU Graz"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 630</span>: Mapping a term to null decouples it from @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0072-out.nq">&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_8c5ab30ee8569d239b22fcb29f621335" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073">
+          Test 0073:
+          <span property="dc:title mf:name">Using @vocab with with type-coercion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0073">
+          <p lang="en" property="dc:description">RDF version of expand-0033</p>
+          <div class="example"><div class="example-title"><span>Example 631</span>: Using @vocab with with type-coercion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0073-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab#",<br>    "homepage": {<br>      "@type": "@id"<br>    },<br>    "created_at": {<br>      "@type": "http://www.w3.org/2001/XMLSchema#date"<br>    }<br>  },<br>  "name": "Markus Lanthaler",<br>  "homepage": "http://www.markus-lanthaler.com/",<br>  "created_at": "2012-10-28"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 632</span>: Using @vocab with with type-coercion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0073-out.nq">_:b0 &lt;http://example.com/vocab#created_at&gt; "2012-10-28"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>_:b0 &lt;http://example.com/vocab#homepage&gt; &lt;http://www.markus-lanthaler.com/&gt; .<br>_:b0 &lt;http://example.com/vocab#name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_e89eb15d8be51fe1ca37636c15300678" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074">
+          Test 0074:
+          <span property="dc:title mf:name">Multiple properties expanding to the same IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0074">
+          <p lang="en" property="dc:description">RDF version of expand-0034</p>
+          <div class="example"><div class="example-title"><span>Example 633</span>: Multiple properties expanding to the same IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0074-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "colliding": "http://example.com/vocab/collidingTerm"<br>  },<br>  "@id": "http://example.com/IriCollissions",<br>  "colliding": [<br>    "value 1",<br>    2<br>  ],<br>  "collidingTerm": [<br>    3,<br>    "four"<br>  ],<br>  "http://example.com/vocab/collidingTerm": 5<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 634</span>: Multiple properties expanding to the same IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0074-out.nq">&lt;http://example.com/IriCollissions&gt; &lt;http://example.com/vocab/collidingTerm&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/IriCollissions&gt; &lt;http://example.com/vocab/collidingTerm&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/IriCollissions&gt; &lt;http://example.com/vocab/collidingTerm&gt; "5"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/IriCollissions&gt; &lt;http://example.com/vocab/collidingTerm&gt; "four" .<br>&lt;http://example.com/IriCollissions&gt; &lt;http://example.com/vocab/collidingTerm&gt; "value 1" .<br></pre></div>
+        </dd>
+        <dt id="test_b58b94f470d0ade75c613b3e170df56c" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075">
+          Test 0075:
+          <span property="dc:title mf:name">Language maps with @vocab, default language, and colliding property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0075">
+          <p lang="en" property="dc:description">RDF version of expand-0035</p>
+          <div class="example"><div class="example-title"><span>Example 635</span>: Language maps with @vocab, default language, and colliding property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0075-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.com/vocab/",<br>    "@language": "it",<br>    "label": {<br>      "@container": "@language"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": {<br>    "en": "The Queen",<br>    "de": [ "Die Königin", "Ihre Majestät" ]<br>  },<br>  "http://example.com/vocab/label": [<br>    "Il re",<br>    { "@value": "The king", "@language": "en" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 636</span>: Language maps with @vocab, default language, and colliding property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0075-out.nq">&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "Die Königin"@de .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "Ihre Majestät"@de .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "Il re"@it .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "The Queen"@en .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "The king"@en .<br></pre></div>
+        </dd>
+        <dt id="test_e6a15d8711361f56df69574bb0a27dbf" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076">
+          Test 0076:
+          <span property="dc:title mf:name">Expanding @index</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0076">
+          <p lang="en" property="dc:description">RDF version of expand-0036</p>
+          <div class="example"><div class="example-title"><span>Example 637</span>: Expanding @index Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0076-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "indexContainer": { "@id": "http://example.com/container", "@container": "@index" }<br>  },<br>  "@id": "http://example.org/indexTest",<br>  "indexContainer": {<br>    "A": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexA"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexA",<br>        "@index": "this overrides the 'A' index from the container"<br>      },<br>      1,<br>      true,<br>      false,<br>      null,<br>      "simple string A",<br>      {<br>        "@value": "typed literal A",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string A",<br>        "@language": "en"<br>      }<br>    ],<br>    "B": "simple string B",<br>    "C": [<br>      {<br>        "@id": "http://example.org/nodeWithoutIndexC"<br>      },<br>      {<br>        "@id": "http://example.org/nodeWithIndexC",<br>        "@index": "this overrides the 'C' index from the container"<br>      },<br>      3,<br>      true,<br>      false,<br>      null,<br>      "simple string C",<br>      {<br>        "@value": "typed literal C",<br>        "@type": "http://example.org/type"<br>      },<br>      {<br>        "@value": "language-tagged string C",<br>        "@language": "en"<br>      }<br>    ]<br>  },<br>  "property": [<br>    {<br>      "@id": "http://example.org/nodeWithoutIndexProp"<br>    },<br>    {<br>      "@id": "http://example.org/nodeWithIndexProp",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": 3,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": true,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": false,<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": null,<br>      "@index": "prop"<br>    },<br>    "simple string no index",<br>    {<br>      "@value": "typed literal Prop",<br>      "@type": "http://example.org/type",<br>      "@index": "prop"<br>    },<br>    {<br>      "@value": "language-tagged string Prop",<br>      "@language": "en",<br>      "@index": "prop"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 638</span>: Expanding @index Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0076-out.nq">&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "language-tagged string A"@en .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "language-tagged string C"@en .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "simple string A" .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "simple string B" .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "simple string C" .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "typed literal A"^^&lt;http://example.org/type&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; "typed literal C"^^&lt;http://example.org/type&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; &lt;http://example.org/nodeWithIndexA&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; &lt;http://example.org/nodeWithIndexC&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; &lt;http://example.org/nodeWithoutIndexA&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/container&gt; &lt;http://example.org/nodeWithoutIndexC&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "3"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "language-tagged string Prop"@en .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "simple string no index" .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; "typed literal Prop"^^&lt;http://example.org/type&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; &lt;http://example.org/nodeWithIndexProp&gt; .<br>&lt;http://example.org/indexTest&gt; &lt;http://example.com/property&gt; &lt;http://example.org/nodeWithoutIndexProp&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_e9ae1ff552df6ddc758aa0775bcf763a" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077">
+          Test 0077:
+          <span property="dc:title mf:name">Expanding @reverse</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0077">
+          <p lang="en" property="dc:description">RDF version of expand-0037</p>
+          <div class="example"><div class="example-title"><span>Example 639</span>: Expanding @reverse Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0077-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "http://xmlns.com/foaf/0.1/knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 640</span>: Expanding @reverse Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0077-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_89d0ccaa59775bc56df54d2cede79476" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078">
+          Test 0078:
+          <span property="dc:title mf:name">Drop blank node predicates by default</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0078">
+          <p lang="en" property="dc:description">Triples with blank node predicates are dropped by default.</p>
+          <div class="example"><div class="example-title"><span>Example 641</span>: Drop blank node predicates by default Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0078-in.jsonld">{<br>  "@context": {<br>    "term": "_:term",<br>    "termId": { "@id": "term", "@type": "@id" }<br>  },<br>  "@id": "_:term",<br>  "@type": "_:term",<br>  "term": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Bx",<br>      "term": "term"<br>    },<br>    "plain value",<br>    {<br>      "@id": "_:term"<br>    }<br>  ],<br>  "termId": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Cx",<br>      "term": "termId"<br>    },<br>    "term:AppendedToBlankNode",<br>    "_:termAppendedToBlankNode",<br>    "relativeIri",<br>    {<br>      "@id": "_:term"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 642</span>: Drop blank node predicates by default Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0078-out.nq">_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; _:b0 .<br></pre></div>
+        </dd>
+        <dt id="test_f875bd6892149503e718fbdbbbd1f08b" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079">
+          Test 0079:
+          <span property="dc:title mf:name">Using terms in a reverse-maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0079">
+          <p lang="en" property="dc:description">RDF version of expand-0039</p>
+          <div class="example"><div class="example-title"><span>Example 643</span>: Using terms in a reverse-maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0079-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 644</span>: Using terms in a reverse-maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0079-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_0782bac62b444acbd8f2f8d8de92cf44" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080">
+          Test 0080:
+          <span property="dc:title mf:name">language and index expansion on non-objects</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0080">
+          <p lang="en" property="dc:description">RDF version of expand-0040</p>
+          <div class="example"><div class="example-title"><span>Example 645</span>: language and index expansion on non-objects Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0080-in.jsonld">{<br>  "@context": {<br>    "vocab": "http://example.com/vocab/",<br>    "label": {<br>      "@id": "vocab:label",<br>      "@container": "@language"<br>    },<br>    "indexes": {<br>      "@id": "vocab:index",<br>      "@container": "@index"<br>    }<br>  },<br>  "@id": "http://example.com/queen",<br>  "label": [<br>    "The Queen"<br>  ],<br>  "indexes":<br>  [<br>    "No",<br>    "indexes",<br>    { "@id": "asTheValueIsntAnObject" }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 646</span>: language and index expansion on non-objects Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0080-out.nq">&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/index&gt; "No" .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/index&gt; "indexes" .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/index&gt; &lt;http://json-ld.org/test-suite/tests/asTheValueIsntAnObject&gt; .<br>&lt;http://example.com/queen&gt; &lt;http://example.com/vocab/label&gt; "The Queen" .<br></pre></div>
+        </dd>
+        <dt id="test_81ea63f14efe66e5752002761d8c0df2" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081">
+          Test 0081:
+          <span property="dc:title mf:name">Reset the default language</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0081">
+          <p lang="en" property="dc:description">RDF version of expand-0041</p>
+          <div class="example"><div class="example-title"><span>Example 647</span>: Reset the default language Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0081-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/property",<br>    "nested": "http://example.com/nested",<br>    "@language": "en"<br>  },<br>  "property": "this is English",<br>  "nested": {<br>    "@context": {<br>      "@language": null<br>    },<br>    "property": "and this is a plain string"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 648</span>: Reset the default language Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0081-out.nq">_:b0 &lt;http://example.com/nested&gt; _:b1 .<br>_:b0 &lt;http://example.com/property&gt; "this is English"@en .<br>_:b1 &lt;http://example.com/property&gt; "and this is a plain string" .<br></pre></div>
+        </dd>
+        <dt id="test_8eed1daa026e471401a0f67894b9a148" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082">
+          Test 0082:
+          <span property="dc:title mf:name">Expanding reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0082">
+          <p lang="en" property="dc:description">RDF version of expand-0042</p>
+          <div class="example"><div class="example-title"><span>Example 649</span>: Expanding reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0082-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "@id": "http://example.com/people/dave",<br>    "name": "Dave Longley"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 650</span>: Expanding reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0082-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_9b7d2dc45c645d8c417ca21ed3801f5a" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083">
+          Test 0083:
+          <span property="dc:title mf:name">Using reverse properties inside a @reverse-container</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0083">
+          <p lang="en" property="dc:description">RDF version of expand-0043</p>
+          <div class="example"><div class="example-title"><span>Example 651</span>: Using reverse properties inside a @reverse-container Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0083-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "isKnownBy": [<br>      {<br>        "@id": "http://example.com/people/dave",<br>        "name": "Dave Longley"<br>      },<br>      {<br>        "@id": "http://example.com/people/gregg",<br>        "name": "Gregg Kellogg"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 652</span>: Using reverse properties inside a @reverse-container Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0083-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/gregg&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/dave&gt; .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/gregg&gt; .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_36d9ea08728417d940baa69b69fe8e6c" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084">
+          Test 0084:
+          <span property="dc:title mf:name">Ensure index maps use language mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0084">
+          <p lang="en" property="dc:description">RDF version of expand-0044</p>
+          <div class="example"><div class="example-title"><span>Example 653</span>: Ensure index maps use language mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0084-in.jsonld">{<br>  "@context": {<br>    "property": { "@id": "http://example.com/vocab/property", "@language": "de" },<br>    "indexMap": { "@id": "http://example.com/vocab/indexMap", "@language": "en", "@container": "@index" }<br>  },<br>  "@id": "http://example.com/node",<br>  "property": [<br>    {<br>      "@id": "http://example.com/propertyValueNode",<br>      "indexMap": {<br>        "expands to english string": "simple string"<br>      }<br>    },<br>    "einfacher String"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 654</span>: Ensure index maps use language mapping Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0084-out.nq">&lt;http://example.com/node&gt; &lt;http://example.com/vocab/property&gt; "einfacher String"@de .<br>&lt;http://example.com/node&gt; &lt;http://example.com/vocab/property&gt; &lt;http://example.com/propertyValueNode&gt; .<br>&lt;http://example.com/propertyValueNode&gt; &lt;http://example.com/vocab/indexMap&gt; "simple string"@en .<br></pre></div>
+        </dd>
+        <dt id="test_5eeb17235d523b053834048ac38b5045" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085">
+          Test 0085:
+          <span property="dc:title mf:name">Top-level value objects are removed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0085">
+          <p lang="en" property="dc:description">RDF version of expand-0045</p>
+          <div class="example"><div class="example-title"><span>Example 655</span>: Top-level value objects are removed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0085-in.jsonld">{<br>    "@value": "free-floating value"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 656</span>: Top-level value objects are removed Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0085-out.nq"></pre></div>
+        </dd>
+        <dt id="test_45ee25605698799757f1e38440f738f1" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086">
+          Test 0086:
+          <span property="dc:title mf:name">Free-floating nodes are removed</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0086">
+          <p lang="en" property="dc:description">RDF version of expand-0046</p>
+          <div class="example"><div class="example-title"><span>Example 657</span>: Free-floating nodes are removed Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0086-in.jsonld">{<br>    "@graph": [<br>        { "@id": "http://example.com/free-floating-node" },<br>        { "@value": "free-floating value object" },<br>        { "@value": "free-floating value language-tagged string",  "@language": "en" },<br>        { "@value": "free-floating value typed value",  "@type": "http://example.com/type" },<br>        "free-floating plain string",<br>        true,<br>        false,<br>        null,<br>        1,<br>        1.5<br>    ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 658</span>: Free-floating nodes are removed Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0086-out.nq"></pre></div>
+        </dd>
+        <dt id="test_562ca6f804c4d517a82a3cf58757c417" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087">
+          Test 0087:
+          <span property="dc:title mf:name">Remove free-floating set values and lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0087">
+          <p lang="en" property="dc:description">RDF version of expand-0047</p>
+          <div class="example"><div class="example-title"><span>Example 659</span>: Remove free-floating set values and lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0087-in.jsonld">{<br>    "@context": {<br>        "property": "http://example.com/property"<br>    },<br>    "@graph": [<br>        {<br>            "@set": [<br>                "free-floating strings in set objects are removed",<br>                {<br>                    "@id": "http://example.com/free-floating-node"<br>                },<br>                {<br>                    "@id": "http://example.com/node",<br>                    "property": "nodes with properties are not removed"<br>                }<br>            ]<br>        },<br>        {<br>            "@list": [<br>                "lists are removed even though they represent an invisible linked structure, they have no real meaning",<br>                {<br>                    "@id": "http://example.com/node-in-free-floating-list",<br>                    "property": "everything inside a free-floating list is removed with the list; also nodes with properties"<br>                }<br>            ]<br>        }<br>    ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 660</span>: Remove free-floating set values and lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0087-out.nq">&lt;http://example.com/node&gt; &lt;http://example.com/property&gt; "nodes with properties are not removed" .<br></pre></div>
+        </dd>
+        <dt id="test_bd8406d2f6e18f3daa86598c46e7b905" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088">
+          Test 0088:
+          <span property="dc:title mf:name">Terms are ignored in @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0088">
+          <p lang="en" property="dc:description">RDF version of expand-0048</p>
+          <div class="example"><div class="example-title"><span>Example 661</span>: Terms are ignored in @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0088-in.jsonld">{<br>  "@context": {<br>    "term": "http://example.com/terms-are-not-considered-in-id",<br>    "compact-iris": "http://example.com/compact-iris-",<br>    "property": "http://example.com/property",<br>    "@vocab": "http://example.org/vocab-is-not-considered-for-id"<br>  },<br>  "@id": "term",<br>  "property": [<br>    {<br>      "@id": "compact-iris:are-considered",<br>      "property": "@id supports the following values: relative, absolute, and compact IRIs"<br>    },<br>    {<br>      "@id": "../parent-node",<br>      "property": "relative IRIs get resolved against the document's base IRI"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 662</span>: Terms are ignored in @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0088-out.nq">&lt;http://example.com/compact-iris-are-considered&gt; &lt;http://example.com/property&gt; "@id supports the following values: relative, absolute, and compact IRIs" .<br>&lt;http://json-ld.org/test-suite/parent-node&gt; &lt;http://example.com/property&gt; "relative IRIs get resolved against the document's base IRI" .<br>&lt;http://json-ld.org/test-suite/tests/term&gt; &lt;http://example.com/property&gt; &lt;http://example.com/compact-iris-are-considered&gt; .<br>&lt;http://json-ld.org/test-suite/tests/term&gt; &lt;http://example.com/property&gt; &lt;http://json-ld.org/test-suite/parent-node&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_d58f7a83ad29b34feac9a8e8c21252a4" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089">
+          Test 0089:
+          <span property="dc:title mf:name">Using strings as value of a reverse property</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0089">
+          <p lang="en" property="dc:description">RDF version of expand-0049</p>
+          <div class="example"><div class="example-title"><span>Example 663</span>: Using strings as value of a reverse property Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0089-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@type": "@id" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    "http://example.com/people/dave",<br>    "http://example.com/people/gregg"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 664</span>: Using strings as value of a reverse property Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0089-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/gregg&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_b39f7afdebfd7bdd269b7bd0718d118c" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090">
+          Test 0090:
+          <span property="dc:title mf:name">Term definitions with prefix separate from prefix definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0090">
+          <p lang="en" property="dc:description">RDF version of expand-0050</p>
+          <div class="example"><div class="example-title"><span>Example 665</span>: Term definitions with prefix separate from prefix definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0090-in.jsonld">{<br>  "@context": {<br>    "issue": { "@id": "http://example.com/issue/", "@type": "@id" },<br>    "issue:raisedBy": { "@container": "@set" }<br>  },<br>  "issue": "/issue/1",<br>  "issue:raisedBy": "Markus"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 666</span>: Term definitions with prefix separate from prefix definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0090-out.nq">_:b0 &lt;http://example.com/issue/&gt; &lt;http://json-ld.org/issue/1&gt; .<br>_:b0 &lt;http://example.com/issue/raisedBy&gt; "Markus" .<br></pre></div>
+        </dd>
+        <dt id="test_d36f0e8be447dc8b0f8169bfe8ad38b9" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091">
+          Test 0091:
+          <span property="dc:title mf:name">Expansion of keyword aliases in term definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0091">
+          <p lang="en" property="dc:description">RDF version of expand-0051</p>
+          <div class="example"><div class="example-title"><span>Example 667</span>: Expansion of keyword aliases in term definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0091-in.jsonld">{<br>  "@context": [<br>    { "id": "@id" },<br>    { "url": "id" }<br>  ],<br>  "url": "/issue/1",<br>  "http://example.com/property": "ok"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 668</span>: Expansion of keyword aliases in term definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0091-out.nq">&lt;http://json-ld.org/issue/1&gt; &lt;http://example.com/property&gt; "ok" .<br></pre></div>
+        </dd>
+        <dt id="test_36432637d7599033790fba08b8b4b475" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092">
+          Test 0092:
+          <span property="dc:title mf:name">@vocab-relative IRIs in term definitions</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0092">
+          <p lang="en" property="dc:description">RDF version of expand-0052</p>
+          <div class="example"><div class="example-title"><span>Example 669</span>: @vocab-relative IRIs in term definitions Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0092-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/",<br>    "property": "vocabRelativeProperty"<br>  },<br>  "property": "must expand to http://example.org/vocabRelativeProperty",<br>  "http://example.org/property": "ok"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 670</span>: @vocab-relative IRIs in term definitions Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0092-out.nq">_:b0 &lt;http://example.org/property&gt; "ok" .<br>_:b0 &lt;http://example.org/vocabRelativeProperty&gt; "must expand to http://example.org/vocabRelativeProperty" .<br></pre></div>
+        </dd>
+        <dt id="test_1fb94bd9e8104abb12ea5bcbf778ce36" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093">
+          Test 0093:
+          <span property="dc:title mf:name">Expand absolute IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0093">
+          <p lang="en" property="dc:description">RDF version of expand-0053</p>
+          <div class="example"><div class="example-title"><span>Example 671</span>: Expand absolute IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0093-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"}<br>  },<br>  "term": "http://example.org/enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 672</span>: Expand absolute IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0093-out.nq">_:b0 &lt;http://example.org/term&gt; &lt;http://example.org/enum&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_6da667dbd9855604d11f213f8f005a0c" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094">
+          Test 0094:
+          <span property="dc:title mf:name">Expand term with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0094">
+          <p lang="en" property="dc:description">RDF version of expand-0054</p>
+          <div class="example"><div class="example-title"><span>Example 673</span>: Expand term with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0094-in.jsonld">{<br>  "@context": {<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"},<br>    "enum": {"@id": "http://example.org/enum"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 674</span>: Expand term with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0094-out.nq">_:b0 &lt;http://example.org/term&gt; &lt;http://example.org/enum&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_56ff275581fd0ebc31d068b515c5400e" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095">
+          Test 0095:
+          <span property="dc:title mf:name">Expand @vocab-relative term with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0095">
+          <p lang="en" property="dc:description">RDF version of expand-0055</p>
+          <div class="example"><div class="example-title"><span>Example 675</span>: Expand @vocab-relative term with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0095-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/",<br>    "term": {"@id": "http://example.org/term", "@type": "@vocab"}<br>  },<br>  "term": "enum"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 676</span>: Expand @vocab-relative term with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0095-out.nq">_:b0 &lt;http://example.org/term&gt; &lt;http://example.org/enum&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_24e84cf52d2a31012a78143b5ad54451" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096">
+          Test 0096:
+          <span property="dc:title mf:name">Use terms with @type: @vocab but not with @type: @id</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0096">
+          <p lang="en" property="dc:description">RDF version of expand-0056</p>
+          <div class="example"><div class="example-title"><span>Example 677</span>: Use terms with @type: @vocab but not with @type: @id Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0096-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "homepage": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@vocab" },<br>    "link": { "@id": "http://example.com/link", "@type": "@id" },<br>    "MarkusHomepage": "http://www.markus-lanthaler.com/",<br>    "relative-iri": "http://example.com/error-if-this-is-used-for-link"<br>  },<br>  "@id": "http://me.markus-lanthaler.com/",<br>  "name": "Markus Lanthaler",<br>  "homepage": "MarkusHomepage",<br>  "link": "relative-iri"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 678</span>: Use terms with @type: @vocab but not with @type: @id Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0096-out.nq">&lt;http://me.markus-lanthaler.com/&gt; &lt;http://example.com/link&gt; &lt;http://json-ld.org/test-suite/tests/relative-iri&gt; .<br>&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/homepage&gt; &lt;http://www.markus-lanthaler.com/&gt; .<br>&lt;http://me.markus-lanthaler.com/&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_a83a592b911486ed5f7b316ba80eb32e" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097">
+          Test 0097:
+          <span property="dc:title mf:name">Expand relative IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0097">
+          <p lang="en" property="dc:description">RDF version of expand-0057</p>
+          <div class="example"><div class="example-title"><span>Example 679</span>: Expand relative IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0097-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" }<br>  },<br>  "term": "not-a-term-thus-a-relative-IRI"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 680</span>: Expand relative IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0097-out.nq">_:b0 &lt;http://example.org/term&gt; &lt;http://json-ld.org/test-suite/tests/not-a-term-thus-a-relative-IRI&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_9f4cfb0c53764edf9f44afed8ed32103" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098">
+          Test 0098:
+          <span property="dc:title mf:name">Expand compact IRI with @type: @vocab</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0098">
+          <p lang="en" property="dc:description">RDF version of expand-0058</p>
+          <div class="example"><div class="example-title"><span>Example 681</span>: Expand compact IRI with @type: @vocab Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0098-in.jsonld">{<br>  "@context": {<br>    "term": { "@id": "http://example.org/term", "@type": "@vocab" },<br>    "prefix": "http://example.com/vocab#"<br>  },<br>  "term": "prefix:suffix"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 682</span>: Expand compact IRI with @type: @vocab Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0098-out.nq">_:b0 &lt;http://example.org/term&gt; &lt;http://example.com/vocab#suffix&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_d216584695db2f9150faa8864911209e" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099">
+          Test 0099:
+          <span property="dc:title mf:name">Reset @vocab by setting it to null</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0099">
+          <p lang="en" property="dc:description">RDF version of expand-0059</p>
+          <div class="example"><div class="example-title"><span>Example 683</span>: Reset @vocab by setting it to null Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0099-in.jsonld">{<br>  "@context": {<br>    "@vocab": "http://example.org/vocab#"<br>  },<br>  "@id": "example-with-vocab",<br>  "@type": "vocab-prefixed",<br>  "property": "property expanded using @vocab",<br>  "embed": {<br>    "@context": {<br>      "@vocab": null<br>    },<br>    "@id": "example-vocab-reset",<br>    "@type": "document-relative",<br>    "property": "@vocab reset, property will be dropped"<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 684</span>: Reset @vocab by setting it to null Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0099-out.nq">&lt;http://json-ld.org/test-suite/tests/example-vocab-reset&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/document-relative&gt; .<br>&lt;http://json-ld.org/test-suite/tests/example-with-vocab&gt; &lt;http://example.org/vocab#embed&gt; &lt;http://json-ld.org/test-suite/tests/example-vocab-reset&gt; .<br>&lt;http://json-ld.org/test-suite/tests/example-with-vocab&gt; &lt;http://example.org/vocab#property&gt; "property expanded using @vocab" .<br>&lt;http://json-ld.org/test-suite/tests/example-with-vocab&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/vocab#vocab-prefixed&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_461e87c942689a8b339dd69eb6b1c636" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100">
+          Test 0100:
+          <span property="dc:title mf:name">Overwrite document base with @base and reset it again</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0100">
+          <p lang="en" property="dc:description">RDF version of expand-0060</p>
+          <div class="example"><div class="example-title"><span>Example 685</span>: Overwrite document base with @base and reset it again Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0100-in.jsonld">{<br>  "@context": {<br>    "property": "http://example.com/vocab#property"<br>  },<br>  "@id": "../document-relative",<br>  "@type": "#document-relative",<br>  "property": {<br>    "@context": {<br>      "@base": "http://example.org/test/"<br>    },<br>    "@id": "../document-base-overwritten",<br>    "@type": "#document-base-overwritten",<br>    "property": [<br>      {<br>        "@context": null,<br>        "@id": "../document-relative",<br>        "@type": "#document-relative",<br>        "property": "context completely reset, drops property"<br>      },<br>      {<br>        "@context": {<br>          "@base": null<br>        },<br>        "@id": "../document-relative",<br>        "@type": "#document-relative",<br>        "property": "@base is set to none"<br>      }<br>    ]<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 686</span>: Overwrite document base with @base and reset it again Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0100-out.nq">&lt;http://example.org/document-base-overwritten&gt; &lt;http://example.com/vocab#property&gt; &lt;http://json-ld.org/test-suite/document-relative&gt; .<br>&lt;http://example.org/document-base-overwritten&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/test/#document-base-overwritten&gt; .<br>&lt;http://json-ld.org/test-suite/document-relative&gt; &lt;http://example.com/vocab#property&gt; &lt;http://example.org/document-base-overwritten&gt; .<br>&lt;http://json-ld.org/test-suite/document-relative&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://json-ld.org/test-suite/tests/toRdf-0100-in.jsonld#document-relative&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_e70e4db9878d081e1a3ac5a826803ea0" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101">
+          Test 0101:
+          <span property="dc:title mf:name">Coercing native types to arbitrary datatypes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0101">
+          <p lang="en" property="dc:description">RDF version of expand-0061</p>
+          <div class="example"><div class="example-title"><span>Example 687</span>: Coercing native types to arbitrary datatypes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0101-in.jsonld">{<br>  "@context": {<br>    "property": {<br>      "@id": "http://example.com/property",<br>      "@type": "http://example.com/datatype"<br>    }<br>  },<br>  "property": [ 1, true, false, 5.1 ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 688</span>: Coercing native types to arbitrary datatypes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0101-out.nq">_:b0 &lt;http://example.com/property&gt; "1"^^&lt;http://example.com/datatype&gt; .<br>_:b0 &lt;http://example.com/property&gt; "5.1E0"^^&lt;http://example.com/datatype&gt; .<br>_:b0 &lt;http://example.com/property&gt; "false"^^&lt;http://example.com/datatype&gt; .<br>_:b0 &lt;http://example.com/property&gt; "true"^^&lt;http://example.com/datatype&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_b6e80e99e993f7dbbba0e209405ec362" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102">
+          Test 0102:
+          <span property="dc:title mf:name">Various relative IRIs with with @base</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0102">
+          <p lang="en" property="dc:description">RDF version of expand-0062</p>
+          <div class="example"><div class="example-title"><span>Example 689</span>: Various relative IRIs with with @base Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0102-in.jsonld">{<br>  "@context": {<br>    "@base": "http://example.com/some/deep/directory/and/file#with-a-fragment",<br>    "links": { "@id": "http://www.example.com/link", "@type": "@id", "@container": "@list" }<br>  },<br>  "@id": "relativeIris",<br>  "@type": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative"<br>  ],<br>  "links": [<br>    "link",<br>    "#fragment-works",<br>    "?query=works",<br>    "./",<br>    "../",<br>    "../parent",<br>    "../../parent-parent-eq-root",<br>    "./../../../../../still-root",<br>    "../.././.././../../too-many-dots",<br>    "/absolute",<br>    "//example.org/scheme-relative",<br>    "//example.org/../scheme-relative",<br>    "//example.org/.././useless/../../scheme-relative"<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 690</span>: Various relative IRIs with with @base Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0102-out.nq">&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.example.com/link&gt; _:b0 .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/absolute&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/and/&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/and/file#fragment-works&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/and/file?query=works&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/and/link&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/directory/parent&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/some/deep/parent-parent-eq-root&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/still-root&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/too-many-dots&gt; .<br>&lt;http://example.com/some/deep/directory/and/relativeIris&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/scheme-relative&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/and/link&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b1 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/and/file#fragment-works&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b10 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/scheme-relative&gt; .<br>_:b10 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b11 .<br>_:b11 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/scheme-relative&gt; .<br>_:b11 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b12 .<br>_:b12 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.org/scheme-relative&gt; .<br>_:b12 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/and/file?query=works&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b3 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/and/&gt; .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b4 .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/&gt; .<br>_:b4 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b5 .<br>_:b5 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/directory/parent&gt; .<br>_:b5 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b6 .<br>_:b6 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/some/deep/parent-parent-eq-root&gt; .<br>_:b6 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b7 .<br>_:b7 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/still-root&gt; .<br>_:b7 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b8 .<br>_:b8 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/too-many-dots&gt; .<br>_:b8 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b9 .<br>_:b9 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/absolute&gt; .<br>_:b9 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b10 .<br></pre></div>
+        </dd>
+        <dt id="test_0cd0250c362454badc596e4db0a51c93" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103">
+          Test 0103:
+          <span property="dc:title mf:name">Expand a reverse property with an index-container</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0103">
+          <p lang="en" property="dc:description">RDF version of expand-0063</p>
+          <div class="example"><div class="example-title"><span>Example 691</span>: Expand a reverse property with an index-container Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0103-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows", "@container": "@index" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": {<br>    "Dave": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "Gregg": {<br>      "@id": "http://example.com/people/gregg",<br>      "name": "Gregg Kellogg"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 692</span>: Expand a reverse property with an index-container Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0103-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/gregg&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/gregg&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_291b46ada36991f9ecaa2de34643f6a7" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104">
+          Test 0104:
+          <span property="dc:title mf:name">Expand reverse property whose values are unlabeled blank nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0104">
+          <p lang="en" property="dc:description">RDF version of expand-0064</p>
+          <div class="example"><div class="example-title"><span>Example 693</span>: Expand reverse property whose values are unlabeled blank nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0104-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "isKnownBy": { "@reverse": "http://xmlns.com/foaf/0.1/knows" }<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "isKnownBy": [<br>    {<br>      "name": "Dave Longley"<br>    },<br>    {<br>      "name": "Gregg Kellogg"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 694</span>: Expand reverse property whose values are unlabeled blank nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0104-out.nq">&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br>_:b0 &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>_:b0 &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>_:b1 &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>_:b1 &lt;http://xmlns.com/foaf/0.1/name&gt; "Gregg Kellogg" .<br></pre></div>
+        </dd>
+        <dt id="test_b719004ae53d86514a00bec8af1d2f5f" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105">
+          Test 0105:
+          <span property="dc:title mf:name">Keys that are not mapped to an IRI in a reverse-map are dropped</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0105">
+          <p lang="en" property="dc:description">RDF version of expand-0065</p>
+          <div class="example"><div class="example-title"><span>Example 695</span>: Keys that are not mapped to an IRI in a reverse-map are dropped Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0105-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "relative-iri": {<br>      "@id": "relative-node",<br>      "name": "Keys that are not mapped to an IRI in a reverse-map are dropped"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 696</span>: Keys that are not mapped to an IRI in a reverse-map are dropped Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0105-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br></pre></div>
+        </dd>
+        <dt id="test_270a2ef1262605818ece2781cf41cb87" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106">
+          Test 0106:
+          <span property="dc:title mf:name">Use @vocab to expand keys in reverse-maps</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0106">
+          <p lang="en" property="dc:description">RDF version of expand-0066</p>
+          <div class="example"><div class="example-title"><span>Example 697</span>: Use @vocab to expand keys in reverse-maps Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0106-in.jsonld">{<br>  "@context": {<br>    "name": "http://xmlns.com/foaf/0.1/name",<br>    "knows": "http://xmlns.com/foaf/0.1/knows",<br>    "@vocab": "http://example.com/vocab/"<br>  },<br>  "@id": "http://example.com/people/markus",<br>  "name": "Markus Lanthaler",<br>  "@reverse": {<br>    "knows": {<br>      "@id": "http://example.com/people/dave",<br>      "name": "Dave Longley"<br>    },<br>    "noTerm": {<br>      "@id": "relative-node",<br>      "name": "Compact keys using @vocab"<br>    }<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 698</span>: Use @vocab to expand keys in reverse-maps Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0106-out.nq">&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/knows&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://example.com/people/dave&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Dave Longley" .<br>&lt;http://example.com/people/markus&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Markus Lanthaler" .<br>&lt;http://json-ld.org/test-suite/tests/relative-node&gt; &lt;http://example.com/vocab/noTerm&gt; &lt;http://example.com/people/markus&gt; .<br>&lt;http://json-ld.org/test-suite/tests/relative-node&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; "Compact keys using @vocab" .<br></pre></div>
+        </dd>
+        <dt id="test_fec263a457d4f96320d88ea8b27d2ddb" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107">
+          Test 0107:
+          <span property="dc:title mf:name">prefix:://sufffix not a compact IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0107">
+          <p lang="en" property="dc:description">RDF version of expand-0067</p>
+          <div class="example"><div class="example-title"><span>Example 699</span>: prefix:://sufffix not a compact IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0107-in.jsonld">{<br>  "@context": {<br>    "http": "http://example.com/this-prefix-would-overwrite-all-http-iris"<br>  },<br>  "@id": "http://example.org/node1",<br>  "@type": "http://example.org/type",<br>  "http://example.org/property": "all these IRIs remain unchanged because they are interpreted as absolute IRIs"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 700</span>: prefix:://sufffix not a compact IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0107-out.nq">&lt;http://example.org/node1&gt; &lt;http://example.org/property&gt; "all these IRIs remain unchanged because they are interpreted as absolute IRIs" .<br>&lt;http://example.org/node1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.org/type&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_de7ba43601853703e6d33aa8f57a3706" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108">
+          Test 0108:
+          <span property="dc:title mf:name">_::sufffix not a compact IRI</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0108">
+          <p lang="en" property="dc:description">RDF version of expand-0068</p>
+          <div class="example"><div class="example-title"><span>Example 701</span>: _::sufffix not a compact IRI Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0108-in.jsonld">{<br>  "@context": {<br>    "_": "http://example.com/this-prefix-would-overwrite-all-blank-node-identifiers"<br>  },<br>  "@id": "_:node1",<br>  "@type": "_:type",<br>  "_:property": "all these IRIs remain unchanged because they are interpreted as blank node identifiers"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 702</span>: _::sufffix not a compact IRI Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0108-out.nq">_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; _:b0 .<br></pre></div>
+        </dd>
+        <dt id="test_183188bc11a0b730f6b73cdeb20a0c85" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109">
+          Test 0109:
+          <span property="dc:title mf:name">Compact IRI as term with type mapping</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0109">
+          <p lang="en" property="dc:description">RDF version of expand-0069</p>
+          <div class="example"><div class="example-title"><span>Example 703</span>: Compact IRI as term with type mapping Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0109-in.jsonld">{<br>  "@context": {<br>    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",<br>    "rdfs:subClassOf": { "@id": "rdfs:subClassOf", "@type": "@id" }<br>  },<br>  "@id": "http://example.com/vocab#class",<br>  "@type": "rdfs:Class",<br>  "rdfs:subClassOf": "http://example.com/vocab#someOtherClass"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 704</span>: Compact IRI as term with type mapping Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0109-out.nq">&lt;http://example.com/vocab#class&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2000/01/rdf-schema#Class&gt; .<br>&lt;http://example.com/vocab#class&gt; &lt;http://www.w3.org/2000/01/rdf-schema#subClassOf&gt; &lt;http://example.com/vocab#someOtherClass&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_256a22d52c293f0f6a480e36e6bcad47" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110">
+          Test 0110:
+          <span property="dc:title mf:name">Redefine compact IRI with itself</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0110">
+          <p lang="en" property="dc:description">RDF version of expand-0070</p>
+          <div class="example"><div class="example-title"><span>Example 705</span>: Redefine compact IRI with itself Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0110-in.jsonld">{<br>  "@context": {<br>    "prefix": "http://www.example.org/vocab#",<br>    "prefix:foo": "prefix:foo"<br>  },<br>  "@id": "http://example.com/vocab#id",<br>  "@type": "prefix:Class",<br>  "prefix:foo": "bar"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 706</span>: Redefine compact IRI with itself Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0110-out.nq">&lt;http://example.com/vocab#id&gt; &lt;http://www.example.org/vocab#foo&gt; "bar" .<br>&lt;http://example.com/vocab#id&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.example.org/vocab#Class&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_b1570a4d8c0701d229685858dd1b0942" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111">
+          Test 0111:
+          <span property="dc:title mf:name">Redefine terms looking like compact IRIs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0111">
+          <p lang="en" property="dc:description">RDF version of expand-0071</p>
+          <div class="example"><div class="example-title"><span>Example 707</span>: Redefine terms looking like compact IRIs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0111-in.jsonld">{<br>  "@context": [<br>    {<br>      "v": "http://example.com/vocab#",<br>      "v:term": "v:somethingElse",<br>      "v:termId": { "@id": "v:somethingElseId" }<br>    },<br>    {<br>      "v:term": "v:term",<br>      "v:termId": { "@id": "v:termId" }<br>    }<br>  ],<br>  "v:term": "value of v:term",<br>  "v:termId": "value of v:termId"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 708</span>: Redefine terms looking like compact IRIs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0111-out.nq">_:b0 &lt;http://example.com/vocab#term&gt; "value of v:term" .<br>_:b0 &lt;http://example.com/vocab#termId&gt; "value of v:termId" .<br></pre></div>
+        </dd>
+        <dt id="test_39c51c9bcb1b2491c43f6e0e59c28cc7" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112">
+          Test 0112:
+          <span property="dc:title mf:name">Redefine term using @vocab, not itself</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0112">
+          <p lang="en" property="dc:description">RDF version of expand-0072</p>
+          <div class="example"><div class="example-title"><span>Example 709</span>: Redefine term using @vocab, not itself Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0112-in.jsonld">{<br>  "@context": [<br>    {<br>      "v": "http://example.com/vocab#",<br>      "term": "v:somethingElse"<br>    },<br>    {<br>      "@vocab": "http://example.com/anotherVocab#",<br>      "term": "term"<br>    }<br>  ],<br>  "term": "value of term"<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 710</span>: Redefine term using @vocab, not itself Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0112-out.nq">_:b0 &lt;http://example.com/anotherVocab#term&gt; "value of term" .<br></pre></div>
+        </dd>
+        <dt id="test_c53e957bf8df01ea8e6bdd4b364c730d" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113">
+          Test 0113:
+          <span property="dc:title mf:name">Dataset with a IRI named graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0113">
+          <p lang="en" property="dc:description">Basic use of creating a named graph using an IRI name</p>
+          <div class="example"><div class="example-title"><span>Example 711</span>: Dataset with a IRI named graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0113-in.jsonld">{<br>  "@id": "http://example/g",<br>  "@graph": {<br>    "@id": "http://example/s",<br>    "http://example/p": {"@id": "http://example/o"}<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 712</span>: Dataset with a IRI named graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0113-out.nq">&lt;http://example/s&gt; &lt;http://example/p&gt; &lt;http://example/o&gt; &lt;http://example/g&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_a0d080556890ca48ba445e60a9d24642" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114">
+          Test 0114:
+          <span property="dc:title mf:name">Dataset with a IRI named graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0114">
+          <p lang="en" property="dc:description">Basic use of creating a named graph using a BNode name</p>
+          <div class="example"><div class="example-title"><span>Example 713</span>: Dataset with a IRI named graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0114-in.jsonld">{<br>  "@id": "_:g",<br>  "@graph": {<br>    "@id": "http://example/s",<br>    "http://example/p": {"@id": "http://example/o"}<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 714</span>: Dataset with a IRI named graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0114-out.nq">&lt;http://example/s&gt; &lt;http://example/p&gt; &lt;http://example/o&gt; _:b0 .<br></pre></div>
+        </dd>
+        <dt id="test_2fe7ebc1f03dee9e80d5715894949748" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115">
+          Test 0115:
+          <span property="dc:title mf:name">Dataset with a default and two named graphs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0115">
+          <p lang="en" property="dc:description">Dataset with a default and two named graphs (IRI and BNode)</p>
+          <div class="example"><div class="example-title"><span>Example 715</span>: Dataset with a default and two named graphs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0115-in.jsonld">{<br>  "@graph": [{<br>    "@id": "http://example/s0",<br>    "http://example/p0": {"@id": "http://example/o0"}<br>  },<br>  {<br>    "@id": "http://example/g",<br>    "@graph": {<br>      "@id": "http://example/s1",<br>      "http://example/p1": {"@id": "http://example/o1"}<br>    }<br>  },<br>  {<br>    "@id": "_:g",<br>    "@graph": {<br>      "@id": "http://example/s2",<br>      "http://example/p2": {"@id": "http://example/o2"}<br>    }<br>  }]<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 716</span>: Dataset with a default and two named graphs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0115-out.nq">&lt;http://example/s0&gt; &lt;http://example/p0&gt; &lt;http://example/o0&gt; .<br>&lt;http://example/s1&gt; &lt;http://example/p1&gt; &lt;http://example/o1&gt; &lt;http://example/g&gt; .<br>&lt;http://example/s2&gt; &lt;http://example/p2&gt; &lt;http://example/o2&gt; _:b0 .<br></pre></div>
+        </dd>
+        <dt id="test_1a93fb81733466bfaabdeef82306f1f2" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116">
+          Test 0116:
+          <span property="dc:title mf:name">Dataset from node with embedded named graph</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0116">
+          <p lang="en" property="dc:description">Embedding @graph in a node creates a named graph</p>
+          <div class="example"><div class="example-title"><span>Example 717</span>: Dataset from node with embedded named graph Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0116-in.jsonld">{<br>  "@id": "http://example/s0",<br>  "http://example/p0": {"@id": "http://example/o0"},<br>  "@graph": {<br>    "@id": "http://example/s1",<br>    "http://example/p1": {"@id": "http://example/o1"}<br>  }<br>}</pre></div>
+          <div class="example"><div class="example-title"><span>Example 718</span>: Dataset from node with embedded named graph Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0116-out.nq">&lt;http://example/s0&gt; &lt;http://example/p0&gt; &lt;http://example/o0&gt; .<br>&lt;http://example/s1&gt; &lt;http://example/p1&gt; &lt;http://example/o1&gt; &lt;http://example/s0&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_781b3710e1313ea60f5e25db0a5b5238" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117">
+          Test 0117:
+          <span property="dc:title mf:name">Dataset from node with embedded named graph (bnode)</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0117">
+          <p lang="en" property="dc:description">Embedding @graph in a node creates a named graph. Graph name is created if there is no subject</p>
+          <div class="example"><div class="example-title"><span>Example 719</span>: Dataset from node with embedded named graph (bnode) Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0117-in.jsonld">{<br>  "http://example/p0": {"@id": "http://example/o0"},<br>  "@graph": {<br>    "@id": "http://example/s1",<br>    "http://example/p1": {"@id": "http://example/o1"}<br>  }<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 720</span>: Dataset from node with embedded named graph (bnode) Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0117-out.nq">&lt;http://example/s1&gt; &lt;http://example/p1&gt; &lt;http://example/o1&gt; _:b0 .<br>_:b0 &lt;http://example/p0&gt; &lt;http://example/o0&gt; .<br></pre></div>
+        </dd>
+        <dt id="test_62d35540b74360eb216acec8dd0298fa" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118">
+          Test 0118:
+          <span property="dc:title mf:name">produce generalized RDF flag</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0118">
+          <p lang="en" property="dc:description">Triples with blank node predicates are not dropped if the produce generalized RDF flag is true.</p>
+          <div class="example"><div class="example-title"><span>Example 721</span>: produce generalized RDF flag Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0118-in.jsonld">{<br>  "@context": {<br>    "term": "_:term",<br>    "termId": { "@id": "term", "@type": "@id" }<br>  },<br>  "@id": "_:term",<br>  "@type": "_:term",<br>  "term": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Bx",<br>      "term": "term"<br>    },<br>    "plain value",<br>    {<br>      "@id": "_:term"<br>    }<br>  ],<br>  "termId": [<br>    {<br>      "@id": "_:term",<br>      "@type": "term"<br>    },<br>    {<br>      "@id": "_:Cx",<br>      "term": "termId"<br>    },<br>    "term:AppendedToBlankNode",<br>    "_:termAppendedToBlankNode",<br>    "relativeIri",<br>    {<br>      "@id": "_:term"<br>    }<br>  ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 722</span>: produce generalized RDF flag Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0118-out.nq">_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; _:b0 .<br>_:b0 _:b0 "plain value" .<br>_:b0 _:b0 &lt;http://json-ld.org/test-suite/tests/relativeIri&gt; .<br>_:b0 _:b0 _:b0 .<br>_:b0 _:b0 _:b1 .<br>_:b0 _:b0 _:b2 .<br>_:b0 _:b0 _:b3 .<br>_:b1 _:b0 "term" .<br>_:b2 _:b0 "termId" .<br></pre></div>
+        </dd>
+        <dt id="test_09a62cb116987d63e3118dcfc315feb8" resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119">
+          Test 0119:
+          <span property="dc:title mf:name">Blank nodes with reverse properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/toRdf-manifest.jsonld#t0119">
+          <p lang="en" property="dc:description">Proper (re-)labeling of blank nodes if used with reverse properties.</p>
+          <div class="example"><div class="example-title"><span>Example 723</span>: Blank nodes with reverse properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/toRdf-0119-in.jsonld">{<br>  "@context": {<br>    "foo": "http://example.org/foo",<br>    "bar": { "@reverse": "http://example.org/bar", "@type": "@id" }<br>  },<br>  "foo": "Foo",<br>  "bar": [ "http://example.org/origin", "_:b0" ]<br>}<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 724</span>: Blank nodes with reverse properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/toRdf-0119-out.nq">&lt;http://example.org/origin&gt; &lt;http://example.org/bar&gt; _:b0 .<br>_:b0 &lt;http://example.org/foo&gt; "Foo" .<br>_:b1 &lt;http://example.org/bar&gt; _:b0 .<br></pre></div>
+        </dd>
+      </dl>
+      <dl inlist="inlist" property="mf:entries" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld">
+        <dt id="test_a5ebfe589bd62d1029790695808f8ff9" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001">
+          Test 0001:
+          <span property="dc:title mf:name">Object Lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0001">
+          <p lang="en" property="dc:description">Tests generation using different types of objects.</p>
+          <div class="example"><div class="example-title"><span>Example 725</span>: Object Lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0001-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop1&gt; &lt;http://example.com/Obj1&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "Plain" .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "2012-05-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "English"@en .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 726</span>: Object Lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0001-out.jsonld">[<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "@type": ["http://example.com/Type"],<br>    "http://example.com/prop1": [{"@id": "http://example.com/Obj1"}],<br>    "http://example.com/prop2": [<br>      {"@value": "Plain"},<br>      {"@value": "2012-05-12", "@type": "http://www.w3.org/2001/XMLSchema#date"},<br>      {"@value": "English", "@language": "en"}<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e31f3f7d5a78ca4157f582fbfde32707" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002">
+          Test 0002:
+          <span property="dc:title mf:name">Native Types</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0002">
+          <p lang="en" property="dc:description">Do not use native datatypes for xsd:boolean, xsd:integer, and xsd:double by default.</p>
+          <div class="example"><div class="example-title"><span>Example 727</span>: Native Types Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0002-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1.1"^^&lt;http://www.w3.org/2001/XMLSchema#decimal&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1.1E-1"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 728</span>: Native Types Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0002-out.jsonld">[<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "http://example.com/prop": [<br>      {<br>        "@value": "true",<br>        "@type": "http://www.w3.org/2001/XMLSchema#boolean"<br>      },<br>      {<br>        "@value": "false",<br>        "@type": "http://www.w3.org/2001/XMLSchema#boolean"<br>      },<br>      {<br>        "@value": "1",<br>        "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>      },<br>      {<br>        "@value": "1.1",<br>        "@type": "http://www.w3.org/2001/XMLSchema#decimal"<br>      },<br>      {<br>        "@value": "1.1E-1",<br>        "@type": "http://www.w3.org/2001/XMLSchema#double"<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_3a224095a1c11373d67e090c0ffe8e12" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003">
+          Test 0003:
+          <span property="dc:title mf:name">BNodes and references</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0003">
+          <p lang="en" property="dc:description">BNode name generation and references between resources.</p>
+          <div class="example"><div class="example-title"><span>Example 729</span>: BNodes and references Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0003-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/SubType&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/ref&gt; _:a .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/ref&gt; &lt;http://example.com/Subj2&gt; .<br>&lt;http://example.com/Subj2&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; .<br>&lt;http://example.com/Subj2&gt; &lt;http://example.com/ref&gt; &lt;http://example.com/Subj1&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 730</span>: BNodes and references Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0003-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "@type": ["http://example.com/SubType"]<br>  },<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "@type": ["http://example.com/Type"],<br>    "http://example.com/ref": [<br>      {"@id": "_:a"},<br>      {"@id": "http://example.com/Subj2"}<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com/Subj2",<br>    "@type": ["http://example.com/Type"],<br>    "http://example.com/ref": [{"@id": "http://example.com/Subj1"}]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_0a8656b8d0f4b81fd6bd26bf4e1cc77e" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004">
+          Test 0004:
+          <span property="dc:title mf:name">Lists</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0004">
+          <p lang="en" property="dc:description">Multiple lists with different types of element.</p>
+          <div class="example"><div class="example-title"><span>Example 731</span>: Lists Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0004-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "apple" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "bananna" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/literalList&gt; _:a .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/emptyList&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; &lt;http://example.com/iri&gt; .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/iriList&gt; _:c .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 732</span>: Lists Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0004-out.jsonld">[<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "@type": ["http://example.com/Type"],<br>    "http://example.com/literalList": [{<br>      "@list": [<br>        {"@value": "apple"},<br>        {"@value": "bananna"}<br>      ]<br>    }],<br>    "http://example.com/emptyList": [{<br>      "@list": []<br>    }],<br>    "http://example.com/iriList": [{<br>      "@list": [{"@id": "http://example.com/iri"}]<br>    }]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_448e0492a0dc73c71cc3b21fd800f1b9" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005">
+          Test 0005:
+          <span property="dc:title mf:name">Document with list</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0005">
+          <p lang="en" property="dc:description">Uses a named graph containing a list.</p>
+          <div class="example"><div class="example-title"><span>Example 733</span>: Document with list Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0005-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; &lt;http://example.com/U&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/ref&gt; &lt;http://example.com/U&gt; &lt;http://example.com/U&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" &lt;http://example.com/U&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b &lt;http://example.com/U&gt; .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" &lt;http://example.com/U&gt; .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; &lt;http://example.com/U&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/list&gt; _:a &lt;http://example.com/U&gt; .<br>&lt;http://example.com/U&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Graph&gt; .<br>&lt;http://example.com/U&gt; &lt;http://example.com/name&gt; "Graph" .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 734</span>: Document with list Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0005-out.jsonld">[<br>  {<br>    "@id": "http://example.com/U",<br>    "@graph": [<br>      {<br>        "@id": "http://example.com/Subj1",<br>        "@type": ["http://example.com/Type"],<br>        "http://example.com/ref": [{"@id": "http://example.com/U"}],<br>        "http://example.com/list": [{<br>          "@list": [<br>            {"@value": "a"},<br>            {"@value": "b"}<br>          ]<br>        }]<br>      }<br>    ],<br>    "@type": ["http://example.com/Graph"],<br>    "http://example.com/name": [{"@value": "Graph"}]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_b3201a0b02a24d44fe4bb3d1feb37273" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006">
+          Test 0006:
+          <span property="dc:title mf:name">Two graphs having same subject but different values</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0006">
+          <p lang="en" property="dc:description">Ensure that properties and list elements aren't confused between graphs.</p>
+          <div class="example"><div class="example-title"><span>Example 735</span>: Two graphs having same subject but different values Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0006-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; &lt;http://example.com/U&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/ref&gt; &lt;http://example.com/U&gt; &lt;http://example.com/U&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/list&gt; _:a &lt;http://example.com/U&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" &lt;http://example.com/U&gt; .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b &lt;http://example.com/U&gt; .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" &lt;http://example.com/U&gt; .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; &lt;http://example.com/U&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type2&gt; &lt;http://example.com/V&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/ref&gt; &lt;http://example.com/V&gt; &lt;http://example.com/V&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/list&gt; _:c &lt;http://example.com/V&gt; .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" &lt;http://example.com/V&gt; .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:d &lt;http://example.com/V&gt; .<br>_:d &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "d" &lt;http://example.com/V&gt; .<br>_:d &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; &lt;http://example.com/V&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 736</span>: Two graphs having same subject but different values Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0006-out.jsonld">[<br>  {<br>    "@id": "http://example.com/U",<br>    "@graph": [<br>      {<br>        "@id": "http://example.com/Subj1",<br>        "@type": ["http://example.com/Type"],<br>        "http://example.com/ref": [{"@id": "http://example.com/U"}],<br>        "http://example.com/list": [{<br>          "@list": [<br>            {"@value": "a"},<br>            {"@value": "b"}<br>          ]<br>        }]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com/V",<br>    "@graph": [<br>      {<br>        "@id": "http://example.com/Subj1",<br>        "@type": ["http://example.com/Type2"],<br>        "http://example.com/ref": [{"@id": "http://example.com/V"}],<br>        "http://example.com/list": [{<br>          "@list": [<br>            {"@value": "c"},<br>            {"@value": "d"}<br>          ]<br>        }]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_f6b3b3da8ed8fb7600a79a5973d3d6fc" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007">
+          Test 0007:
+          <span property="dc:title mf:name">Graph with multiple named graphs</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0007">
+          <p lang="en" property="dc:description">Testing @graph recursion.</p>
+          <div class="example"><div class="example-title"><span>Example 737</span>: Graph with multiple named graphs Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0007-in.nq">&lt;http://data.wikipedia.org/snaks/Assertions&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://data.wikipedia.org/vocab#SnakSet&gt; .<br>&lt;http://data.wikipedia.org/snaks/Assertions&gt; &lt;http://data.wikipedia.org/vocab#assertedBy&gt; "http://gregkellogg.net/foaf#me" .<br>&lt;http://data.wikipedia.org/snaks/BerlinFact&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://data.wikipedia.org/vocab#Snak&gt; &lt;http://data.wikipedia.org/snaks/Assertions&gt; .<br>&lt;http://data.wikipedia.org/snaks/BerlinFact&gt; &lt;http://data.wikipedia.org/vocab#assertedBy&gt; "http://www.statistik-berlin-brandenburg.de/" &lt;http://data.wikipedia.org/snaks/Assertions&gt; .<br>&lt;http://en.wikipedia.org/wiki/Berlin&gt; &lt;http://data.wikipedia.org/vocab#population&gt; "3499879"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; &lt;http://data.wikipedia.org/snaks/BerlinFact&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 738</span>: Graph with multiple named graphs Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0007-out.jsonld">[<br>  {<br>    "@id": "http://data.wikipedia.org/snaks/Assertions",<br>    "@type": ["http://data.wikipedia.org/vocab#SnakSet"],<br>    "http://data.wikipedia.org/vocab#assertedBy": [{"@value": "http://gregkellogg.net/foaf#me"}<br>    ],<br>    "@graph": [<br>      {<br>        "@id": "http://data.wikipedia.org/snaks/BerlinFact",<br>        "@type": ["http://data.wikipedia.org/vocab#Snak"],<br>        "http://data.wikipedia.org/vocab#assertedBy": [{"@value": "http://www.statistik-berlin-brandenburg.de/"}]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://data.wikipedia.org/snaks/BerlinFact",<br>    "@graph": [<br>      {<br>        "@id": "http://en.wikipedia.org/wiki/Berlin",<br>        "http://data.wikipedia.org/vocab#population": [{<br>          "@value": "3499879",<br>          "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>        }]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_fa14358e968e5c20adef5f812a8f6abb" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008">
+          Test 0008:
+          <span property="dc:title mf:name">List conversion</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0008">
+          <p lang="en" property="dc:description">Conversion of lists of lists (the triples in the input are only partially ordered on purpose</p>
+          <div class="example"><div class="example-title"><span>Example 739</span>: List conversion Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0008-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:outerlist .<br>_:outerlist &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; _:lista .<br>_:outerlist &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b0 .<br><br>_:lista &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a1" .<br>_:lista &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:a2 .<br>_:a2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a2" .<br>_:a2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:a3 .<br>_:a3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a3" .<br>_:a3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br><br>_:c0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; _:c1 .<br>_:c0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:c1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c1" .<br>_:c1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c2 .<br>_:c2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c2" .<br>_:c2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c3 .<br>_:c3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c3" .<br>_:c3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br><br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; _:b1 .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c0 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b1" .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b2" .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b3 .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b3" .<br>_:b3 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 740</span>: List conversion Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0008-out.jsonld">[<br>  {<br>    "@id": "_:b1",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "b1" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          { "@value": "b2" },<br>          { "@value": "b3" }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "_:c1",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "c1" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          { "@value": "c2" },<br>          { "@value": "c3" }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "_:lista",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a1" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          { "@value": "a2" },<br>          { "@value": "a3" }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property": [<br>      {<br>        "@list": [<br>          { "@id": "_:lista" },<br>          { "@id": "_:b1" },<br>          { "@id": "_:c1" }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e7d667b0c260bb588b52dcde64e8dcff" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009">
+          Test 0009:
+          <span property="dc:title mf:name">List conversion with IRI nodes</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0009">
+          <p lang="en" property="dc:description">Preserve IRI list nodes (i.e., not blank nodes) when converting to @list</p>
+          <div class="example"><div class="example-title"><span>Example 741</span>: List conversion with IRI nodes Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0009-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; &lt;http://example.com/list&gt; .<br>&lt;http://example.com/list&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>&lt;http://example.com/list&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 742</span>: List conversion with IRI nodes Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0009-out.jsonld">[<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property": [ { "@id": "http://example.com/list" } ]<br>  },<br>  {<br>    "@id": "http://example.com/list",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          { "@value": "b" },<br>          { "@value": "c" }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_301d88bbdedaae3990d00cf0b5301ee9" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010">
+          Test 0010:
+          <span property="dc:title mf:name">List pattern without rdf:nil</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0010">
+          <p lang="en" property="dc:description">Do not convert lists that are not terminated by rdf:nil to @list.</p>
+          <div class="example"><div class="example-title"><span>Example 743</span>: List pattern without rdf:nil Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0010-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 744</span>: List pattern without rdf:nil Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0010-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "_:b",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "b" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@id": "_:c" } ]<br>  },<br>  {<br>    "@id": "_:c",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "c" } ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property":  [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_fab50674ba0f075dfd2f5dd45ba876bd" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011">
+          Test 0011:
+          <span property="dc:title mf:name">List pattern with extra properties</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0011">
+          <p lang="en" property="dc:description">If additional properties are associated to a list node, the list is only partially converted to @list.</p>
+          <div class="example"><div class="example-title"><span>Example 745</span>: List pattern with extra properties Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0011-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" .<br>_:b &lt;http://example.com/other-property&gt; "This list node has also properties other than rdf:first and rdf:rest" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 746</span>: List pattern with extra properties Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0011-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "_:b",<br>    "http://example.com/other-property": [<br>      { "@value": "This list node has also properties other than rdf:first and rdf:rest" }<br>    ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "b" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          { "@value": "c" }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property": [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a6f79132151ee667d05ed595025ceceb" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012">
+          Test 0012:
+          <span property="dc:title mf:name">List pattern with cycles</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0012">
+          <p lang="en" property="dc:description">Detect lists containing cycles and do not convert them to @list.</p>
+          <div class="example"><div class="example-title"><span>Example 747</span>: List pattern with cycles Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0012-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 748</span>: List pattern with cycles Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0012-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "_:b",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "b" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@id": "_:c" } ]<br>  },<br>  {<br>    "@id": "_:c",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "c" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property":  [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_a4da79268ece4ce5783b46ed160031ad" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013">
+          Test 0013:
+          <span property="dc:title mf:name">List pattern with multiple values of rdf:first</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0013">
+          <p lang="en" property="dc:description">Do not convert list nodes to @list if nodes contain more than one value for rdf:first.</p>
+          <div class="example"><div class="example-title"><span>Example 749</span>: List pattern with multiple values of rdf:first Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0013-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b1" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b2" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 750</span>: List pattern with multiple values of rdf:first Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0013-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "_:b",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [<br>      { "@value": "b1" },<br>      { "@value": "b2" }<br>    ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      {<br>        "@list": [<br>          {<br>            "@value": "c"<br>          }<br>        ]<br>      }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property": [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_290751eea8778b5bcc53d1e7575d4d9c" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014">
+          Test 0014:
+          <span property="dc:title mf:name">List pattern with multiple values of rdf:rest</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0014">
+          <p lang="en" property="dc:description">Do not convert list nodes to @list if nodes contain more than one value for rdf:rest.</p>
+          <div class="example"><div class="example-title"><span>Example 751</span>: List pattern with multiple values of rdf:rest Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0014-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "b" .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:c .<br>_:b &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:d .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "c" .<br>_:c &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br>_:d &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "d" .<br>_:d &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 752</span>: List pattern with multiple values of rdf:rest Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0014-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [ { "@id": "_:b" } ]<br>  },<br>  {<br>    "@id": "_:b",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "b" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [<br>      { "@list": [ { "@value": "c" } ] },<br>      { "@list": [ { "@value": "d" } ] }<br>    ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property": [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_b313194ff09b3f3129569d279c4acd07" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015">
+          Test 0015:
+          <span property="dc:title mf:name">List pattern with IRI rdf:rest</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0015">
+          <p lang="en" property="dc:description">Do not convert lists to @list if a list node's rdf:rest is an IRI.</p>
+          <div class="example"><div class="example-title"><span>Example 753</span>: List pattern with IRI rdf:rest Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0015-in.nq">&lt;http://example.com&gt; &lt;http://example.com/property&gt; _:a .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "a" .<br>_:a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; "b" .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 754</span>: List pattern with IRI rdf:rest Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0015-out.jsonld">[<br>  {<br>    "@id": "_:a",<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [ { "@value": "a" } ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":  [ { "@value": "b" } ]<br>  },<br>  {<br>    "@id": "http://example.com",<br>    "http://example.com/property":  [ { "@id": "_:a" } ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_4b5297d8864f81c9bd5a219fe8f542b2" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016">
+          Test 0016:
+          <span property="dc:title mf:name">List pattern with type rdf:List</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0016">
+          <p lang="en" property="dc:description">List nodes may have a rdf:type rdf:List.</p>
+          <div class="example"><div class="example-title"><span>Example 755</span>: List pattern with type rdf:List Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0016-in.nq">&lt;http://example.com/&gt; &lt;http://example.com/list&gt; _:b0 .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#List&gt; .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "A" .<br>_:b0 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b1 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "B" .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; _:b2 .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#List&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#List&gt; .<br>_:b1 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#List&gt; .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; "C" .<br>_:b2 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 756</span>: List pattern with type rdf:List Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0016-out.jsonld">[<br>  {<br>    "@id": "http://example.com/",<br>    "http://example.com/list": [<br>      {<br>        "@list": [<br>          {<br>            "@value": "A"<br>          },<br>          {<br>            "@value": "B"<br>          },<br>          {<br>            "@value": "C"<br>          }<br>        ]<br>      }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_5c21c11338cbeda23edea64f3413652d" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017">
+          Test 0017:
+          <span property="dc:title mf:name">Remove duplicate triples</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0017">
+          <p lang="en" property="dc:description">Equivalent triples are used only once</p>
+          <div class="example"><div class="example-title"><span>Example 757</span>: Remove duplicate triples Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0017-in.nq">&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; "1" .<br>&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; "1" .<br>&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; "2"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; &lt;http://example.com/nodeB&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://example.com/property&gt; &lt;http://example.com/nodeB&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/TypeA&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/TypeA&gt; .<br>&lt;http://example.com/nodeA&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/TypeA&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 758</span>: Remove duplicate triples Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0017-out.jsonld">[<br>  {<br>    "@id": "http://example.com/nodeA",<br>    "http://example.com/property": [<br>      { "@value": "1" },<br>      {<br>        "@value": "2",<br>        "@type": "http://www.w3.org/2001/XMLSchema#integer"<br>      },<br>      { "@id": "http://example.com/nodeB" }<br>    ],<br>    "@type": [ "http://example.com/TypeA" ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_64e42006e388ca7d10532a6acdfd9e79" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018">
+          Test 0018:
+          <span property="dc:title mf:name">use native types flag set to true</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0018">
+          <p lang="en" property="dc:description">Literals with datatype xsd:boolean, xsd:integer, and xsd:double are serialized using native scalar values</p>
+          <div class="example"><div class="example-title"><span>Example 759</span>: use native types flag set to true Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0018-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "true"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "false"^^&lt;http://www.w3.org/2001/XMLSchema#boolean&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1"^^&lt;http://www.w3.org/2001/XMLSchema#integer&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1.1"^^&lt;http://www.w3.org/2001/XMLSchema#decimal&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop&gt; "1.1E-1"^^&lt;http://www.w3.org/2001/XMLSchema#double&gt; .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 760</span>: use native types flag set to true Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0018-out.jsonld">[<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "http://example.com/prop": [<br>      { "@value": true },<br>      { "@value": false },<br>      { "@value": 1 },<br>      { "@value": "1.1", "@type": "http://www.w3.org/2001/XMLSchema#decimal"},<br>      { "@value": 0.11 }<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+        <dt id="test_e7e4376916e4e3c88570168b2bfa1f9a" resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019">
+          Test 0019:
+          <span property="dc:title mf:name">use rdf:type flag set to false</span>
+        </dt>
+        <dd resource="http://json-ld.org/test-suite/tests/fromRdf-manifest.jsonld#t0019">
+          <p lang="en" property="dc:description">Setting useRdfType to true causes an rdf:type predicate to be treated like a normal property, not @type</p>
+          <div class="example"><div class="example-title"><span>Example 761</span>: use rdf:type flag set to false Input</div><pre class="example actionDoc" property="mf:action" resource="http://json-ld.org/test-suite/tests/fromRdf-0019-in.nq">&lt;http://example.com/Subj1&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://example.com/Type&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop1&gt; &lt;http://example.com/Obj1&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "Plain" .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "2012-05-12"^^&lt;http://www.w3.org/2001/XMLSchema#date&gt; .<br>&lt;http://example.com/Subj1&gt; &lt;http://example.com/prop2&gt; "English"@en .<br></pre></div>
+          <div class="example"><div class="example-title"><span>Example 762</span>: use rdf:type flag set to false Result</div><pre class="example resultDoc" property="mf:result" resource="http://json-ld.org/test-suite/tests/fromRdf-0019-out.jsonld">[<br>  {<br>    "@id": "http://example.com/Subj1",<br>    "http://example.com/prop1": [{"@id": "http://example.com/Obj1"}],<br>    "http://example.com/prop2": [<br>      {"@value": "Plain"},<br>      {"@value": "2012-05-12", "@type": "http://www.w3.org/2001/XMLSchema#date"},<br>      {"@value": "English", "@language": "en"}<br>    ],<br>    "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [<br>      {"@id": "http://example.com/Type"}<br>    ]<br>  }<br>]<br></pre></div>
+        </dd>
+      </dl>
+    </section>
+    <section id="appendix" property="earl:generatedBy" resource="#appendix" typeof="bibo:Chapter" rel="bibo:chapter">
+      <!--OddPage--><h2 aria-level="1" role="heading" id="h2_appendix"><span class="secno">D. </span>
+        Report Generation Software
+      </h2>
+      <p>
+        This report generated by
+        <span property="doap:name"><a href="http://rubygems.org/gems/earl-report">earl-report</a></span>
+        <meta content="Earl Report summary generator" lang="en" property="doap:shortdesc">
+        <meta content="EarlReport generates HTML+RDFa rollups of multiple EARL reports" lang="en" property="doap:description">
+        version
+        <span property="doap:release" resource="https://github.com/gkellogg/earl-report/tree/0.2.7.2" typeof="doap:Version">
+          <span property="doap:revision">0.2.7.2</span>
+          <meta content="earl-report-0.2.7.2" property="doap:name">
+          <meta content="2013-10-22" datatype="xsd:date" property="doap:created">
+        </span>
+        an
+        <a href="http://unlicense.org" property="doap:license">Unlicensed</a>
+        <span property="doap:programming-language">Ruby</span>
+        application. More information is available at
+        <a href="https://github.com/gkellogg/earl-report" property="doap:homepage">https://github.com/gkellogg/earl-report</a>
+        .
+      </p>
+      <p property="doap:developer" resource="http://greggkellogg.net/foaf#me" typeof="foaf:Person">
+        This software is provided by
+        <a href="http://greggkellogg.net/" property="foaf:homepage"><span about="http://greggkellogg.net/foaf#me" property="foaf:name">Gregg Kellogg</span></a>
+        in hopes that it might make the lives of conformance testers easier.
+      </p>
+    </section>
+
+
+<section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><!--OddPage--><h2 aria-level="1" role="heading" id="h2_references"><span class="secno">E. </span>References</h2><section id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_informative-references"><span class="secno">E.1 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-JSON-LD">[JSON-LD]</dt><dd rel="dcterms:references">Manu Sporny, Gregg Kellogg, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/json-ld/">JSON-LD 1.0</a></cite>. 16 January 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/json-ld/">http://www.w3.org/TR/json-ld/</a>
+</dd><dt id="bib-JSON-LD-API">[JSON-LD-API]</dt><dd rel="dcterms:references">Markus Lanthaler, Gregg Kellogg, Manu Sporny, Editors. <cite><a href="http://www.w3.org/TR/json-ld-api/">JSON-LD 1.0 Processing Algorithms and API</a></cite>. 16 January 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/json-ld-api/">http://www.w3.org/TR/json-ld-api/</a>
+</dd><dt id="bib-JSON-LD-TESTS">[JSON-LD-TESTS]</dt><dd rel="dcterms:references"><cite><a href="http://www.w3.org/2013/json-ld-tests/">JSON-LD 1.0 Test Suite</a></cite>. W3C Test Suite. URL: <a href="http://www.w3.org/2013/json-ld-tests/">http://www.w3.org/2013/json-ld-tests/</a>
+</dd></dl></section></section></body></html>