--- a/spec/ED/json-ld-syntax/20120930/diff-20120830.html Sun Sep 30 16:23:51 2012 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19044 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
-<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" typeof="bibo:Document">
-<head>
-<title>JSON-LD Syntax 1.0</title>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-
-<!--
- === NOTA BENE ===
- For the three scripts below, if your spec resides on dev.w3 you can check them
- out in the same tree and use relative links so that they'll work offline,
- -->
-
-
-
-<style type="text/css">
-.diff { font-weight:bold; color:#0a3; }
-.issue.resolved { display: none; }
-table, thead, tr, td { padding: 5px; border-width: 1px; border-spacing: 0px; border-style: solid; border-collapse: collapse;}
-</style>
-<style>/*****************************************************************
- * ReSpec 3 CSS
- * Robin Berjon - http://berjon.com/
- *****************************************************************/
-
-/* --- 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;
-}
-
-
-/* --- --- */
-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, ".") ") "; }
-
-/* --- 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: #52e052; }
-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: 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="http://www.w3.org/StyleSheets/TR/W3C-ED" /><script>window["_GOOG_TRANS_EXT_VER"] = "1";</script>
-<!--[if lt IE 9]><script src='undefined://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>
-<div class="head">
-<p>
-<a href="http://www.w3.org/">
-<img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C" />
-</a>
-</p>
-<h1 class="title" id="title">
-JSON-LD
-Syntax
-1.0
-</h1>
-<h2 id="subtitle">
-A
-Context-based
-JSON
-Serialization
-for
-Linking
-Data
-</h2>
-<h2 id="w3c-editor-s-draft-30-september-2012">
-<abbr title="World Wide Web Consortium">
-W3C
-</abbr>
-Editor's
-Draft
-30
-<del class="diff-old">August
-</del>
-<ins class="diff-chg">September
-</ins>
-2012
-</h2>
-<dl>
-<dt>
-This
-version:
-</dt>
-<dd>
-<del class="diff-old">http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/ED/json-ld-syntax/20120830/index.html
-</del>
-<a href="http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld-syntax/index.html">
-<ins class="diff-chg">http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld-syntax/index.html
-</ins>
-</a>
-</dd>
-<dt>
-Latest
-published
-version:
-</dt>
-<dd>
-<a href="http://www.w3.org/TR/json-ld-syntax/">
-http://www.w3.org/TR/json-ld-syntax/
-</a>
-</dd>
-<dt>
-Latest
-editor's
-draft:
-</dt>
-<dd>
-<a href="http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld-syntax/index.html">
-http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld-syntax/index.html
-</a>
-</dd>
-<dt>
-Editors:
-</dt>
-<dd rel="bibo:editor" inlist="">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://manu.sporny.org/">
-Manu
-Sporny
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://digitalbazaar.com/">
-Digital
-Bazaar
-</a>
-</span>
-</dd>
-<dd rel="bibo:editor" inlist="">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
-Gregg
-Kellogg
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://kellogg-assoc.com/">
-Kellogg
-Associates
-</a>
-</span>
-</dd>
-<dd rel="bibo:editor" inlist="">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
-Markus
-Lanthaler
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://www.tugraz.at/">
-Graz
-University
-of
-Technology
-</a>
-</span>
-</dd>
-<dt>
-Authors:
-</dt>
-<dd rel="dcterms:contributor">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Manu Sporny" href="http://digitalbazaar.com/">
-Manu
-Sporny
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://digitalbazaar.com/">
-Digital
-Bazaar
-</a>
-</span>
-</dd>
-<dd rel="dcterms:contributor">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Dave Longley" href="http://digitalbazaar.com/">
-Dave
-Longley
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://digitalbazaar.com/">
-Digital
-Bazaar
-</a>
-</span>
-</dd>
-<dd rel="dcterms:contributor">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Gregg Kellogg" href="http://greggkellogg.net/">
-Gregg
-Kellogg
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://kellogg-assoc.com/">
-Kellogg
-Associates
-</a>
-</span>
-</dd>
-<dd rel="dcterms:contributor">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Markus Lanthaler" href="http://www.markus-lanthaler.com/">
-Markus
-Lanthaler
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://www.tugraz.at/">
-Graz
-University
-of
-Technology
-</a>
-</span>
-</dd>
-<dd rel="dcterms:contributor">
-<span typeof="foaf:Person">
-<a rel="foaf:homepage" property="foaf:name" content="Mark Birbeck" href="http://webbackplane.com/">
-Mark
-Birbeck
-</a>,
-<a rel="foaf:workplaceHomepage" href="http://webbackplane.com/">
-Backplane
-Ltd.
-</a>
-</span>
-</dd>
-</dl>
-<p>
-This
-document
-is
-also
-available
-in
-this
-non-normative
-format:
-<a href="diff-20120830.html">
-diff
-to
-previous
-version
-</a>
-</p>
-<p class="copyright">
-<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">
-Copyright
-</a>
-©
-2010-2012
-<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>
-),
-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">
-<h2>
-Abstract
-</h2>
-<p>
-JSON
-has
-proven
-to
-be
-a
-highly
-useful
-object
-serialization
-and
-messaging
-format.
-In
-an
-attempt
-to
-harmonize
-the
-representation
-of
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-in
-JSON,
-this
-specification
-outlines
-a
-common
-JSON
-representation
-format
-for
-expressing
-directed
-graphs;
-mixing
-both
-Linked
-Data
-and
-non-Linked
-Data
-in
-a
-single
-document.
-</p>
-</section>
-<section id="sotd" class="introductory">
-<h2>
-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
-under
-development
-for
-over
-<del class="diff-old">18
-</del>
-<ins class="diff-chg">20
-</ins>
-months
-in
-the
-JSON
-for
-Linking
-Data
-Community
-Group.
-The
-document
-has
-recently
-been
-transferred
-to
-the
-RDF
-Working
-Group
-for
-review,
-improvement,
-and
-publication
-along
-the
-Recommendation
-track.
-The
-specification
-has
-undergone
-significant
-development,
-review,
-and
-changes
-during
-the
-course
-of
-the
-last
-<del class="diff-old">18
-</del>
-<ins class="diff-chg">20
-</ins>
-months.
-</p>
-<p>
-There
-are
-currently
-<a href="http://json-ld.org/#impl">
-five
-interoperable
-implementations
-</a>
-of
-this
-specification.
-There
-is
-a
-<a href="https://github.com/json-ld/json-ld.org/tree/master/test-suite">
-fairly
-complete
-test
-suite
-</a>
-and
-a
-<a href="http://json-ld.org/playground/">
-live
-JSON-LD
-editor
-</a>
-that
-is
-capable
-of
-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
-year.
-</p>
-<p>
-There
-are
-a
-number
-of
-ways
-that
-one
-may
-participate
-in
-the
-development
-of
-this
-specification:
-</p>
-<ul>
-<li>
-If
-you
-want
-to
-make
-sure
-that
-your
-feedback
-is
-formally
-addressed
-by
-the
-RDF
-Working
-Group,
-you
-should
-send
-it
-to
-public-rdf-comments:
-<a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">
-public-rdf-comments@w3.org
-</a>
-</li>
-<li>
-Ad-hoc
-technical
-discussion
-primarily
-occurs
-on
-the
-public
-community
-mailing
-list:
-<a href="http://lists.w3.org/Archives/Public/public-linked-json/">
-public-linked-json@w3.org
-</a>
-</li>
-<li>
-<a href="http://json-ld.org/minutes/">
-Public
-JSON-LD
-Community
-Group
-teleconferences
-</a>
-are
-held
-on
-Tuesdays
-at
-1500UTC
-every
-week.
-</li>
-<li>
-RDF
-Working
-Group
-teleconferences
-are
-held
-on
-Wednesdays
-at
-1500UTC
-every
-week.
-Participation
-is
-limited
-to
-RDF
-Working
-Group
-members.
-</li>
-<li>
-Specification
-bugs
-and
-issues
-should
-be
-reported
-in
-the
-<a href="https://github.com/json-ld/json-ld.org/issues">
-issue
-tracker
-</a>
-if
-you
-do
-not
-want
-to
-send
-an
-e-mail
-to
-the
-public-rdf-comments
-mailing
-list.
-</li>
-<li>
-<a href="https://github.com/json-ld/json-ld.org/tree/master/spec">
-Source
-code
-</a>
-for
-the
-specification
-can
-be
-found
-on
-Github.
-</li>
-<li>
-The
-<a href="http://webchat.freenode.net/?channels=json-ld">
-#json-ld
-</a>
-IRC
-channel
-is
-available
-for
-real-time
-discussion
-on
-irc.freenode.net.
-</li>
-</ul>
-<p>
-This
-document
-was
-published
-by
-the
-<a href="http://www.w3.org/2011/rdf-wg/">
-RDF
-Working
-Group
-</a>
-as
-an
-Editor's
-Draft.
-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
-feedback
-is
-welcome.
-</p>
-<p>
-Publication
-as
-an
-Editor's
-Draft
-does
-not
-imply
-endorsement
-by
-the
-<abbr title="World Wide Web Consortium">
-W3C
-</abbr>
-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.
-</p>
-<p>
-This
-document
-was
-produced
-by
-a
-group
-operating
-under
-the
-<a 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">
-Table
-of
-Contents
-</h2>
-<ul class="toc">
-<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>
-<del class="diff-old">1.2
-General
-Terminology
-</del>
-</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="#basic-concepts" class="tocxref">
-<span class="secno">
-3.
-</span>
-Basic
-Concepts
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#benefits-of-json-ld" class="tocxref">
-<span class="secno">
-3.1
-</span>
-<del class="diff-old">Linked
-</del>
-<ins class="diff-chg">Benefits
-of
-JSON-LD
-</ins></a></li><li class="tocline"><a href="#json-ld-data-model" class="tocxref"><span class="secno"><ins class="diff-chg">
-3.2
-</ins></span><ins class="diff-chg">
-JSON-LD
-</ins>
-Data
-<ins class="diff-new">Model
-</ins></a></li><li class="tocline"><a href="#general-terminology" class="tocxref"><span class="secno"><ins class="diff-new">
-3.3
-</ins></span><ins class="diff-new">
-General
-Terminology
-</ins>
-</a>
-</li>
-<li class="tocline">
-<a href="#syntax-tokens-and-keywords" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.2
-</del>
-<ins class="diff-chg">3.4
-</ins>
-</span>
-Syntax
-Tokens
-and
-Keywords
-</a>
-</li>
-<li class="tocline">
-<a href="#the-context" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.3
-</del>
-<ins class="diff-chg">3.5
-</ins>
-</span>
-The
-Context
-</a>
-</li>
-<li class="tocline">
-<a href="#from-json-to-json-ld" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.4
-</del>
-<ins class="diff-chg">3.6
-</ins>
-</span>
-From
-JSON
-to
-JSON-LD
-</a>
-</li>
-<li class="tocline">
-<a href="#iris" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.5
-</del>
-<ins class="diff-chg">3.7
-</ins>
-</span>
-IRIs
-</a>
-</li>
-<li class="tocline">
-<a href="#node-identifiers" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.6
-</del>
-<ins class="diff-chg">3.8
-</ins>
-</span>
-Node
-Identifiers
-</a>
-</li>
-<li class="tocline">
-<a href="#specifying-the-type" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.7
-</del>
-<ins class="diff-chg">3.9
-</ins>
-</span>
-Specifying
-the
-Type
-</a>
-</li>
-<li class="tocline">
-<a href="#string-internationalization" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.8
-</del>
-<ins class="diff-chg">3.10
-</ins>
-</span>
-String
-Internationalization
-</a>
-</li>
-<li class="tocline">
-<a href="#json-ld-syntax" class="tocxref">
-<span class="secno">
-<del class="diff-old">3.9
-</del>
-<ins class="diff-chg">3.11
-</ins>
-</span>
-JSON-LD
-Syntax
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#advanced-concepts" class="tocxref">
-<span class="secno">
-4.
-</span>
-Advanced
-Concepts
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#compact-iris" class="tocxref">
-<span class="secno">
-4.1
-</span>
-Compact
-IRIs
-</a>
-</li>
-<li class="tocline">
-<a href="#typed-values" class="tocxref">
-<span class="secno">
-4.2
-</span>
-Typed
-Values
-</a>
-</li>
-<li class="tocline">
-<a href="#language-tagged-strings" class="tocxref">
-<span class="secno">
-4.3
-</span>
-Language-tagged
-Strings
-</a>
-</li>
-<li class="tocline">
-<a href="#referencing-contexts-from-json-documents" class="tocxref">
-<span class="secno">
-4.4
-</span>
-Referencing
-Contexts
-from
-JSON
-Documents
-</a>
-</li>
-<li class="tocline">
-<a href="#expanded-term-definition" class="tocxref">
-<span class="secno">
-4.5
-</span>
-Expanded
-Term
-Definition
-</a>
-</li>
-<li class="tocline">
-<a href="#type-coercion" class="tocxref">
-<span class="secno">
-4.6
-</span>
-Type
-Coercion
-</a>
-</li>
-<li class="tocline">
-<a href="#property-generators" class="tocxref">
-<span class="secno">
-4.7
-</span>
-Property
-Generators
-</a>
-</li>
-<li class="tocline">
-<a href="#iri-expansion-within-a-context" class="tocxref">
-<span class="secno">
-4.8
-</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">
-4.9
-</span>
-Sets
-and
-Lists
-</a>
-</li>
-<li class="tocline">
-<a href="#embedding" class="tocxref">
-<span class="secno">
-4.10
-</span>
-Embedding
-</a>
-</li>
-<li class="tocline">
-<a href="#named-graphs" class="tocxref">
-<span class="secno">
-4.11
-</span>
-Named
-Graphs
-</a>
-</li>
-<li class="tocline">
-<a href="#identifying-unlabeled-nodes" class="tocxref">
-<span class="secno">
-4.12
-</span>
-Identifying
-Unlabeled
-Nodes
-</a>
-</li>
-<li class="tocline">
-<a href="#aliasing-keywords" class="tocxref">
-<span class="secno">
-4.13
-</span>
-Aliasing
-Keywords
-</a>
-</li>
-<li class="tocline">
-<a href="#expanded-document-form" class="tocxref">
-<span class="secno">
-4.14
-</span>
-Expanded
-Document
-Form
-</a>
-</li>
-<li class="tocline">
-<a href="#compact-document-form" class="tocxref">
-<span class="secno">
-4.15
-</span>
-Compact
-Document
-Form
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#json-ld-grammar" class="tocxref">
-<span class="secno">
-A.
-</span>
-JSON-LD
-Grammar
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#grammar-node-definition" class="tocxref">
-<span class="secno">
-A.1
-</span>
-Node
-Definition
-</a>
-</li>
-<li class="tocline">
-<a href="#grammar-node-reference" class="tocxref">
-<span class="secno">
-A.2
-</span>
-Node
-Reference
-</a>
-</li>
-<li class="tocline">
-<a href="#grammar-language-map" class="tocxref">
-<span class="secno">
-A.3
-</span>
-Language
-Map
-</a>
-</li>
-<li class="tocline">
-<a href="#grammar-expanded-values" class="tocxref">
-<span class="secno">
-A.4
-</span>
-Expanded
-Values
-</a>
-</li>
-<li class="tocline">
-<a href="#grammar-set-list" class="tocxref">
-<span class="secno">
-A.5
-</span>
-List
-and
-Set
-Values
-</a>
-</li>
-<li class="tocline">
-<a href="#grammar-context" class="tocxref">
-<span class="secno">
-A.6
-</span>
-Context
-Definition
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#relationship-to-other-linked-data-formats-and-data-models" class="tocxref">
-<span class="secno">
-B.
-</span>
-Relationship
-to
-Other
-Linked
-Data
-Formats
-and
-Data
-Models
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#rdf" class="tocxref">
-<span class="secno">
-B.1
-</span>
-RDF
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#turtle" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.2
-</del>
-<ins class="diff-chg">B.1.1
-</ins>
-</span>
-Turtle
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#prefix-definitions" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.2.1
-</del>
-<ins class="diff-chg">B.1.1.1
-</ins>
-</span>
-Prefix
-definitions
-</a>
-</li>
-<li class="tocline">
-<a href="#embedding-1" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.2.2
-</del>
-<ins class="diff-chg">B.1.1.2
-</ins>
-</span>
-Embedding
-</a>
-</li>
-<li class="tocline">
-<a href="#lists" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.2.3
-</del>
-<ins class="diff-chg">B.1.1.3
-</ins>
-</span>
-Lists
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#rdfa" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.3
-</del>
-<ins class="diff-chg">B.1.2
-</ins>
-</span>
-RDFa
-</a>
-</li>
-<li class="tocline">
-<a href="#microformats" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.4
-</del>
-<ins class="diff-chg">B.1.3
-</ins>
-</span>
-Microformats
-</a>
-</li>
-<li class="tocline">
-<a href="#microdata" class="tocxref">
-<span class="secno">
-<del class="diff-old">B.5
-</del>
-<ins class="diff-chg">B.1.4
-</ins>
-</span>
-Microdata
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#iana-considerations" class="tocxref">
-<span class="secno">
-<del class="diff-old">C.
-</del>
-<ins class="diff-chg">B.2
-</ins>
-</span>
-IANA
-Considerations
-</a>
-</li>
-<li class="tocline">
-<a href="#acknowledgements" class="tocxref">
-<span class="secno">
-<del class="diff-old">D.
-</del>
-<ins class="diff-chg">B.3
-</ins>
-</span>
-Acknowledgements
-</a>
-</li>
-</ul>
-</li>
-<li class="tocline">
-<a href="#references" class="tocxref">
-<span class="secno">
-<del class="diff-old">E.
-</del>
-<ins class="diff-chg">C.
-</ins>
-</span>
-References
-</a>
-<ul class="toc">
-<li class="tocline">
-<a href="#normative-references" class="tocxref">
-<span class="secno">
-<del class="diff-old">E.1
-</del>
-<ins class="diff-chg">C.1
-</ins>
-</span>
-Normative
-references
-</a>
-</li>
-<li class="tocline">
-<a href="#informative-references" class="tocxref">
-<span class="secno">
-<del class="diff-old">E.2
-</del>
-<ins class="diff-chg">C.2
-</ins>
-</span>
-Informative
-references
-</a>
-</li>
-</ul>
-</li>
-</ul>
-</section>
-<section class="informative" id="introduction">
-<h2>
-<span class="secno">
-1.
-</span>
-Introduction
-</h2>
-<p>
-<em>
-This
-section
-is
-non-normative.
-</em>
-</p>
-<p>
-JSON,
-as
-specified
-in
-[
-<cite>
-<a class="bibref" href="#bib-RFC4627">
-RFC4627
-</a>
-</cite>
-],
-is
-a
-simple
-language
-for
-representing
-data
-on
-the
-Web.
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-is
-a
-technique
-for
-creating
-a
-network
-of
-inter-connected
-data
-across
-different
-Web
-documents
-and
-Web
-sites.
-A
-<em>
-document
-</em>
-in
-this
-data
-network
-is
-typically
-identified
-using
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-(Internationalized
-Resource
-Identifier).
-A
-software
-program
-can
-typically
-follow
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-just
-like
-you
-follow
-a
-URL
-by
-putting
-it
-into
-your
-browser's
-location
-bar.
-By
-following
-IRIs,
-a
-software
-program
-can
-find
-more
-information
-about
-the
-<em>
-document
-</em>
-and
-the
-<em>
-thing
-</em>
-s
-that
-the
-document
-describes.
-These
-<em>
-things
-</em>
-may
-also
-be
-identified
-using
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s.
-The
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-allows
-a
-software
-program
-to
-start
-at
-one
-<em>
-document
-</em>
-and
-follow
-links
-to
-other
-<em>
-documents
-</em>
-or
-<em>
-things
-</em>
-in
-order
-to
-learn
-more
-about
-all
-of
-the
-<em>
-documents
-</em>
-and
-<em>
-things
-</em>
-described
-on
-the
-Web.
-</p>
-<p>
-JSON-LD
-is
-designed
-as
-a
-lightweight
-syntax
-that
-can
-be
-used
-to
-express
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>.
-It
-is
-primarily
-intended
-to
-be
-a
-way
-to
-use
-Linked
-Data
-in
-Javascript
-and
-other
-Web-based
-programming
-environments.
-It
-is
-also
-useful
-when
-building
-inter-operable
-Web
-services
-and
-when
-storing
-Linked
-Data
-in
-JSON-based
-document
-storage
-engines.
-It
-is
-practical
-and
-designed
-to
-be
-as
-simple
-as
-possible,
-utilizing
-the
-large
-number
-of
-JSON
-parsers
-and
-libraries
-available
-today.
-</p>
-<p>
-The
-syntax
-does
-not
-necessarily
-require
-applications
-to
-change
-their
-JSON,
-but
-allows
-one
-to
-easily
-add
-meaning
-by
-simply
-adding
-or
-referencing
-a
-context.
-The
-syntax
-is
-designed
-to
-not
-disturb
-already
-deployed
-systems
-running
-on
-JSON,
-but
-provide
-a
-smooth
-upgrade
-path
-from
-JSON
-to
-JSON-LD.
-Finally,
-the
-format
-is
-intended
-to
-be
-easy
-to
-parse,
-efficient
-to
-generate,
-and
-<del class="diff-old">only
-requires
-a
-</del>
-<ins class="diff-chg">can
-operate
-inside
-of
-devices
-that
-contain
-</ins>
-very
-<del class="diff-old">small
-memory
-footprint
-in
-order
-to
-operate.
-</del>
-<ins class="diff-chg">little
-memory.
-</ins>
-</p>
-<section id="how-to-read-this-document">
-<h3>
-<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
-that
-want
-to
-encode
-Linked
-Data
-in
-a
-<del class="diff-old">way
-</del>
-<ins class="diff-chg">variety
-of
-programing
-languages
-</ins>
-that
-<del class="diff-old">is
-cross-language
-compatible
-via
-</del>
-<ins class="diff-chg">can
-use
-</ins>
-JSON.
-</li>
-<li>
-Software
-developers
-that
-want
-to
-understand
-the
-design
-decisions
-and
-language
-syntax
-for
-JSON-LD.
-</li>
-<li>
-Software
-developers
-that
-want
-to
-implement
-processors
-and
-APIs
-for
-JSON-LD.
-</li>
-</ul>
-<p>
-This
-specification
-does
-not
-describe
-the
-programming
-interfaces
-for
-the
-JSON-LD
-Syntax.
-The
-specification
-that
-describes
-the
-programming
-interfaces
-for
-JSON-LD
-documents
-is
-the
-JSON-LD
-Application
-Programming
-Interface
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-].
-</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>
-</section>
-<del class="diff-old">1.2
-General
-Terminology
-The
-following
-is
-an
-explanation
-of
-the
-general
-terminology
-used
-in
-this
-document:
-JSON
-object
-An
-object
-structure
-is
-represented
-as
-a
-pair
-of
-curly
-brackets
-surrounding
-zero
-or
-more
-name-value
-pairs.
-A
-name
-is
-a
-string
-.
-A
-single
-colon
-comes
-after
-each
-name,
-separating
-the
-name
-from
-the
-value.
-A
-single
-comma
-separates
-a
-value
-from
-a
-following
-name.
-The
-names
-within
-an
-object
-should
-be
-unique.
-array
-In
-JSON,
-an
-array
-is
-an
-ordered
-sequence
-of
-zero
-or
-more
-values.
-An
-array
-is
-represented
-as
-square
-brackets
-surrounding
-zero
-or
-more
-values
-that
-are
-separated
-by
-commas.
-While
-JSON-LD
-uses
-the
-same
-array
-representation
-as
-JSON,
-the
-collection
-is
-unordered
-by
-default.
-While
-order
-is
-preserved
-in
-regular
-JSON
-arrays,
-it
-is
-not
-in
-regular
-JSON-LD
-arrays
-unless
-specific
-markup
-is
-provided
-(see
-4.9
-Sets
-and
-Lists
-).
-string
-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.
-number
-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.
-true
-and
-false
-Values
-that
-are
-used
-to
-express
-one
-of
-two
-possible
-boolean
-states.
-null
-The
-null
-value
-is
-used
-to
-make
-the
-JSON-LD
-processor
-"forget"
-any
-previously
-defined
-JSON
-key
-that
-is
-associated
-with
-the
-null
-value.
-If
-a
-previous
-definition
-doesn't
-exist,
-the
-entire
-key-value
-is
-ignored.
-If
-a
-previous
-definition
-of
-the
-key
-does
-exist,
-the
-previous
-definition
-is
-undefined.
-node
-definition
-A
-JSON
-object
-used
-to
-represent
-a
-node
-and
-one
-or
-more
-properties
-of
-that
-node.
-A
-JSON
-object
-is
-a
-node
-definition
-if
-it
-does
-not
-contain
-they
-keys
-@value
-,
-@list
-or
-@set
-and
-it
-has
-one
-or
-more
-keys
-other
-than
-@id
-.
-A
-node
-definition
-may
-be
-spread
-among
-different
-parts
-of
-a
-document
-or
-even
-between
-different
-documents.
-node
-reference
-A
-JSON
-object
-used
-to
-reference
-a
-node
-having
-only
-the
-@id
-key.
-</del>
-</section>
-<section class="informative" id="design-goals-and-rationale">
-<h2>
-<span class="secno">
-2.
-</span>
-Design
-Goals
-and
-Rationale
-</h2>
-<p>
-<em>
-This
-section
-is
-non-normative.
-</em>
-</p>
-<p>
-A
-number
-of
-design
-goals
-were
-established
-before
-the
-creation
-of
-this
-markup
-language:
-</p>
-<dl>
-<dt>
-Simplicity
-</dt>
-<dd>
-No
-extra
-processors
-or
-software
-libraries
-should
-be
-necessary
-to
-use
-JSON-LD
-in
-its
-most
-basic
-form.
-The
-language
-will
-provide
-developers
-with
-a
-very
-easy
-learning
-curve.
-Developers
-need
-only
-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>
-The
-JSON-LD
-markup
-must
-be
-100%
-compatible
-with
-JSON.
-This
-ensures
-that
-all
-of
-the
-standard
-JSON
-libraries
-work
-seamlessly
-with
-JSON-LD
-documents.
-</dd>
-<dt>
-Expressiveness
-</dt>
-<dd>
-The
-syntax
-must
-be
-able
-to
-express
-directed
-graphs,
-which
-have
-been
-proven
-to
-be
-able
-to
-express
-almost
-every
-real
-world
-data
-model.
-</dd>
-<dt>
-Terseness
-</dt>
-<dd>
-The
-JSON-LD
-syntax
-must
-be
-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
-must
-provide
-a
-<a href="#referencing-contexts-from-json-documents">
-mechanism
-</a>
-that
-allows
-developers
-to
-specify
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-in
-a
-way
-that
-is
-out-of-band.
-This
-allows
-organizations
-that
-have
-already
-deployed
-large
-JSON-based
-infrastructure
-to
-add
-meaning
-to
-their
-JSON
-documents
-in
-a
-way
-that
-is
-not
-disruptive
-to
-their
-day-to-day
-operations
-and
-is
-transparent
-to
-their
-current
-customers.
-At
-times,
-mapping
-JSON
-to
-a
-graph
-representation
-can
-become
-difficult.
-In
-these
-instances,
-rather
-than
-having
-JSON-LD
-support
-an
-esoteric
-use
-case,
-we
-chose
-not
-to
-support
-the
-use
-case
-and
-support
-a
-simplified
-syntax
-instead.
-So,
-while
-Zero
-Edits
-is
-a
-design
-goal,
-it
-is
-not
-always
-possible
-without
-adding
-great
-complexity
-to
-the
-language.
-</dd>
-<dt>
-One-pass
-Processing
-</dt>
-<dd>
-JSON-LD
-supports
-one-pass
-processing,
-which
-results
-in
-a
-very
-small
-memory
-footprint
-when
-processing
-documents.
-For
-example,
-to
-expand
-a
-JSON-LD
-document
-from
-a
-compacted
-form,
-only
-one
-pass
-is
-required
-over
-the
-data.
-</dd>
-<dt>
-Linked
-Data-centric
-</dt>
-<dd>
-The
-focus
-on
-Linked
-Data
-is
-placed
-at
-a
-much
-higher
-priority
-than
-the
-focus
-on
-the
-Semantic
-Web.
-One
-outcome
-of
-this
-ordering
-of
-priorities
-is
-an
-aggressively
-reduced
-focus
-on
-the
-Semantic
-Web
-stack
-(RDF
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-],
-TURTLE
-[
-<cite>
-<a class="bibref" href="#bib-TURTLE-TR">
-TURTLE-TR
-</a>
-</cite>
-],
-triple
-stores,
-and
-SPARQL
-[
-<cite>
-<a class="bibref" href="#bib-RDF-SPARQL-QUERY">
-RDF-SPARQL-QUERY
-</a>
-</cite>
-]).
-While
-this
-may
-be
-off-putting
-to
-proponents
-of
-the
-Semantic
-Web,
-the
-audience
-for
-this
-specification
-are
-Web
-developers
-that
-want
-a
-gentler
-introduction
-and
-a
-simpler
-technology
-stack
-for
-using
-Linked
-Data
-in
-their
-Web
-applications.
-Semantic
-Web
-concepts,
-such
-as
-conversion
-to
-and
-from
-RDF,
-are
-fully
-supported
-by
-JSON-LD,
-but
-the
-implementation
-of
-these
-features
-are
-not
-elaborated
-upon
-in
-this
-specification.
-See
-<a href="#relationship-to-other-linked-data-formats-and-data-models" class="sec-ref">
-<span class="secno">
-B.
-</span>
-<span class="sec-title">
-Relationship
-to
-Other
-Linked
-Data
-Formats
-and
-Data
-Models
-</span>
-</a>
-for
-more
-information
-about
-how
-JSON-LD
-integrates
-into
-the
-more
-traditional
-Semantic
-Web
-stack.
-</dd>
-</dl>
-</section>
-<section class="normative" id="basic-concepts">
-<h2>
-<span class="secno">
-3.
-</span>
-Basic
-Concepts
-</h2>
-<em>
-This
-section
-is
-normative.
-</em>
-<p>
-JSON-LD
-is
-designed
-to
-ensure
-that
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-concepts
-can
-be
-marked
-up
-in
-a
-way
-that
-is
-simple
-to
-understand
-and
-create
-by
-Web
-authors.
-In
-many
-cases,
-regular
-JSON
-markup
-can
-become
-Linked
-Data
-with
-the
-simple
-addition
-of
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>.
-As
-more
-JSON-LD
-features
-are
-used,
-more
-semantics
-are
-added
-to
-the
-JSON
-markup.
-</p>
-<section id="benefits-of-json-ld">
-<h3>
-<span class="secno">
-3.1
-</span>
-<del class="diff-old">Linked
-Data
-</del>
-<ins class="diff-chg">Benefits
-of
-JSON-LD
-</ins>
-</h3>
-<p>
-<del class="diff-old">The
-following
-definition
-for
-Linked
-Data
-is
-the
-one
-</del>
-<ins class="diff-chg">JSON
-provides
-a
-number
-of
-benefits
-to
-software
-developers
-</ins>
-that
-<del class="diff-old">will
-be
-used
-for
-this
-specification.
-</del>
-<ins class="diff-chg">need
-to
-serialize
-data:
-</ins>
-</p>
-<ol>
-<li>
-<del class="diff-old">Linked
-Data
-</del>
-<ins class="diff-chg">It
-is
-easy
-for
-humans
-to
-read
-and
-write.
-</ins></li><li><ins class="diff-chg">
-It
-is
-easy
-for
-machines
-to
-parse
-and
-generate.
-</ins></li><li><ins class="diff-chg">
-It
-has
-a
-syntax
-that
-</ins>
-is
-<ins class="diff-new">familiar
-across
-</ins>
-a
-<del class="diff-old">set
-</del>
-<ins class="diff-chg">large
-number
-</ins>
-of
-<del class="diff-old">documents,
-each
-containing
-</del>
-<ins class="diff-chg">programming
-languages.
-</ins></li><li><ins class="diff-chg">
-It
-is
-capable
-of
-representing
-many
-different
-types
-of
-data
-using
-two
-universal
-data
-structures;
-</ins>
-a
-<del class="diff-old">representation
-</del>
-<ins class="diff-chg">collection
-</ins>
-of
-<ins class="diff-new">key-value
-pairs
-and
-lists.
-</ins></li></ol><p><ins class="diff-new">
-JSON
-has
-become
-</ins>
-a
-<del class="diff-old">linked
-</del>
-<ins class="diff-chg">very
-popular
-data-interchange
-format
-on
-the
-Web,
-particularly
-for
-</ins><a href="http://en.wikipedia.org/wiki/REST"><ins class="diff-chg">
-REST
-</ins></a><ins class="diff-chg">
--based
-Web
-Services.
-Unfortunately,
-it
-has
-a
-number
-of
-short-comings
-that
-other
-Web-native
-</ins>
-data
-<del class="diff-old">graph
-.
-</del>
-<ins class="diff-chg">formats
-do
-not
-have:
-</ins></p><ol>
-<li>
-<del class="diff-old">A
-linked
-data
-graph
-</del>
-<ins class="diff-chg">There
-</ins>
-is
-<del class="diff-old">an
-unordered
-labeled
-directed
-graph,
-where
-nodes
-are
-IRIs
-</del>
-<ins class="diff-chg">no
-standardized,
-universal
-identifier
-mechanism
-for
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins>
-</a>
-<del class="diff-old">or
-Blank
-Nodes
-,
-or
-</del>
-<ins class="diff-chg">s.
-</ins></li><li><ins class="diff-chg">
-The
-meaning
-of
-the
-keys
-used
-in
-a
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></a><ins class="diff-chg">
-s
-are
-ambiguous
-and
-often
-conflict
-with
-</ins>
-other
-<del class="diff-old">values.
-</del>
-<ins class="diff-chg">data
-published
-on
-the
-Web.
-</ins>
-</li>
-<li>
-<del class="diff-old">A
-node
-</del>
-<ins class="diff-chg">There
-is
-no
-standardized
-way
-for
-a
-value
-in
-a
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins>
-</a>
-<del class="diff-old">having
-an
-outgoing
-edge
-must
-be
-an
-IRI
-</del>
-<ins class="diff-chg">to
-refer
-to
-a
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins>
-</a>
-<del class="diff-old">or
-Blank
-Node
-.
-</del>
-<ins class="diff-chg">on
-a
-different
-site
-on
-the
-Web.
-</ins>
-</li>
-<li>
-A
-<del class="diff-old">node
-</del>
-<ins class="diff-chg">developer
-cannot
-express
-the
-language
-associated
-with
-a
-</ins><a class="tref internalDFN" title="string" href="#dfn-string"><ins class="diff-chg">
-string
-</ins>
-</a>
-<del class="diff-old">having
-an
-incoming
-edge
-must
-be
-an
-IRI
-,
-Blank
-Node
-,
-or
-</del>
-value
-<del class="diff-old">such
-as
-</del>
-<ins class="diff-chg">in
-</ins>
-a
-<del class="diff-old">number
-or
-string.
-</del>
-<ins class="diff-chg">standardized
-manner.
-</ins>
-</li>
-<li>
-<del class="diff-old">A
-node
-may
-have
-both
-incoming
-</del>
-<ins class="diff-chg">There
-is
-no
-standard
-mechanism
-to
-associate
-datatypes
-with
-values
-such
-as
-dates,
-times,
-weights,
-</ins>
-and
-<del class="diff-old">outgoing
-edges.
-</del>
-<ins class="diff-chg">distances.
-</ins>
-</li>
-<li>
-<del class="diff-old">An
-edge
-must
-be
-labeled
-</del>
-<ins class="diff-chg">There
-is
-no
-facility
-to
-express
-a
-Web
-of
-information
-(directed
-graph),
-such
-as
-a
-social
-network,
-in
-a
-standardized
-manner.
-</ins></li></ol><p><ins class="diff-chg">
-JSON-LD
-is
-a
-web-native
-standard,
-is
-100%
-compatible
-</ins>
-with
-<del class="diff-old">an
-absolute
-</del>
-<ins class="diff-chg">JSON,
-provides
-all
-of
-the
-facilities
-that
-JSON
-provides,
-and
-extends
-the
-language
-to
-provide
-the
-following
-core
-advantages:
-</ins></p><ol><li><ins class="diff-chg">
-A
-universal
-identifier
-mechanism
-for
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></a><ins class="diff-chg">
-s
-via
-the
-use
-of
-</ins><a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<del class="diff-old">,
-within
-the
-JSON-LD
-syntax,
-this
-label
-is
-called
-a
-property
-.
-</del>
-</a>
-<ins class="diff-chg">s.
-</ins>
-</li>
-<li>
-<del class="diff-old">IRIs
-used
-within
-a
-linked
-data
-graph
-should
-be
-dereferenceable
-</del>
-<ins class="diff-chg">A
-way
-</ins>
-to
-<del class="diff-old">a
-Linked
-Data
-document
-describing
-</del>
-<ins class="diff-chg">dis-ambiguate
-</ins>
-the
-<del class="diff-old">resource
-denoted
-</del>
-<ins class="diff-chg">keys
-used
-between
-multiple
-JSON
-documents
-</ins>
-by
-<del class="diff-old">that
-</del>
-<ins class="diff-chg">mapping
-them
-to
-</ins>
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-<ins class="diff-new">s
-via
-a
-</ins><a class="tref internalDFN" title="context" href="#dfn-context"><ins class="diff-new">
-context
-</ins>
-</a>.
-</li>
-<del class="diff-old">Note
-</del>
-<li>
-A
-<del class="diff-old">Linked
-Data
-</del>
-<ins class="diff-chg">mechanism
-in
-which
-a
-value
-in
-a
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins>
-</a>
-<del class="diff-old">document
-does
-not
-necessarily
-need
-</del>
-<ins class="diff-chg">may
-refer
-</ins>
-to
-<del class="diff-old">be
-expressed
-in
-JSON-LD.
-The
-notion
-of
-Linked
-Data
-</del>
-<ins class="diff-chg">a
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins>
-</a>
-<del class="diff-old">is
-</del>
-<ins class="diff-chg">on
-</ins>
-a
-<del class="diff-old">concept
-independent
-of
-any
-given
-serialization
-format.
-In
-particular,
-any
-document
-based
-</del>
-<ins class="diff-chg">different
-site
-</ins>
-on
-<del class="diff-old">an
-RDF
-serialization
-format
-is
-</del>
-<ins class="diff-chg">the
-Web.
-</ins></li><li><ins class="diff-chg">
-The
-ability
-to
-express
-the
-language
-associated
-with
-</ins>
-a
-<del class="diff-old">Linked
-Data
-document.
-This
-definition
-of
-Linked
-Data
-</del>
-<a class="tref internalDFN" title="string" href="#dfn-string">
-<ins class="diff-chg">string
-</ins>
-</a>
-<del class="diff-old">is
-entirely
-consistent
-</del>
-<ins class="diff-chg">value.
-</ins></li><li><ins class="diff-chg">
-A
-way
-to
-associate
-datatypes
-</ins>
-with
-<del class="diff-old">that
-</del>
-<ins class="diff-chg">values
-such
-as
-dates,
-times,
-weights,
-and
-distances.
-</ins></li><li><ins class="diff-chg">
-A
-facility
-to
-express
-one
-or
-more
-directed
-graphs,
-such
-as
-a
-social
-network,
-</ins>
-in
-<del class="diff-old">[
-RDF-CONCEPTS
-],
-although
-Linked
-Data
-may
-not
-be
-</del>
-a
-<del class="diff-old">valid
-RDF
-document,
-</del>
-<ins class="diff-chg">single
-document.
-</ins></li></ol><p><ins class="diff-chg">
-Developers
-that
-require
-</ins>
-any
-<del class="diff-old">RDF
-document
-is
-an
-expression
-</del>
-of
-<del class="diff-old">Linked
-Data
-.
-</del>
-<ins class="diff-chg">the
-facilities
-listed
-above
-will
-find
-JSON-LD
-of
-interest.
-</ins>
-</p>
-</section>
-<section id="json-ld-data-model">
-<h3>
-<del class="diff-old">Issue
-</del>
-<span class="secno">
-<ins class="diff-chg">3.2
-</ins>
-</span>
-<del class="diff-old">An
-illustration
-of
-</del>
-<ins class="diff-chg">JSON-LD
-Data
-Model
-</ins></h3><p><dfn title="linked_data" id="dfn-linked_data"><ins class="diff-chg">
-Linked
-Data
-</ins></dfn><ins class="diff-chg">
-is
-</ins>
-a
-<del class="diff-old">linked
-</del>
-<ins class="diff-chg">way
-of
-publishing
-</ins>
-data
-<del class="diff-old">graph
-would
-probably
-help
-here.
-</del>
-<ins class="diff-chg">on
-the
-Web.
-In
-general,
-Linked
-Data
-has
-four
-properties;
-1)
-It
-uses
-</ins><a class="tref internalDFN" title="iri" href="#dfn-iri">
-<del class="diff-old">Issue
-47
-</del>
-<abbr title="Internationalized Resource Identifier">
-<ins class="diff-chg">IRI
-</ins></abbr>
-</a>
-<ins class="diff-new">s
-to
-name
-</ins><em><ins class="diff-new">
-things
-</ins></em>,<ins class="diff-new">
-2)
-It
-uses
-HTTP
-</ins><a class="tref internalDFN" title="iri" href="#dfn-iri">
-<del class="diff-old">Richard
-Cyganiak
-suggests
-that
-the
-data
-model
-is
-at
-odds
-with
-[
-</del>
-<abbr title="Internationalized Resource Identifier">
-<ins class="diff-chg">IRI
-</ins></abbr>
-<del class="diff-old">RDF-CONCEPTS
-</del>
-</a>
-<del class="diff-old">]
-and
-should
-be
-</del>
-<ins class="diff-chg">s
-for
-those
-names,
-3)
-The
-name
-links,
-when
-followed,
-provide
-</ins>
-more
-<del class="diff-old">closely
-aligned
-with
-it
-instead
-of
-creating
-new
-terminology.
-Note
-that
-this
-definition
-is
-provisional,
-</del>
-<ins class="diff-chg">information
-about
-the
-name,
-</ins>
-and
-<del class="diff-old">may
-be
-reverted
-</del>
-<ins class="diff-chg">4)
-The
-data
-expresses
-links
-</ins>
-to
-<del class="diff-old">something
-closer
-</del>
-<ins class="diff-chg">data
-on
-other
-Web
-sites.
-These
-properties
-allow
-data
-published
-on
-the
-Web
-</ins>
-to
-<ins class="diff-new">work
-much
-like
-Web
-pages
-do
-today.
-One
-can
-start
-at
-one
-piece
-of
-Linked
-Data,
-and
-follow
-</ins>
-the
-<del class="diff-old">original
-depending
-</del>
-<ins class="diff-chg">links
-to
-other
-pieces
-of
-data
-that
-are
-hosted
-</ins>
-on
-<del class="diff-old">community
-feedback.
-</del>
-<ins class="diff-chg">different
-sites
-across
-the
-Web.
-</ins>
-</p>
-<p>
-<ins class="diff-chg">JSON-LD
-is
-a
-way
-of
-expressing
-</ins>
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-<ins class="diff-new">on
-the
-Web.
-The
-JSON-LD
-data
-model
-encapsulates
-the
-following
-concepts:
-</ins></p><ol><li><ins class="diff-new">
-The
-JSON-LD
-data
-model
-</ins>
-is
-<del class="diff-old">a
-set
-of
-documents,
-each
-containing
-a
-representation
-of
-a
-</del>
-<ins class="diff-chg">used
-to
-represent
-</ins>
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-<del class="diff-old">.
-</del>
-</a>
-<ins class="diff-chg">s.
-</ins>
-</li>
-<li>
-A
-<dfn title="linked_data_graph" id="dfn-linked_data_graph">
-linked
-data
-graph
-</dfn>
-is
-an
-unordered
-labeled
-directed
-graph,
-where
-<del class="diff-old">nodes
-are
-</del>
-<ins class="diff-chg">each
-</ins><dfn title="node" id="dfn-node"><ins class="diff-chg">
-node
-</ins></dfn><ins class="diff-chg">
-is
-a
-</ins><a class="tref internalDFN" title="subject" href="#dfn-subject">
-subject
-<del class="diff-old">s
-</del>
-</a>
-or
-<a class="tref internalDFN" title="object" href="#dfn-object">
-object
-<del class="diff-old">s,
-</del>
-</a>,
-and
-edges
-are
-labeled
-using
-<a class="tref internalDFN" title="property" href="#dfn-property">
-properties
-</a>.
-</li>
-<li>
-A
-<dfn title="subject" id="dfn-subject">
-subject
-</dfn>
-is
-any
-node
-in
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>
-with
-at
-least
-one
-outgoing
-edge.
-</li>
-<li>
-A
-<a class="tref internalDFN" title="subject" href="#dfn-subject">
-subject
-</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>
-(an
-Internationalized
-Resource
-Identifier
-as
-described
-in
-[
-<cite>
-<a class="bibref" href="#bib-RFC3987">
-RFC3987
-</a>
-</cite>
-]).
-</li>
-<li>
-An
-<dfn title="object" id="dfn-object">
-object
-</dfn>
-is
-a
-node
-in
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>
-with
-at
-least
-one
-incoming
-edge.
-</li>
-<li>
-An
-<a class="tref internalDFN" title="object" href="#dfn-object">
-object
-</a>
-<em class="rfc2119" title="may">
-may
-</em>
-be
-labeled
-with
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-or
-a
-label
-that
-is
-not
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-such
-as
-plain
-text,
-internationalized
-text,
-or
-a
-strictly-typed
-data
-value.
-</li>
-<li>
-A
-<a class="tref internalDFN" title="node" href="#dfn-node">
-node
-</a>
-<em class="rfc2119" title="may">
-may
-</em>
-be
-a
-<a class="tref internalDFN" title="subject" href="#dfn-subject">
-subject
-</a>
-and
-an
-<a class="tref internalDFN" title="object" href="#dfn-object">
-object
-</a>
-at
-the
-same
-time.
-</li>
-<li>
-A
-<dfn title="property" id="dfn-property">
-property
-</dfn>
-is
-the
-label
-on
-an
-edge
-in
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>.
-</li>
-<li>
-A
-<a class="tref internalDFN" title="property" href="#dfn-property">
-property
-</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>
-An
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-that
-is
-a
-label
-in
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>
-<em class="rfc2119" title="should">
-should
-</em>
-be
-dereferencable
-to
-a
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-document
-describing
-the
-labeled
-<a class="tref internalDFN" title="subject" href="#dfn-subject">
-subject
-<del class="diff-old">,
-</del>
-</a>,
-<a class="tref internalDFN" title="property" href="#dfn-property">
-property
-</a>
-or
-<a class="tref internalDFN" title="object" href="#dfn-object">
-object
-<del class="diff-old">.
-</del>
-</a>.
-</li>
-</ol>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<del class="diff-old">JSON-LD
-allows
-properties
-to
-be
-BNodes,
-while
-RDF
-</del>
-<div class="">
-<p>
-<ins class="diff-chg">A
-</ins><a class="tref internalDFN" title="linked_data" href="#dfn-linked_data"><ins class="diff-chg">
-Linked
-Data
-</ins></a><ins class="diff-chg">
-document
-</ins>
-does
-<del class="diff-old">not.
-When
-used
-as
-just
-JSON-LD,
-this
-is
-</del>
-not
-<del class="diff-old">unreasonable;
-it
-only
-becomes
-an
-issue
-(and
-could
-raise
-an
-exception)
-when
-transformed
-</del>
-<ins class="diff-chg">necessarily
-need
-</ins>
-to
-<del class="diff-old">RDF.
-Note
-that
-the
-definition
-for
-</del>
-<ins class="diff-chg">be
-expressed
-in
-JSON-LD.
-The
-notion
-of
-</ins>
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-<del class="diff-old">above
-</del>
-is
-<del class="diff-old">silent
-on
-the
-topic
-</del>
-<ins class="diff-chg">a
-concept
-independent
-</ins>
-of
-<del class="diff-old">unlabeled
-nodes
-.
-Nevertheless,
-this
-specification
-allows
-for
-the
-expression
-</del>
-<ins class="diff-chg">any
-given
-serialization
-format.
-</ins></p></div></div><img style="padding: 5px; border-style: solid; border-width: 1px; display: block; margin-left: auto; margin-right: auto;" src="linked-data-graph.png" title="An example of a linked data graph" longdesc="An example of a linked data graph showing two main nodes labeled with URLs for Alice and Bob. The Alice node contains two other connected nodes showing Alice's age (32) and name (Alice)." /><p style="text-align: center;"><ins class="diff-chg">
-Figure
-1:
-An
-example
-</ins>
-of
-<del class="diff-old">unlabeled
-nodes
-,
-as
-most
-graph-based
-</del>
-<ins class="diff-chg">a
-linked
-</ins>
-data
-<del class="diff-old">sets
-on
-the
-Web
-contain
-</del>
-<ins class="diff-chg">graph.
-</ins></p><p><ins class="diff-chg">
-There
-are
-</ins>
-a
-number
-of
-<del class="diff-old">associated
-nodes
-</del>
-<ins class="diff-chg">best
-practices
-</ins>
-that
-<del class="diff-old">are
-not
-named
-and
-thus
-are
-not
-directly
-de-referenceable.
-</del>
-<ins class="diff-chg">can
-ensure
-that
-developers
-will
-generate
-good
-Linked
-Data
-for
-the
-Web.
-</ins>
-JSON-LD
-<del class="diff-old">defines
-</del>
-<ins class="diff-chg">formalizes
-those
-techniques
-by
-providing
-</ins>
-a
-mechanism
-to
-map
-JSON
-<del class="diff-old">terms,
-</del>
-<ins class="diff-chg">data,
-</ins>
-i.e.,
-keys
-and
-values,
-to
-<del class="diff-old">IRIs.
-</del>
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-<ins class="diff-chg">IRI
-</ins></abbr></a><ins class="diff-chg">
-s.
-</ins>
-This
-does
-not
-mean
-that
-JSON-LD
-requires
-every
-key
-or
-value
-to
-be
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>,
-but
-rather
-ensures
-that
-keys
-and
-values
-can
-be
-mapped
-to
-IRIs
-if
-the
-developer
-desires
-to
-transform
-their
-data
-into
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>.
-<del class="diff-old">There
-are
-a
-few
-techniques
-that
-can
-ensure
-that
-developers
-will
-generate
-good
-Linked
-Data
-for
-the
-Web.
-JSON-LD
-formalizes
-those
-techniques.
-</del>
-</p>
-</section>
-<section id="general-terminology">
-<h3>
-<span class="secno">
-<ins class="diff-new">3.3
-</ins></span><ins class="diff-new">
-General
-Terminology
-</ins></h3>
-<p>
-<del class="diff-old">We
-will
-</del>
-<ins class="diff-chg">The
-following
-is
-an
-explanation
-of
-the
-general
-terminology
-used
-in
-this
-document.
-Many
-of
-the
-terms
-should
-</ins>
-be
-<del class="diff-old">using
-</del>
-<ins class="diff-chg">familiar
-to
-developers
-that
-have
-used
-JSON:
-</ins></p><dl><dt><dfn title="json_object" id="dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></dfn></dt><dd><ins class="diff-chg">
-An
-object
-structure
-is
-represented
-as
-a
-pair
-of
-curly
-brackets
-surrounding
-zero
-or
-more
-key-value
-pairs.
-A
-key
-is
-a
-</ins><a class="tref internalDFN" title="string" href="#dfn-string"><ins class="diff-chg">
-string
-</ins></a>.<ins class="diff-chg">
-A
-single
-colon
-comes
-after
-each
-key,
-separating
-</ins>
-the
-<ins class="diff-new">key
-from
-the
-value.
-A
-single
-comma
-separates
-a
-value
-from
-a
-</ins>
-following
-<ins class="diff-new">key.
-The
-keys
-within
-an
-object
-</ins><em class="rfc2119" title="should"><ins class="diff-new">
-should
-</ins></em><ins class="diff-new">
-be
-unique.
-</ins></dd><dt><dfn title="array" id="dfn-array"><ins class="diff-new">
-array
-</ins></dfn></dt><dd><ins class="diff-new">
-In
-JSON,
-an
-array
-is
-an
-</ins><em><ins class="diff-new">
-ordered
-</ins></em><ins class="diff-new">
-sequence
-of
-zero
-or
-more
-values.
-An
-array
-is
-represented
-as
-square
-brackets
-surrounding
-zero
-or
-more
-values
-that
-are
-separated
-by
-commas.
-While
-JSON-LD
-uses
-the
-same
-array
-representation
-as
-JSON,
-the
-collection
-is
-</ins><em><ins class="diff-new">
-unordered
-</ins></em><ins class="diff-new">
-by
-default.
-While
-order
-is
-preserved
-in
-regular
-</ins>
-JSON
-<ins class="diff-new">arrays,
-it
-is
-not
-in
-regular
-JSON-LD
-arrays
-unless
-specific
-</ins>
-markup
-<ins class="diff-new">is
-provided
-(see
-</ins><a href="#sets-and-lists" class="sec-ref"><span class="secno"><ins class="diff-new">
-4.9
-</ins></span><span class="sec-title"><ins class="diff-new">
-Sets
-and
-Lists
-</ins></span></a><ins class="diff-new">
-).
-</ins></dd><dt><dfn title="string" id="dfn-string"><ins class="diff-new">
-string
-</ins></dfn></dt><dd><ins class="diff-new">
-A
-string
-is
-a
-sequence
-of
-zero
-or
-more
-Unicode
-characters,
-wrapped
-in
-double
-quotes,
-using
-backslash
-escapes
-(if
-necessary).
-A
-character
-is
-represented
-</ins>
-as
-<ins class="diff-new">a
-single
-character
-string.
-</ins></dd><dt><dfn title="number" id="dfn-number"><ins class="diff-new">
-number
-</ins></dfn></dt><dd><ins class="diff-new">
-A
-number
-is
-similar
-to
-that
-used
-in
-most
-programming
-languages,
-except
-that
-</ins>
-the
-<del class="diff-old">example
-for
-</del>
-<ins class="diff-chg">octal
-and
-hexadecimal
-formats
-are
-not
-used
-and
-that
-leading
-zeros
-are
-not
-allowed.
-</ins></dd><dt><dfn title="true" id="dfn-true"><ins class="diff-chg">
-true
-</ins></dfn><ins class="diff-chg">
-and
-</ins><dfn title="false" id="dfn-false"><ins class="diff-chg">
-false
-</ins></dfn></dt><dd><ins class="diff-chg">
-Values
-that
-are
-used
-to
-express
-one
-of
-two
-possible
-boolean
-states.
-</ins></dd><dt><dfn title="null" id="dfn-null"><ins class="diff-chg">
-null
-</ins></dfn></dt><dd><ins class="diff-chg">
-The
-null
-value
-is
-used
-to
-make
-a
-JSON-LD
-processor
-"forget"
-any
-previously
-defined
-JSON
-key
-that
-is
-associated
-with
-</ins>
-the
-<del class="diff-old">rest
-</del>
-<ins class="diff-chg">null
-value.
-If
-a
-previous
-definition
-doesn't
-exist,
-the
-entire
-key-value
-is
-ignored.
-If
-a
-previous
-definition
-</ins>
-of
-<del class="diff-old">this
-section:
-{
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</del>
-<ins class="diff-chg">the
-key
-does
-exist,
-the
-previous
-definition
-is
-undefined.
-</ins></dd><dt>
-<dfn title="node_definition" id="dfn-node_definition">
-<ins class="diff-chg">node
-definition
-</ins></dfn></dt><dd><ins class="diff-chg">
-A
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></a><ins class="diff-chg">
-used
-to
-represent
-a
-</ins><a class="tref internalDFN" title="node" href="#dfn-node"><ins class="diff-chg">
-node
-</ins></a><ins class="diff-chg">
-and
-one
-or
-more
-properties
-of
-that
-node.
-A
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></a><ins class="diff-chg">
-is
-a
-node
-definition
-if
-it
-does
-not
-contain
-the
-keys
-</ins><code><ins class="diff-chg">
-@value
-</ins></code>,<code><ins class="diff-chg">
-@list
-</ins></code><ins class="diff-chg">
-or
-</ins><code><ins class="diff-chg">
-@set
-</ins></code><ins class="diff-chg">
-and
-it
-has
-one
-or
-more
-keys
-other
-than
-</ins><code><ins class="diff-chg">
-@id
-</ins></code>.<ins class="diff-chg">
-A
-node
-definition
-</ins><em class="rfc2119" title="may"><ins class="diff-chg">
-may
-</ins></em><ins class="diff-chg">
-be
-spread
-among
-different
-parts
-of
-a
-document
-or
-even
-between
-different
-documents.
-</ins></dd><dt><dfn title="node_reference" id="dfn-node_reference"><ins class="diff-chg">
-node
-reference
-</ins></dfn></dt><dd><ins class="diff-chg">
-A
-</ins><a class="tref internalDFN" title="json_object" href="#dfn-json_object"><ins class="diff-chg">
-JSON
-object
-</ins></a><ins class="diff-chg">
-used
-to
-refer
-to
-a
-node
-that
-contains
-a
-single
-key-value
-pair
-where
-the
-key
-is
-</ins><code><ins class="diff-chg">
-@id
-</ins></code>.</dd></dl><p></p>
-</section>
-<section id="syntax-tokens-and-keywords">
-<h3>
-<span class="secno">
-<del class="diff-old">3.2
-</del>
-<ins class="diff-chg">3.4
-</ins>
-</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">
-term
-</a>
-s
-and
-help
-developers
-to
-express
-specific
-identifiers
-in
-a
-compact
-manner.
-The
-<code>
-@context
-</code>
-keyword
-is
-described
-in
-detail
-in
-the
-section
-titled
-<a href="#the-context" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.3
-</del>
-<ins class="diff-chg">3.5
-</ins>
-</span>
-<span class="sec-title">
-The
-Context
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@graph
-</code>
-</dt>
-<dd>
-Used
-to
-explicitly
-label
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>.
-This
-keyword
-is
-described
-in
-<a href="#named-graphs" class="sec-ref">
-<span class="secno">
-4.11
-</span>
-<span class="sec-title">
-Named
-Graphs
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@id
-</code>
-</dt>
-<dd>
-Used
-to
-uniquely
-identify
-<em>
-things
-</em>
-that
-are
-being
-described
-in
-the
-document.
-This
-keyword
-is
-described
-in
-<a href="#node-identifiers" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.6
-</del>
-<ins class="diff-chg">3.8
-</ins>
-</span>
-<span class="sec-title">
-Node
-Identifiers
-</span>
-</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 href="#string-internationalization" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.8
-</del>
-<ins class="diff-chg">3.10
-</ins>
-</span>
-<span class="sec-title">
-String
-Internationalization
-</span>
-</a>
-and
-<a href="#typed-values" class="sec-ref">
-<span class="secno">
-4.2
-</span>
-<span class="sec-title">
-Typed
-Values
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@language
-</code>
-</dt>
-<dd>
-Used
-to
-specify
-the
-native
-language
-for
-a
-particular
-value
-or
-the
-default
-language
-of
-a
-JSON-LD
-document.
-This
-keyword
-is
-described
-in
-the
-section
-titled
-<a href="#string-internationalization" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.8
-</del>
-<ins class="diff-chg">3.10
-</ins>
-</span>
-<span class="sec-title">
-String
-Internationalization
-</span>
-</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
-the
-section
-titled
-<a href="#typed-values" class="sec-ref">
-<span class="secno">
-4.2
-</span>
-<span class="sec-title">
-Typed
-Values
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@container
-</code>
-</dt>
-<dd>
-Used
-to
-set
-the
-container
-of
-a
-particular
-value.
-This
-keyword
-is
-described
-in
-the
-section
-titled
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@list
-</code>
-</dt>
-<dd>
-Used
-to
-express
-an
-ordered
-set
-of
-data.
-This
-keyword
-is
-described
-in
-the
-section
-titled
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@set
-</code>
-</dt>
-<dd>
-Used
-to
-express
-an
-unordered
-set
-of
-data.
-This
-keyword
-is
-described
-in
-the
-section
-titled
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>.
-</dd>
-<dt>
-<code>
-@vocab
-</code>
-</dt>
-<dd>
-Used
-to
-set
-the
-base
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-for
-all
-property
-IRIs
-affected
-by
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>.
-This
-keyword
-is
-described
-in
-section
-<a href="#iris" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.5
-</del>
-<ins class="diff-chg">3.7
-</ins>
-</span>
-<span class="sec-title">
-IRIs
-</span>
-</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>
-For
-the
-avoidance
-of
-doubt,
-all
-keys,
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keywords
-</a>,
-and
-values
-in
-JSON-LD
-are
-case-sensitive.
-</p>
-</section>
-<section id="the-context">
-<h3>
-<span class="secno">
-<del class="diff-old">3.3
-</del>
-<ins class="diff-chg">3.5
-</ins>
-</span>
-The
-Context
-</h3>
-<p>
-In
-JSON-LD,
-a
-<dfn title="context" id="dfn-context">
-context
-</dfn>
-is
-used
-to
-map
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s,
-i.e.,
-properties
-with
-associated
-values
-in
-an
-JSON
-document,
-to
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s.
-A
-<dfn title="term" id="dfn-term">
-term
-</dfn>
-is
-a
-short
-word
-that
-expands
-to
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-<a class="tref internalDFN" title="term" href="#dfn-term">
-Term
-</a>
-s
-<em class="rfc2119" title="may">
-may
-</em>
-be
-defined
-as
-any
-valid
-JSON
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-other
-than
-a
-JSON-LD
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>.
-To
-avoid
-forward-compatibility
-issues,
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-starting
-with
-an
-<code>
-@
-</code>
-character
-<em class="rfc2119" title="should not">
-should
-not
-</em>
-be
-used
-as
-they
-might
-be
-used
-as
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keywords
-</a>
-in
-future
-versions
-of
-JSON-LD.
-Furthermore,
-the
-use
-of
-empty
-terms
-(
-<code>
-""
-</code>
-)
-is
-discouraged
-as
-not
-all
-programming
-languages
-are
-able
-to
-handle
-empty
-property
-names.
-</p>
-<p>
-The
-Web
-uses
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-IRIs
-</a>
-for
-unambiguous
-identification.
-The
-idea
-is
-that
-these
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-mean
-something
-that
-may
-be
-of
-use
-to
-other
-developers
-and
-that
-it
-is
-useful
-to
-give
-them
-an
-unambiguous
-identifier.
-That
-is,
-it
-is
-useful
-for
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-to
-expand
-to
-IRIs
-so
-that
-developers
-don't
-accidentally
-step
-on
-each
-other's
-<dfn title="vocabulary" id="dfn-vocabulary">
-vocabulary
-</dfn>
-terms
-and
-other
-resources.
-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
-plugging
-it
-directly
-into
-a
-web
-browser,
-for
-instance)
-to
-go
-to
-the
-term
-and
-get
-a
-definition
-of
-what
-the
-term
-means.
-This
-mechanism
-is
-analogous
-to
-the
-way
-we
-can
-use
-<a href="http://wordnet.princeton.edu/">
-WordNet
-</a>
-today
-to
-see
-the
-definition
-of
-words
-in
-the
-English
-language.
-Developers
-and
-machines
-need
-the
-same
-sort
-of
-definition
-of
-terms.
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-IRIs
-</a>
-provide
-a
-way
-to
-ensure
-that
-these
-terms
-are
-unambiguous.
-For
-example,
-the
-term
-<code>
-name
-</code>
-may
-map
-directly
-to
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-http://xmlns.com/foaf/0.1/name
-</code>.
-This
-allows
-JSON-LD
-documents
-to
-be
-constructed
-using
-the
-common
-JSON
-practice
-of
-simple
-<del class="diff-old">name/value
-</del>
-<ins class="diff-chg">key-value
-</ins>
-pairs
-while
-ensuring
-that
-the
-data
-is
-useful
-outside
-of
-the
-page,
-API
-or
-database
-in
-which
-it
-resides.
-The
-value
-of
-a
-term
-mapping
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either;
-1)
-a
-simple
-string
-with
-the
-lexical
-form
-of
-an
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-or
-2)
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-or
-3)
-an
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-containing
-an
-<code>
-@id
-</code>,
-<code>
-@type
-</code>,
-<code>
-@language
-</code>,
-or
-<code>
-@container
-</code>
-keyword
-(all
-other
-keywords
-are
-ignored
-by
-a
-JSON-LD
-processor).
-</p>
-<p>
-These
-Linked
-Data
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-are
-typically
-collected
-in
-a
-context
-document
-that
-would
-look
-something
-like
-this:
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 1</span>: Context definition</div><pre class="example">{
- "@context":
- {
- "name": "http://xmlns.com/foaf/0.1/name",
- "depiction":
- {
- "@id": "http://xmlns.com/foaf/0.1/depiction",
- "@type": "@id"
- },
- "homepage":
- {
- "@id": "http://xmlns.com/foaf/0.1/homepage",
- "@type": "@id"
- },
- }
-}
-</pre>
-</div>
-<p>
-<del class="diff-old">Assuming
-</del>
-<ins class="diff-chg">Let's
-assume
-</ins>
-that
-<del class="diff-old">this
-context
-document
-can
-be
-retrieved
-at
-http://json-ld.org/contexts/person.jsonld
-,
-it
-can
-be
-referenced
-from
-</del>
-a
-<del class="diff-old">JSON-LD
-document
-by
-adding
-</del>
-<ins class="diff-chg">developer
-starts
-with
-the
-following
-JSON
-document:
-</ins></p><div class="example"><div class="example-title"><span>Example 2</span>: Sample JSON object</div><pre class="example">{<ins class="diff-chg">
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</ins></pre></div><p><ins class="diff-chg">
-The
-developer
-can
-add
-</ins>
-a
-single
-<del class="diff-old">line.
-The
-</del>
-<ins class="diff-chg">line
-to
-the
-</ins>
-JSON
-<del class="diff-old">markup
-shown
-in
-</del>
-<ins class="diff-chg">document
-above
-to
-reference
-</ins>
-the
-<del class="diff-old">previous
-section
-could
-be
-changed
-as
-follows:
-</del>
-<ins class="diff-chg">context
-and
-transform
-it
-into
-a
-JSON-LD
-document:
-</ins>
-</p>
-<div class="example"><div class="example-title"><span>Example 3</span>: Adding context reference to JSON document</div><pre class="example">{
- <span class="diff">"@context": "http://json-ld.org/contexts/person.jsonld",</span>
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-The
-additions
-above
-transform
-the
-previous
-JSON
-document
-into
-a
-JSON
-document
-with
-added
-semantics
-because
-the
-<code>
-@context
-</code>
-specifies
-how
-the
-<strong>
-name
-</strong>,
-<strong>
-homepage
-</strong>,
-and
-<strong>
-depiction
-</strong>
-terms
-map
-to
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-IRIs
-</a>.
-Mapping
-those
-keys
-to
-IRIs
-gives
-the
-data
-global
-context.
-If
-two
-developers
-use
-the
-same
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-to
-describe
-a
-property,
-they
-are
-more
-than
-likely
-expressing
-the
-same
-concept.
-This
-allows
-both
-developers
-to
-re-use
-each
-others'
-data
-without
-having
-to
-agree
-to
-how
-their
-data
-will
-interoperate
-on
-a
-site-by-site
-basis.
-Contexts
-may
-also
-contain
-type
-information
-for
-certain
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-as
-well
-as
-other
-processing
-instructions
-for
-the
-JSON-LD
-processor.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-External
-JSON-LD
-context
-documents
-<em class="rfc2119" title="may">
-may
-</em>
-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.
-When
-importing
-a
-<code>
-@context
-</code>
-value
-from
-an
-external
-JSON-LD
-context
-document,
-any
-extra
-information
-contained
-outside
-of
-the
-<code>
-@context
-</code>
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-discarded.
-</p>
-</div>
-<p>
-Contexts
-<em class="rfc2119" title="may">
-may
-</em>
-be
-specified
-in-line.
-This
-ensures
-that
-JSON-LD
-documents
-can
-be
-processed
-when
-a
-JSON-LD
-processor
-does
-not
-have
-access
-to
-the
-Web.
-</p>
-<div class="example"><div class="example-title"><span>Example 4</span>: In-line context definition</div><pre class="example">{
- <span class="diff">"@context":
- {
- "name": "http://xmlns.com/foaf/0.1/name",
- "depiction":
- {
- "@id": "http://xmlns.com/foaf/0.1/depiction",
- "@type": "@id"
- },
- "homepage":
- {
- "@id": "http://xmlns.com/foaf/0.1/homepage",
- "@type": "@id"
- },
- },</span>
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-Contexts
-<em class="rfc2119" title="may">
-may
-</em>
-be
-used
-at
-any
-time
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-is
-defined.
-A
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-<em class="rfc2119" title="may">
-may
-</em>
-specify
-multiple
-contexts,
-using
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>,
-which
-is
-processed
-in
-order.
-This
-is
-useful
-when
-an
-author
-would
-like
-to
-use
-an
-existing
-context
-and
-add
-application-specific
-terms
-to
-the
-existing
-context.
-Duplicate
-context
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-<em class="rfc2119" title="must">
-must
-</em>
-be
-overridden
-using
-a
-last-defined-overrides
-mechanism.
-</p>
-<div class="example"><div class="example-title"><span>Example 5</span>: Scoped contexts within node definitions</div><pre class="example">{
- <span class="diff">"@context":
- {
- "name": "http://example.com/person#name",
- "details": "http://example.com/person#details"
- },</span>
- "<span class="diff">name</span>": "Markus Lanthaler",
- ...
- "details":
- {
- <span class="diff">"@context": {
- "name": "http://example.com/organization#name"
- },</span>
- "<span class="diff">name</span>": "Graz University of Technology"
- }
-}
-</pre>
-</div>
-<p>
-In
-the
-example
-above,
-the
-<code>
-name
-</code>
-prefix
-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
-there
-exist
-legacy
-applications
-that
-depend
-on
-the
-specific
-structure
-of
-the
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-If
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-is
-re-defined
-within
-a
-context,
-all
-previous
-rules
-associated
-with
-the
-previous
-definition
-are
-removed.
-A
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-defined
-in
-a
-previous
-context
-<em class="rfc2119" title="must">
-must
-</em>
-be
-removed,
-if
-it
-is
-re-defined
-to
-<code>
-null
-</code>.
-</p>
-</div>
-<p>
-The
-set
-of
-contexts
-defined
-within
-a
-specific
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-are
-referred
-to
-as
-<dfn title="local_context" id="dfn-local_context">
-local
-context
-</dfn>
-s.
-Setting
-the
-context
-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
-<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
-context
-</a>
-s
-that
-are
-in
-scope
-at
-a
-specific
-point
-within
-the
-document.
-The
-following
-example
-specifies
-an
-external
-context
-and
-then
-layers
-a
-local
-context
-on
-top
-of
-the
-external
-context:
-</p>
-<div class="example"><div class="example-title"><span>Example 6</span>: Combining external and local contexts</div><pre class="example">{
- <span class="diff">"@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="diff">"pic": "http://twitter.com/account/profile_image/manusporny"</span>
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-To
-ensure
-the
-best
-possible
-performance,
-it
-is
-a
-best
-practice
-to
-put
-the
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-definition
-at
-the
-top
-of
-the
-JSON-LD
-document.
-If
-it
-isn't
-listed
-first,
-processors
-have
-to
-save
-each
-key-value
-pair
-until
-the
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-is
-processed.
-This
-creates
-a
-memory
-and
-complexity
-burden
-for
-certain
-types
-of
-low-memory
-footprint
-JSON-LD
-processors.
-</p>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-The
-<code>
-null
-</code>
-value
-is
-processed
-in
-a
-special
-way
-in
-JSON-LD.
-Unless
-otherwise
-specified,
-a
-JSON-LD
-processor
-<em class="rfc2119" title="must">
-must
-</em>
-act
-as
-if
-a
-key-value
-pair
-in
-the
-body
-of
-a
-JSON-LD
-document
-was
-never
-declared
-when
-the
-value
-equals
-<em>
-null
-</em>.
-If
-<code>
-@value
-</code>,
-<code>
-@list
-</code>,
-or
-<code>
-@set
-</code>
-is
-set
-to
-<em>
-null
-</em>
-in
-expanded
-form,
-then
-the
-entire
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-is
-ignored.
-If
-<code>
-@context
-</code>
-is
-set
-to
-<em>
-null
-</em>,
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>
-is
-reset
-and
-when
-used
-within
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>,
-it
-removes
-any
-definition
-associated
-with
-the
-key,
-unless
-otherwise
-specified.
-</p>
-</div>
-</section>
-<section id="from-json-to-json-ld">
-<h3>
-<span class="secno">
-<del class="diff-old">3.4
-</del>
-<ins class="diff-chg">3.6
-</ins>
-</span>
-From
-JSON
-to
-JSON-LD
-</h3>
-<p>
-If
-a
-set
-of
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-such
-as,
-<strong>
-name
-</strong>,
-<strong>
-homepage
-</strong>,
-and
-<strong>
-depiction
-</strong>,
-are
-defined
-in
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>,
-and
-that
-context
-is
-used
-to
-resolve
-the
-names
-in
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-objects
-</a>,
-machines
-are
-able
-to
-automatically
-expand
-the
-terms
-to
-something
-meaningful
-and
-unambiguous,
-like
-this:
-</p>
-<div class="example"><div class="example-title"><span>Example 7</span>: Expanded terms</div><pre class="example">{
- "<span class="diff">http://xmlns.com/foaf/0.1/name</span>": "Manu Sporny",
- "<span class="diff">http://xmlns.com/foaf/0.1/homepage</span>": "http://manu.sporny.org"
- "<span class="diff">http://xmlns.com/foaf/0.1/depiction</span>": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-Doing
-this
-allows
-JSON
-to
-be
-unambiguously
-machine-readable
-without
-requiring
-developers
-to
-drastically
-change
-their
-workflow.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-The
-example
-above
-does
-not
-use
-the
-<code>
-@id
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-to
-identify
-the
-node
-being
-described
-above.
-This
-type
-of
-node
-is
-called
-an
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>.
-It
-is
-advised
-that
-all
-nodes
-described
-in
-JSON-LD
-are
-given
-unique
-identifiers
-via
-the
-<code>
-@id
-</code>
-keyword
-unless
-the
-data
-is
-not
-intended
-to
-be
-linked
-to
-from
-other
-data
-sets.
-</p>
-</div>
-<p>
-A
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-used
-to
-define
-property
-values
-is
-called
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>.
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-Node
-definitions
-</a>
-do
-not
-require
-an
-<code>
-@id
-</code>.
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-Node
-definitions
-</a>
-that
-do
-not
-contain
-an
-<code>
-@id
-</code>
-are
-known
-as
-an
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-nodes
-</a>.
-</p>
-</section>
-<section id="iris">
-<h3>
-<span class="secno">
-<del class="diff-old">3.5
-</del>
-<ins class="diff-chg">3.7
-</ins>
-</span>
-IRIs
-</h3>
-<p>
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-IRIs
-</a>
-are
-fundamental
-to
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-as
-that
-is
-how
-most
-<a class="tref internalDFN" title="node" href="#dfn-node">
-nodes
-</a>
-s
-and
-all
-<a class="tref internalDFN" title="property" href="#dfn-property">
-properties
-</a>
-are
-identified.
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-can
-be
-expressed
-in
-a
-variety
-of
-different
-ways
-in
-JSON-LD.
-</p>
-<p>
-An
-<dfn title="iri" id="dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</dfn>
-(an
-Internationalized
-Resource
-Identifier)
-is
-described
-in
-[
-<cite>
-<a class="bibref" href="#bib-RFC3987">
-RFC3987
-</a>
-</cite>
-])
-and
-the
-use
-with
-JSON-LD
-conforms
-to
-the
-definition
-of
-<cite>
-<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-</cite>
-in
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-].
-</p>
-<ol>
-<li>
-Except
-within
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-definition,
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-in
-the
-key
-position
-in
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-that
-have
-a
-mapping
-or
-a
-vocabulary
-base
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-in
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>
-are
-expanded
-to
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-by
-JSON-LD
-processors.
-</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
-in
-effect
-that
-identify
-the
-value
-as
-an
-<code>
-@id
-</code>.
-</li>
-</ol>
-<p>
-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>,
-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="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>,
-or
-as
-a
-value
-relative
-to
-<code>
-@vocab
-</code>.
-</p>
-<p>
-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>
-]
-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
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-are
-resolved
-relative
-to
-the
-<dfn title="base_iri" id="dfn-base_iri">
-base
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</dfn>
-associated
-with
-the
-document
-(typically,
-the
-directory
-that
-contains
-the
-document
-or
-the
-document
-itself).
-</p>
-<p>
-IRIs
-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="diff">http://xmlns.com/foaf/0.1/name</span>": "Manu Sporny",
-...
-}
-</pre>
-</div>
-<p>
-In
-the
-example
-above,
-the
-key
-<code>
-http://xmlns.com/foaf/0.1/name
-</code>
-is
-interpreted
-as
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-because
-it
-contains
-a
-colon
-(
-<code>:
-</code>
-)
-and
-the
-'http'
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>
-does
-not
-exist
-in
-the
-context.
-</p>
-<p>
-Term
-expansion
-occurs
-for
-IRIs
-if
-the
-value
-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="diff">@context</span>":
- {
- "<span class="diff">name</span>": "<span class="diff">http://xmlns.com/foaf/0.1/name</span>"
-...
- },
- "<span class="diff">name</span>": "Manu Sporny",
- "status": "trollin'",
-...
-}
-</pre>
-</div>
-<p>
-<a class="tref internalDFN" title="term" href="#dfn-term">
-Term
-</a>
-s
-are
-case
-sensitive,
-and
-<em class="rfc2119" title="must">
-must
-</em>
-be
-matched
-using
-a
-case-sensitive
-comparison.
-</p>
-<p>
-JSON
-keys
-that
-do
-not
-expand
-to
-an
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-are
-ignored,
-or
-removed
-in
-some
-cases,
-by
-the
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-].
-However,
-JSON
-keys
-that
-do
-not
-include
-a
-mapping
-in
-the
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-are
-still
-considered
-valid
-expressions
-in
-JSON-LD
-documents
--
-the
-keys
-just
-don't
-have
-any
-machine-readable,
-semantic
-meaning.
-</p>
-<p>
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-Prefix
-</a>
-es
-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,
-and
-the
-prefix
-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 10</span>: Prefix expansion</div><pre class="example">{
- "<span class="diff">@context</span>":
- {
- "<span class="diff">foaf</span>": "<span class="diff">http://xmlns.com/foaf/0.1/</span>"
-...
- },
- "<span class="diff">foaf:name</span>": "Manu Sporny",
-...
-}
-</pre>
-</div>
-<p>
-<code>
-foaf:name
-</code>
-above
-will
-automatically
-expand
-out
-to
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-http://xmlns.com/foaf/0.1/name
-</code>.
-See
-<a href="#compact-iris" class="sec-ref">
-<span class="secno">
-4.1
-</span>
-<span class="sec-title">
-Compact
-IRIs
-</span>
-</a>
-for
-more
-details.
-</p>
-<p>
-If
-the
-<code>
-@vocab
-</code>
-is
-set,
-all
-keys
-that
-do
-not
-match
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-or
-a
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>
-are
-It
-is
-often
-common
-that
-all
-types
-and
-properties
-come
-from
-the
-same
-vocabulary.
-JSON-LD's
-<code>
-@vocab
-</code>
-keyword
-allows
-to
-set
-a
-base
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-to
-be
-used
-for
-all
-properties
-and
-types
-that
-that
-do
-not
-match
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>,
-a
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>,
-or
-an
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-(i.e.,
-do
-not
-contain
-a
-colon).
-The
-<code>
-@vocab
-</code>
-mapping
-<em class="rfc2119" title="must">
-must
-</em>
-have
-a
-value
-of
-a
-simple
-string
-with
-the
-lexical
-form
-of
-an
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>.
-</p>
-<div class="example"><div class="example-title"><span>Example 11</span>: Vocabulary base IRI</div><pre class="example">{
- <span class="diff">"@context": {
- "@vocab": "http://xmlns.com/foaf/1.0/"
- },</span>
- "@type": <span class="diff">"Person"</span>,
- <span class="diff">"name"</span>: "Manu Sporny",
-}
-</pre>
-</div>
-<p>
-An
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-is
-generated
-when
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-is
-used
-in
-the
-value
-position
-that
-contains
-an
-<code>
-@id
-</code>
-keyword:
-</p>
-<div class="example"><div class="example-title"><span>Example 12</span>: Expanded IRI definition</div><pre class="example">{
-...
- "homepage": { "<span class="diff">@id</span>": "http://manu.sporny.org" }
-...
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-Specifying
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-with
-an
-<code>
-@id
-</code>
-key
-is
-used
-to
-identify
-that
-<a class="tref internalDFN" title="node" href="#dfn-node">
-node
-</a>
-using
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-When
-the
-object
-has
-only
-the
-<code>
-@id
-</code>,
-it
-is
-called
-a
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>.
-This
-facility
-<em class="rfc2119" title="may">
-may
-</em>
-also
-be
-used
-to
-link
-to
-another
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-using
-a
-mechanism
-called
-<a class="tref internalDFN" title="embedding" href="#dfn-embedding">
-embedding
-</a>,
-which
-is
-covered
-in
-the
-section
-titled
-<a href="#embedding" class="sec-ref">
-<span class="secno">
-4.10
-</span>
-<span class="sec-title">
-Embedding
-</span>
-</a>.
-</p>
-</div>
-<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 13</span>: Type coercion</div><pre class="example">{<span class="diff">
- "@context":
- {
- ...
- "homepage":
- {
- "@id": "http://xmlns.com/foaf/0.1/homepage",
- "@type": "@id"
- }
- ...
- }</span>
-...
- "homepage": "http://manu.sporny.org/",
-...
-}
-</pre>
-</div>
-<p>
-In
-the
-example
-above,
-even
-though
-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
-processed
-by
-a
-JSON-LD
-Processor.
-</p>
-</section>
-<section id="node-identifiers">
-<h3>
-<span class="secno">
-<del class="diff-old">3.6
-</del>
-<ins class="diff-chg">3.8
-</ins>
-</span>
-Node
-Identifiers
-</h3>
-<p>
-To
-be
-able
-to
-externally
-reference
-nodes
-in
-a
-graph,
-it
-is
-important
-that
-each
-node
-has
-an
-unambiguous
-identifier.
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-are
-a
-fundamental
-concept
-of
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>,
-and
-nodes
-should
-have
-a
-de-referencable
-identifier
-used
-to
-name
-and
-locate
-them.
-For
-nodes
-to
-be
-truly
-linked,
-de-referencing
-the
-identifier
-should
-result
-in
-a
-representation
-of
-that
-node
-(for
-example,
-using
-a
-URL
-to
-retrieve
-a
-web
-page).
-Associating
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-with
-a
-node
-tells
-an
-application
-that
-the
-returned
-document
-contains
-a
-description
-of
-the
-node
-requested.
-</p>
-<p>
-JSON-LD
-documents
-may
-also
-contain
-descriptions
-of
-other
-nodes,
-so
-it
-is
-necessary
-to
-be
-able
-to
-uniquely
-identify
-each
-node
-which
-may
-be
-externally
-referenced.
-</p>
-<p>
-The
-node
-of
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</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 14</span>: Identifying a node</div><pre class="example">{
- "@context":
- {
- ...
- "homepage":
- {
- "@id": "http://xmlns.com/foaf/0.1/homepage",
- "@type": "@id"
- }
- ...
- },
- "<span class="diff">@id</span>": "<span class="diff">http://example.org/people#joebob</span>",
- "homepage": "http://manu.sporny.org/",
-...
-}
-</pre>
-</div>
-<p>
-The
-example
-above
-contains
-a
-node
-identified
-by
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-http://example.org/people#joebob
-</code>.
-</p>
-<p>
-A
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-used
-to
-define
-property
-values
-is
-called
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>.
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-Node
-definitions
-</a>
-do
-not
-require
-an
-<code>
-@id
-</code>.
-A
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-that
-does
-not
-contain
-an
-<code>
-@id
-</code>
-property
-defines
-properties
-of
-an
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>.
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-Node
-definitions
-</a>
-<em class="rfc2119" title="may">
-may
-</em>
-be
-spread
-among
-different
-parts
-of
-a
-document
-or
-even
-between
-different
-documents.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-To
-ensure
-the
-best
-possible
-performance,
-when
-possible,
-it
-is
-a
-best
-practice
-to
-put
-JSON-LD
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-s,
-such
-as
-<code>
-@id
-</code>
-and
-<code>
-@context
-</code>
-before
-other
-key-value
-pairs
-in
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>.
-However,
-keys
-in
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-are
-not
-ordered,
-so
-processors
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-depend
-on
-key
-ordering.
-If
-keywords
-are
-not
-listed
-first,
-processors
-have
-to
-save
-each
-key-value
-pair
-until
-at
-least
-the
-<code>
-@context
-</code>
-and
-the
-<code>
-@id
-</code>
-are
-processed.
-Not
-specifying
-those
-keywords
-first
-creates
-a
-memory
-and
-complexity
-burden
-for
-low-memory
-footprint
-processors,
-forcing
-them
-to
-use
-more
-memory
-and
-computing
-cycles
-than
-necessary.
-</p>
-</div>
-</section>
-<section id="specifying-the-type">
-<h3>
-<span class="secno">
-<del class="diff-old">3.7
-</del>
-<ins class="diff-chg">3.9
-</ins>
-</span>
-Specifying
-the
-Type
-</h3>
-<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>.
-To
-be
-considered
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>,
-types
-<em class="rfc2119" title="must">
-must
-</em>
-be
-uniquely
-identified
-by
-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 15</span>: Specifying the type for a node</div><pre class="example">{
-...
- "@id": "http://example.org/people#joebob",
- "<span class="diff">@type</span>": "<span class="diff">http://xmlns.com/foaf/0.1/Person</span>",
-...
-}
-</pre>
-</div>
-<p>
-A
-node
-can
-be
-assigned
-more
-than
-one
-type
-by
-using
-the
-following
-markup
-pattern:
-</p>
-<div class="example"><div class="example-title"><span>Example 16</span>: Specifying multiple types for a node</div><pre class="example">{
-...
- "@id": "http://example.org/places#BrewEats",
- "<span class="diff">@type</span>": <span class="diff">["http://schema.org/Restaurant", "http://schema.org/Brewery"]</span>
-...
-}
-</pre>
-</div>
-</section>
-<section id="string-internationalization">
-<h3>
-<span class="secno">
-<del class="diff-old">3.8
-</del>
-<ins class="diff-chg">3.10
-</ins>
-</span>
-String
-Internationalization
-</h3>
-<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.
-Firstly,
-it
-is
-possible
-to
-define
-a
-default
-language
-for
-a
-JSON-LD
-document
-by
-setting
-the
-<code>
-@language
-</code>
-key
-in
-the
-<code>
-@context
-</code>
-or
-in
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-definition:
-</p>
-<div class="example"><div class="example-title"><span>Example 17</span>: String Internationalization</div><pre class="example">{
- <span class="diff">"@context":
- {
- ...
- "@language": "ja"
- },</span>
- "name": <span class="diff">"花澄"</span>,
- "occupation": <span class="diff">"科学者"</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">
-string
-</a>
-s
-<em>
-花澄
-</em>
-and
-<em>
-科学者
-</em>.
-Languages
-<em class="rfc2119" title="must">
-must
-</em>
-be
-well-formed
-language
-tags
-according
-to
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-].
-</p>
-<p>
-It
-is
-possible
-to
-override
-the
-default
-language
-by
-using
-the
-expanded
-form
-of
-a
-value:
-</p>
-<div class="example"><div class="example-title"><span>Example 18</span>: Expanded value with language</div><pre class="example">{
- "@context": {
- ...
- "@language": "ja"
- },
- "name": "花澄",
- "occupation": <span class="diff">{
- "@value": "Scientist",
- "@language": "en"
- }</span>
-}
-</pre>
-</div>
-<p>
-It
-is
-also
-possible
-to
-override
-the
-default
-language
-or
-specify
-a
-plain
-value
-by
-omitting
-the
-<code>
-@language
-</code>
-tag
-or
-setting
-it
-to
-<code>
-null
-</code>
-when
-expressing
-the
-expanded
-value:
-</p>
-<div class="example"><div class="example-title"><span>Example 19</span>: Expanded value to remove language</div><pre class="example">{
- "@context": {
- ...
- "@language": "ja"
- },
- "name": <span class="diff">{
- "@value": "Frank"
- },</span>
- "occupation": <span class="diff"> {
- "@value": "Ninja",
- "@language": "en"
- }</span>,
- "speciality": "手裏剣"
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-Please
-note
-that
-language
-associations
-<em class="rfc2119" title="must">
-must
-</em>
-only
-be
-applied
-to
-plain
-literal
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-s.
-That
-is,
-<a class="tref internalDFN" title="typed_value" href="#dfn-typed_value">
-typed
-value
-</a>
-s
-or
-values
-that
-are
-subject
-to
-<a href="#type-coercion" class="sec-ref">
-<span class="secno">
-4.6
-</span>
-<span class="sec-title">
-Type
-Coercion
-</span>
-</a>
-won't
-be
-language
-tagged.
-</p>
-</div>
-<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 20</span>: Clearing default language</div><pre class="example">{
- "@context": {
- ...
- "@language": "ja"
- },
- "name": "花澄",
- "details": {
-<span class="diff"> "@context": {
- "@language": null
- },</span>
- "occupation": "Ninja"
- }
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-JSON-LD
-allows
-one
-to
-associate
-language
-information
-with
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s.
-See
-<a href="#expanded-term-definition" class="sec-ref">
-<span class="secno">
-4.5
-</span>
-<span class="sec-title">
-Expanded
-Term
-Definition
-</span>
-</a>
-for
-more
-details.
-</p>
-</div>
-</section>
-<section id="json-ld-syntax">
-<h3>
-<span class="secno">
-<del class="diff-old">3.9
-</del>
-<ins class="diff-chg">3.11
-</ins>
-</span>
-JSON-LD
-Syntax
-</h3>
-<p>
-A
-JSON-LD
-document
-is
-first,
-and
-foremost,
-a
-JSON
-document
-(as
-defined
-in
-[
-<cite>
-<a class="bibref" href="#bib-RFC4627">
-RFC4627
-</a>
-</cite>
-]),
-and
-any
-syntactically
-correct
-JSON
-document
-<em class="rfc2119" title="must">
-must
-</em>
-be
-processed
-by
-a
-conforming
-JSON-LD
-processor.
-However,
-JSON-LD
-describes
-a
-specific
-syntax
-to
-use
-for
-expressing
-Linked
-Data.
-This
-includes
-the
-use
-of
-specific
-keywords,
-as
-identified
-in
-<a href="#syntax-tokens-and-keywords" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.2
-</del>
-<ins class="diff-chg">3.4
-</ins>
-</span>
-<span class="sec-title">
-Syntax
-Tokens
-and
-Keywords
-</span>
-</a>
-for
-expressing
-<a title="node definition">
-node
-definitions
-</a>,
-values,
-and
-the
-<a href="#dfn-context" class="internalDFN">
-context
-</a>.
-See
-<a href="#json-ld-grammar" class="sec-ref">
-<span class="secno">
-A.
-</span>
-<span class="sec-title">
-JSON-LD
-Grammar
-</span>
-</a>
-for
-authoring
-guidelines
-and
-a
-BNF
-description
-of
-JSON-LD.
-</p>
-</section>
-</section>
-<section id="advanced-concepts">
-<h2>
-<span class="secno">
-4.
-</span>
-Advanced
-Concepts
-</h2>
-<em>
-This
-section
-is
-normative.
-</em>
-<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 id="compact-iris">
-<h3>
-<span class="secno">
-4.1
-</span>
-Compact
-IRIs
-</h3>
-<p>
-<a class="tref internalDFN" title="term" href="#dfn-term">
-Term
-</a>
-s
-in
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-documents
-may
-draw
-from
-a
-number
-of
-different
-<a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">
-vocabularies
-</a>.
-At
-times,
-declaring
-every
-single
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-that
-a
-document
-uses
-can
-require
-the
-developer
-to
-declare
-tens,
-if
-not
-hundreds
-of
-potential
-<a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">
-vocabulary
-</a>
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-that
-are
-used
-across
-an
-application.
-This
-is
-a
-concern
-for
-at
-least
-two
-reasons:
-the
-first
-is
-the
-cognitive
-load
-on
-the
-developer
-of
-remembering
-all
-of
-the
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s,
-and
-the
-second
-is
-the
-serialized
-size
-of
-the
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-if
-it
-is
-specified
-inline.
-In
-order
-to
-address
-these
-issues,
-the
-concept
-of
-a
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-is
-introduced.
-</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>
-)
-which
-is
-similar
-to
-the
-<cite>
-<a href="http://www.w3.org/TR/rdfa-core/#s_curies">
-CURIE
-Syntax
-</a>
-</cite>
-in
-[
-<cite>
-<a class="bibref" href="#bib-RDFA-CORE">
-RDFA-CORE
-</a>
-</cite>
-].
-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
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-http://xmlns.com/foaf/0.1/
-</code>.
-A
-developer
-may
-append
-any
-of
-the
-FOAF
-<a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">
-vocabulary
-</a>
-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
-<a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">
-vocabulary
-</a>
-term.
-For
-example,
-<code>
-foaf:name
-</code>
-would
-be
-expanded
-out
-to
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-http://xmlns.com/foaf/0.1/name
-</code>.
-Instead
-of
-having
-to
-remember
-and
-type
-out
-the
-entire
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>,
-the
-developer
-can
-instead
-use
-the
-prefix
-in
-their
-JSON-LD
-markup.
-</p>
-<p>
-Terms
-are
-interpreted
-as
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-if
-they
-contain
-at
-least
-one
-colon
-and
-the
-first
-colon
-is
-not
-followed
-by
-two
-slashes
-(
-<code>
-//
-</code>,
-as
-in
-<code>
-http://example.com
-</code>
-).
-To
-generate
-the
-full
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-the
-value
-is
-first
-split
-into
-a
-<em>
-prefix
-</em>
-and
-<em>
-suffix
-</em>
-at
-the
-first
-occurrence
-of
-a
-colon
-(
-<code>:
-</code>
-).
-If
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>
-contains
-a
-term
-mapping
-for
-<em>
-prefix
-</em>,
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-is
-generated
-by
-prepending
-the
-mapped
-<em>
-prefix
-</em>
-to
-the
-(possibly
-empty)
-<em>
-suffix
-</em>
-using
-textual
-concatenation.
-If
-no
-prefix
-mapping
-is
-defined,
-the
-value
-is
-interpreted
-as
-an
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-If
-the
-prefix
-is
-an
-underscore
-(
-<code>
-_
-</code>
-),
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-remains
-unchanged.
-This
-effectively
-means
-that
-every
-term
-containing
-a
-colon
-will
-be
-interpreted
-by
-a
-JSON-LD
-processor
-as
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>.
-</p>
-<p>
-Consider
-the
-following
-example:
-</p>
- <div class="example"><div class="example-title"><span>Example 21</span>: Compact IRIs</div><pre class="example">{
- "@context":
- {
- <span class="diff">"dc": "http://purl.org/dc/elements/1.1/",</span>
- <span class="diff">"ex": "http://example.org/vocab#"</span>
- },
- "@id": "http://example.org/library",
- "@type": <span class="diff">"ex:Library"</span>,
- <span class="diff">"ex:contains"</span>:
- {
- "@id": "http://example.org/library/the-republic",
- "@type": <span class="diff">"ex:Book"</span>,
- <span class="diff">"dc:creator"</span>: "Plato",
- <span class="diff">"dc:title"</span>: "The Republic",
- <span class="diff">"ex:contains"</span>:
- {
- "@id": "http://example.org/library/the-republic#introduction",
- "@type": <span class="diff">"ex:Chapter"</span>,
- <span class="diff">"dc:description"</span>: "An introductory chapter on The Republic.",
- <span class="diff">"dc:title"</span>: "The Introduction"
- }
- }
-}
-</pre>
-</div>
-<p>
-In
-this
-example,
-two
-different
-<a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">
-vocabularies
-</a>
-are
-referred
-to
-using
-prefixes.
-Those
-prefixes
-are
-then
-used
-as
-type
-and
-property
-values
-using
-the
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<code>
-prefix:suffix
-</code>
-notation.
-</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 22</span>: Using vocabularies</div><pre class="example">{
- "@context":
- {
- "xsd": "http://www.w3.org/2001/XMLSchema#",
- "foaf": "http://xmlns.com/foaf/0.1/",
- <span class="diff">"foaf:homepage"</span>: { "@type": "@id" },
- "picture": { "@id": <span class="diff">"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 id="typed-values">
-<h3>
-<span class="secno">
-4.2
-</span>
-Typed
-Values
-</h3>
-<p>
-A
-value
-with
-an
-associated
-type,
-also
-known
-as
-a
-<dfn title="typed_value" id="dfn-typed_value">
-typed
-value
-</dfn>,
-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
-a
-<code>
-@context
-</code>
-section.
-</li>
-<li>
-By
-utilizing
-the
-expanded
-form
-for
-specifying
-values.
-</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 23</span>: Expanded term definition with type coercion</div><pre class="example">{
- <span class="diff">"@context":
- {
- "modified":
- {
- "@id": "http://purl.org/dc/terms/modified",
- "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
- }
- },</span>
-...
- "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
-datetime
-value
-because
-of
-the
-information
-specified
-in
-the
-<code>
-@context
-</code>.
-</p>
-<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 24</span>: Expanded value with type</div><pre class="example">{
- "@context":
- {
- "modified":
- {
- "@id": "http://purl.org/dc/terms/modified"
- }
- },
-...
- "modified":
- <span class="diff">{
- "@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>
-<p>
-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
-an
-<dfn title="node_type" id="dfn-node_type">
-node
-type
-</dfn>
-and
-a
-<dfn title="value_type" id="dfn-value_type">
-value
-type
-</dfn>
-are
-different.
-This
-is
-similar
-to
-object-oriented
-programming
-languages
-where
-both
-scalar
-and
-structured
-types
-use
-the
-same
-class
-inheritance
-mechanism,
-even
-though
-scalar
-types
-and
-structured
-types
-are
-inherently
-different.
-</p>
-<div class="example"><div class="example-title"><span>Example 25</span>: Example demonstrating the context-sensitivity for @type</div><pre class="example">{
-...
- "@id": "http://example.org/posts#TripToWestVirginia",
- <span class="diff">"@type": "http://schema.org/BlogPosting"</span>,
- "modified":
- {
- "@value": "2010-05-29T14:17:39+02:00",
- <span class="diff">"@type": "http://www.w3.org/2001/XMLSchema#dateTime"</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>.
-</p>
-</section>
-<section id="language-tagged-strings">
-<h3>
-<span class="secno">
-4.3
-</span>
-Language-tagged
-Strings
-</h3>
-<p>
-A
-string
-with
-an
-associated
-language,
-also
-known
-as
-a
-<dfn title="language-tagged_string" id="dfn-language-tagged_string">
-language-tagged
-string
-</dfn>,
-is
-indicated
-by
-associating
-a
-string
-with
-an
-language
-code
-as
-defined
-in
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-].
-Language-tagged
-strings
-may
-be
-expressed
-in
-JSON-LD
-in
-four
-ways:
-</p>
-<ol>
-<li>
-By
-defining
-a
-global
-language
-using
-the
-<code>
-@language
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-within
-a
-<code>
-@context
-</code>
-section.
-</li>
-<li>
-By
-utilizing
-the
-<code>
-@language
-</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
-a
-<code>
-@context
-</code>
-section.
-</li>
-<li>
-By
-utilizing
-the
-expanded
-form
-for
-specifying
-values.
-</li>
-<li>
-By
-utilizing
-the
-<code>
-@container
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-with
-a
-value
-of
-<code>
-@language
-</code>
-when
-defining
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-within
-a
-<code>
-@context
-</code>
-section.
-This
-usage
-pattern
-is
-called
-a
-<dfn title="language_map" id="dfn-language_map">
-language
-map
-</dfn>.
-</li>
-</ol>
-<p>
-The
-first
-example
-uses
-the
-<code>
-@language
-</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 26</span>: Expanded term definition with language coercion</div><pre class="example">{
- <span class="diff">"@context":
- {
- "title":
- {
- "@id": "http://purl.org/dc/terms/title",
- "@language": "en"
- }
- },</span>
-...
- "title": "JSON-LD Syntax",
-...
-}
-</pre>
-</div>
-<p>
-The
-<em>
-modified
-</em>
-key's
-value
-above
-is
-automatically
-language
-coerced
-to
-a
-English
-value
-because
-of
-the
-information
-specified
-in
-the
-<code>
-@context
-</code>.
-</p>
-<p>
-The
-second
-example
-uses
-the
-expanded
-form
-of
-setting
-the
-language
-information
-in
-the
-body
-of
-a
-JSON-LD
-document:
-</p>
-<div class="example"><div class="example-title"><span>Example 27</span>: Expanded value with language</div><pre class="example">{
- "@context":
- {
- "title":
- {
- "@id": "http://purl.org/dc/terms/title"
- }
- },
-...
- "title":
- <span class="diff">{
- "@value": "JSON-LD Syntax",
- "@language": "en"
- }</span>
-...
-}
-</pre>
-</div>
-<p>
-Both
-examples
-above
-would
-generate
-the
-value
-<code>
-JSON-LD
-Syntax
-</code>
-tagged
-with
-the
-language
-<code>
-en
-</code>
-;
-which
-is
-the
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-]
-code
-for
-the
-English
-language.
-</p>
-<p>
-Systems
-that
-support
-multiple
-languages
-often
-need
-to
-express
-data
-values
-in
-each
-language.
-Typically,
-such
-systems
-also
-try
-to
-ensure
-that
-developers
-have
-a
-programatically
-easy
-way
-to
-navigate
-the
-datastructures
-for
-the
-language-specific
-data.
-In
-this
-case,
-<a class="tref internalDFN" title="language_map" href="#dfn-language_map">
-language
-map
-</a>
-s
-may
-be
-utilized.
-</p>
-<div class="example"><div class="example-title"><span>Example 28</span>: Language map expressing a property in three languages</div><pre class="example">{
- "@context":
- {
- "title":
- {
- "@id": "http://purl.org/dc/terms/title"
- "@container": "@language"
- }
- },
-...
- "title":
- <span class="diff">{
- "en": "JSON-LD Syntax",
- "ru": "JSON-LD Синтаксис",
- "ja": "JSON-LDの構文"
- }</span>
-...
-}
-</pre>
-</div>
-<p>
-In
-the
-example
-above,
-the
-title
-is
-expressed
-in
-three
-languages;
-English,
-Russian,
-and
-Japanese.
-To
-access
-the
-data
-above
-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
-Japanese
-version
-of
-the
-title,
-a
-developer
-would
-use
-the
-following
-code
-snippet:
-<code>
-obj.title.ja
-</code>.
-</p>
-</section>
-<section id="referencing-contexts-from-json-documents">
-<h3>
-<span class="secno">
-4.4
-</span>
-Referencing
-Contexts
-from
-JSON
-Documents
-</h3>
-<p>
-Ordinary
-JSON
-documents
-can
-be
-transformed
-into
-JSON-LD
-documents
-by
-referencing
-to
-an
-external
-JSON-LD
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-in
-an
-HTTP
-Link
-Header.
-Doing
-this
-allows
-JSON
-to
-be
-unambiguously
-machine-readable
-without
-requiring
-developers
-to
-drastically
-change
-their
-workflow
-and
-provides
-an
-upgrade
-path
-for
-existing
-infrastructure
-without
-breaking
-existing
-clients
-that
-rely
-on
-the
-<code>
-application/json
-</code>
-media
-type.
-</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
-JSON-LD
-document
-in
-an
-HTTP
-Link
-Header
-[
-<cite>
-<a class="bibref" href="#bib-RFC5988">
-RFC5988
-</a>
-</cite>
-]
-using
-the
-<code>
-describedby
-</code>
-link
-relation.
-The
-referenced
-document
-<em class="rfc2119" title="must">
-must
-</em>
-have
-a
-top-level
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>.
-The
-<code>
-@context
-</code>
-subtree
-within
-that
-object
-is
-added
-to
-the
-top-level
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</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="node_definition" href="#dfn-node_definition">
-node
-definitions
-</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.
-</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 29</span>: Specifing context through HTTP 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.0 200 OK
-...
-Content-Type: <span class="diff">application/json</span>
-<span class="diff">Link: <http://json-ld.org/contexts/person.jsonld>; rel="describedby"; type="application/ld+json"</span>
-{
- "name": "Markus Lanthaler",
- "homepage": "http://www.markus-lanthaler.com/",
- "depiction": "http://twitter.com/account/profile_image/markuslanthaler"
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-JSON-LD
-documents
-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.
-</p>
-</div>
-</section>
-<section id="expanded-term-definition">
-<h3>
-<span class="secno">
-4.5
-</span>
-Expanded
-Term
-Definition
-</h3>
-<p>
-Within
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-definition,
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-<em class="rfc2119" title="may">
-may
-</em>
-be
-defined
-using
-an
-expanded
-notation
-to
-allow
-for
-additional
-information
-associated
-with
-the
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-to
-be
-specified
-(see
-also
-<a href="#type-coercion" class="sec-ref">
-<span class="secno">
-4.6
-</span>
-<span class="sec-title">
-Type
-Coercion
-</span>
-</a>
-and
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-).
-</p>
-<p>
-Instead
-of
-using
-a
-string
-representation
-of
-an
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>,
-the
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-<em class="rfc2119" title="may">
-may
-</em>
-be
-specified
-using
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-having
-an
-<code>
-@id
-</code>
-key.
-The
-value
-of
-the
-<code>
-@id
-</code>
-key
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either
-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>,
-or
-an
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-Such
-an
-object
-is
-called
-a
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>.
-</p>
-<div class="example"><div class="example-title"><span>Example 30</span>: Expanded term definition</div><pre class="example">{
- "@context":
- {
- "foaf": <span class="diff">{ "@id": "http://xmlns.com/foaf/0.1/" }</span>,
- "name": <span class="diff">{ "@id": "http://xmlns.com/foaf/0.1/name" }</span>,
- "homepage": <span class="diff">{ "@id": "foaf:homepage" }</span>,
- "depiction": <span class="diff">{ "@id": "foaf:depiction" }</span>
- },
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-This
-allows
-additional
-information
-to
-be
-associated
-with
-the
-term.
-This
-<em class="rfc2119" title="may">
-may
-</em>
-be
-used
-for
-<a href="#type-coercion" class="sec-ref">
-<span class="secno">
-4.6
-</span>
-<span class="sec-title">
-Type
-Coercion
-</span>
-</a>,
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-),
-or
-to
-associate
-language
-information
-with
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-as
-shown
-in
-the
-following
-example:
-</p>
-<div class="example"><div class="example-title"><span>Example 31</span>: Expanded term definition with language</div><pre class="example">{
- "@context": {
- ...
- "ex": "http://example.com/",
- "@language": "ja",
- "name": { "@id": "ex:name", <span class="diff">"@language": null</span> },
- "occupation": { "@id": "ex:occupation" },
- "occupation_en": { "@id": "ex:occupation", <span class="diff">"@language": "en"</span> },
- "occupation_cs": { "@id": "ex:occupation", <span class="diff">"@language": "cs"</span> }
- },
- <span class="diff">"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
-expanded
-term
-definition.
-</p>
-<p>
-Expanded
-terms
-<em class="rfc2119" title="may">
-may
-</em>
-also
-be
-defined
-using
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-IRIs
-</a>
-or
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-IRIs
-</a>
-as
-keys.
-If
-the
-definition
-does
-not
-include
-an
-<code>
-@id
-</code>
-key,
-the
-expanded
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-is
-determined
-by
-performing
-expansion
-of
-the
-key
-within
-the
-current
-active
-context.
-This
-mechanism
-is
-mainly
-used
-to
-associate
-type
-or
-language
-information
-with
-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>.
-</p>
-<div class="note">
-<div class="note-title">
-<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
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-to
-expand
-to
-some
-other
-unrelated
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-(for
-example,
-<code>
-foaf:name
-</code>
-expanding
-to
-<code>
-http://example.org/unrelated#species
-</code>
-),
-such
-usage
-is
-strongly
-discouraged.
-</p>
-</div>
-</section>
-<section id="type-coercion">
-<h3>
-<span class="secno">
-4.6
-</span>
-Type
-Coercion
-</h3>
-<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">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-to
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s.
-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 href="#expanded-term-definition" class="sec-ref">
-<span class="secno">
-4.5
-</span>
-<span class="sec-title">
-Expanded
-Term
-Definition
-</span>
-</a>
-using
-the
-<code>
-@type
-</code>
-key.
-The
-value
-of
-this
-key
-represents
-a
-type
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-and
-<em class="rfc2119" title="must">
-must
-</em>
-take
-the
-form
-of
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>,
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-or
-the
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-<code>
-@id
-</code>.
-Specifying
-<code>
-@id
-</code>
-indicates
-that
-within
-the
-body
-of
-a
-JSON-LD
-document,
-a
-string
-value
-of
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-coerced
-to
-<code>
-@id
-</code>
-is
-to
-be
-interpreted
-as
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<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
-<em class="rfc2119" title="may">
-may
-</em>
-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
--
-the
-JSON-LD
-processor
-will
-be
-able
-to
-determine
-the
-proper
-expansion
-for
-<code>
-xsd:integer
-</code>.
-</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
-value
-</a>
-s,
-IRIs
-and
-lists.
-</p>
-<div class="example"><div class="example-title"><span>Example 32</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="diff">{
- "@id": "http://xmlns.com/foaf/0.1/age",
- "@type": "xsd:integer"
- }</span>,
- "homepage":
- <span class="diff">{
- "@id": "http://xmlns.com/foaf/0.1/homepage",
- "@type": "@id",
- "@container": "@list"
- }</span>
- },
- "name": "John Smith",
- "age": <span class="diff">"41"</span>,
- "homepage":
- <span class="diff">[
- "http://personal.example.org/",
- "http://work.example.com/jsmith/"
- ]</span>
-}
-</pre>
-</div>
-<p>
-The
-example
-above
-would
-generate
-the
-following
-Turtle:
-</p>
-<div class="example"><div class="example-title"><span>Example 33</span></div><pre class="example">@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-[ foaf:name "John Smith";
- foaf:age "41"^^xsd:integer;
- foaf:homepage ( <http://personal.example.org/> <http://work.example.com/jsmith/> )
-]
-.
-</pre>
-</div>
-<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 34</span>: Term definition with absolute IRI</div><pre class="example">{
- "@context":
- {
- <span class="diff">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
- "<span class="diff">foaf:age</span>":
- {
- "@type": "xsd:integer"
- },
- "<span class="diff">foaf:homepage</span>":
- <span class="diff">{
- "@type": "@id"
- }</span>
- },
- "foaf:name": "John Smith",
- "foaf:age": <span class="diff">"41"</span>,
- "foaf:homepage":
- <span class="diff">[
- "http://personal.example.org/",
- "http://work.example.com/jsmith/"
- ]</span>
-}
-</pre>
-</div>
-<p>
-In
-this
-case
-the
-<code>
-@id
-</code>
-definition
-is
-optional,
-but
-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>
-is
-treated
-as
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-(not
-a
-<code>
-prefix:suffix
-</code>
-construct)
-so
-that
-the
-actual
-definition
-of
-a
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>
-becomes
-unnecessary.
-</p>
-<div class="note">
-<div class="note-title">
-<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>
-<p>
-Type
-coercion
-is
-performed
-using
-the
-unexpanded
-value
-of
-the
-key,
-which
-<em class="rfc2119" title="must">
-must
-</em>
-have
-an
-exact
-match
-for
-an
-entry
-in
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>.
-</p>
-</section>
-<section id="property-generators">
-<h3>
-<span class="secno">
-4.7
-</span>
-Property
-Generators
-</h3>
-<p>
-At
-times,
-an
-author
-may
-find
-that
-they
-need
-to
-express
-the
-same
-value
-for
-multiple
-properties.
-The
-simplest
-approach
-to
-accomplish
-this
-goal
-would
-be
-to
-do
-the
-following:
-</p>
-<div class="example"><div class="example-title"><span>Example 35</span>: Verbose expression of multiple properties with the same value</div><pre class="example">{
- "@context":
- {
- <span class="diff">"title1": "http://purl.org/dc/terms/title"</span>,
- <span class="diff">"title2": "http://schema.org/name"</span>,
- <span class="diff">"title3": "http://www.w3.org/2000/01/rdf-schema#label"</span>
- },
- "@id": "http://example.com/book",
- <span class="diff">"title1": "The Count of Monte Cristo"</span>,
- <span class="diff">"title2": "The Count of Monte Cristo"</span>,
- <span class="diff">"title3": "The Count of Monte Cristo"</span>
-}
-</pre>
-</div>
-<p>
-Unfortunately,
-the
-approach
-above
-produces
-redundant
-data
-and
-would
-become
-a
-publishing
-burden
-for
-large
-data
-sets.
-In
-these
-situations,
-the
-author
-may
-use
-a
-<dfn title="property_generator" id="dfn-property_generator">
-property
-generator
-</dfn>
-to
-express
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-once,
-but
-have
-the
-JSON-LD
-processor
-expand
-the
-single
-statement
-into
-multiple
-statements.
-This
-method
-can
-be
-accomplished
-by
-using
-the
-following
-markup
-pattern:
-</p>
-<div class="example"><div class="example-title"><span>Example 36</span>: Generating multiple properties using a single term</div><pre class="example">{
- "@context":
- {
-<del class="diff-old"> "title": { "@id": ["http://purl.org/dc/terms/title",
- "http://schema.org/name",
- "http://www.w3.org/2000/01/rdf-schema#label"] },
-</del>
- <span class="diff">"title": { "@id": [ "http://purl.org/dc/terms/title",
-<ins class="diff-chg"> "http://schema.org/name",
- "http://www.w3.org/2000/01/rdf-schema#label" ] }</span>
-</ins>
- },
- "@id": "http://example.com/book",
- <span class="diff">"title": "The Count of Monte Cristo"</span>
-}
-</pre>
-</div>
-<p>
-While
-the
-term
-above
-is
-only
-used
-once
-outside
-of
-the
-<code>
-@context
-</code>,
-a
-JSON-LD
-processor
-will
-internally
-transform
-the
-document
-above
-into
-the
-following
-set
-of
-statements:
-</p>
-<div class="example"><div class="example-title"><span>Example 37</span></div><pre class="example"><http://example.com/book>
- <http://purl.org/dc/terms/title>
- "The Count of Monte Cristo" .
-<http://example.com/book>
- <http://schema.org/name>
- "The Count of Monte Cristo" .
-<http://example.com/book>
- <http://www.w3.org/2000/01/rdf-schema#label>
-"The
-Count
-of
-Monte
-Cristo"
-.
-</pre>
-</div>
-</section>
-<section id="iri-expansion-within-a-context">
-<h3>
-<span class="secno">
-4.8
-</span>
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-Expansion
-Within
-a
-Context
-</h3>
-<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 href="#iris" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.5
-</del>
-<ins class="diff-chg">3.7
-</ins>
-</span>
-<span class="sec-title">
-IRIs
-</span>
-</a>
-).
-Within
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-definition,
-this
-can
-mean
-that
-terms
-defined
-within
-the
-context
-<em class="rfc2119" title="may">
-may
-</em>
-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 38</span>: IRI expansion within context</div><pre class="example">{
- "@context":
- {
- <span class="diff">"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="diff">"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">
-Term
-</a>
-s
-<em class="rfc2119" title="may">
-may
-</em>
-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 39</span></div><pre class="example">{
- "@context":
- {
- <span class="diff">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
- "xsd": "http://www.w3.org/2001/XMLSchema#",
- "name": <span class="diff">"foaf:name"</span>,
- "age":
- {
- "@id": <span class="diff">"foaf:age"</span>,
- "@type": "xsd:integer"
- },
- "homepage":
- {
- "@id": <span class="diff">"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>
-<em class="rfc2119" title="may">
-may
-</em>
-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 40</span></div><pre class="example">{
- "@context":
- {
- <span class="diff">"foaf": "http://xmlns.com/foaf/0.1/"</span>,
- "xsd": "http://www.w3.org/2001/XMLSchema#",
- "name": "foaf:name",
- "<span class="diff">foaf:age</span>":
- {
- "@type": "xsd:integer"
- },
- "<span class="diff">foaf:homepage</span>":
- <span class="diff">{
- "@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
-JSON-LD
-processor
-will
-derive
-the
-full
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-for
-<code>
-foaf:homepage
-</code>
-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>
-<em class="rfc2119" title="may">
-may
-</em>
-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 41</span></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="diff">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>
-<em class="rfc2119" title="must">
-must
-</em>
-also
-be
-used
-in
-the
-JSON-LD
-document.
-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
-JSON-LD
-processor
-will
-use
-direct
-string
-comparison
-when
-looking
-up
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-in
-a
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-before
-it
-applies
-the
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>
-lookup
-mechanism.
-</p>
-<p>
-The
-only
-exception
-for
-using
-terms
-in
-the
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>
-is
-that
-they
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-be
-used
-in
-a
-circular
-manner.
-That
-is,
-a
-definition
-of
-<em>
-term-1
-</em>
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-depend
-on
-the
-definition
-of
-<em>
-term-2
-</em>
-if
-<em>
-term-2
-</em>
-also
-depends
-on
-<em>
-term-1
-</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 42</span></div><pre class="example">{
- "@context":
- {
- <span class="diff">"term1": "term2:foo",
- "term2": "term1:bar"</span>
- },
- ...
-}
-</pre>
-</div>
-</section>
-<section id="sets-and-lists">
-<h3>
-<span class="secno">
-4.9
-</span>
-Sets
-and
-Lists
-</h3>
-<p>
-A
-JSON-LD
-author
-can
-express
-multiple
-values
-in
-a
-compact
-way
-by
-using
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-s.
-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 43</span></div><pre class="example">{
-...
- "@id": "http://example.org/people#joebob",
- "nick": <span class="diff">[ "joe", "bob", "jaybee" ]</span>,
-...
-}
-</pre>
-</div>
-<p>
-The
-markup
-shown
-above
-would
-result
-in
-<del class="diff-old">three
-triples
-</del>
-<ins class="diff-chg">the
-following
-data
-</ins>
-being
-generated,
-each
-relating
-the
-node
-to
-an
-individual
-value,
-with
-no
-inherent
-order:
-</p>
-<del class="diff-old">Issue
-Including
-an
-illustration
-might
-be
-better.
-</del>
-<table class="example">
-<thead>
-<tr>
-<del class="diff-old"><http://example.org/people#joebob> <http://xmlns.com/foaf/0.1/nick> "joe" .
-<http://example.org/people#joebob> <http://xmlns.com/foaf/0.1/nick> "bob" .
-<http://example.org/people#joebob>
-<http://xmlns.com/foaf/0.1/nick>
-"jaybee"
-.
-</del>
-<th>
-<ins class="diff-chg">Subject
-</ins></th><th><ins class="diff-chg">
-Property
-</ins></th><th><ins class="diff-chg">
-Object
-</ins></th></tr>
-</thead>
-<tbody>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/people#joebob
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/nick
-</ins></td><td><ins class="diff-chg">
-joe
-</ins></td></tr><tr><td><ins class="diff-chg">
-http://example.org/people#joebob
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/nick
-</ins></td><td><ins class="diff-chg">
-bob
-</ins></td></tr><tr><td><ins class="diff-chg">
-http://example.org/people#joebob
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/nick
-</ins></td><td><ins class="diff-chg">
-jaybee
-</ins></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>Example 44</span></div><pre class="example">{
- "@id": "http://example.org/articles/8",
- "dc:title": <span class="diff">
- [
- {
- "@value": "Das Kapital",
- "@language": "de"
- },
- {
- "@value": "Capital",
- "@language": "en"
- }
- ]</span>
-}
-</pre>
-</div>
-<p>
-The
-markup
-shown
-above
-would
-generate
-the
-following
-<del class="diff-old">triples,
-</del>
-<ins class="diff-chg">data,
-</ins>
-again
-with
-no
-inherent
-order:
-</p>
-<del class="diff-old">Issue
-Including
-an
-illustration
-might
-be
-better.
-</del>
-<table class="example">
-<thead>
-<tr>
-<del class="diff-old"><http://example.org/articles/8> <http://purl.org/dc/terms/title> "Das Kapital"@de .
-<http://example.org/articles/8>
-<http://purl.org/dc/terms/title>
-"Capital"@en
-.
-</del>
-<th>
-<ins class="diff-chg">Subject
-</ins></th><th><ins class="diff-chg">
-Property
-</ins></th><th><ins class="diff-chg">
-Object
-</ins></th><th><ins class="diff-chg">
-Language
-</ins></th></tr>
-</thead>
-<tbody>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/articles/8
-</ins></td><td><ins class="diff-chg">
-http://purl.org/dc/terms/title
-</ins></td><td><ins class="diff-chg">
-Das
-Kapital
-</ins></td><td><ins class="diff-chg">
-de
-</ins></td></tr><tr><td><ins class="diff-chg">
-http://example.org/articles/8
-</ins></td><td><ins class="diff-chg">
-http://purl.org/dc/terms/title
-</ins></td><td><ins class="diff-chg">
-Capital
-</ins></td><td><ins class="diff-chg">
-en
-</ins></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>Example 45</span></div><pre class="example">{
-...
- "@id": "http://example.org/people#joebob",
- "foaf:nick":
- <span class="diff">{
- "@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>Example 46</span></div><pre class="example">{
- <span class="diff">"@context":
- {
- ...
- "nick":
- {
- "@id": "http://xmlns.com/foaf/0.1/nick",
- "@container": "@list"
- }
- }</span>,
-...
- "@id": "http://example.org/people#joebob",
- "nick": <span class="diff">[ "joe", "bob", "jaybee" ]</span>,
-...
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-List
-of
-lists
-are
-not
-allowed
-in
-this
-version
-of
-JSON-LD.
-If
-a
-list
-of
-lists
-is
-detected,
-a
-JSON-LD
-processor
-will
-throw
-an
-exception.
-This
-decision
-was
-made
-due
-to
-the
-extreme
-amount
-of
-added
-complexity
-when
-processing
-lists
-of
-lists.
-</p>
-</div>
-<p>
-Similarly
-to
-<code>
-@list
-</code>,
-there
-exists
-the
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-<code>
-@set
-</code>
-to
-describe
-unordered
-sets.
-While
-its
-use
-in
-the
-body
-of
-a
-JSON-LD
-document
-represents
-just
-syntactic
-sugar
-that
-<em class="rfc2119" title="must">
-must
-</em>
-be
-optimized
-away
-when
-processing
-the
-document,
-it
-is
-very
-helpful
-when
-used
-within
-the
-context
-of
-a
-document.
-Values
-of
-terms
-associated
-with
-a
-<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
-a
-<a href="#compact-document-form" class="sec-ref">
-<span class="secno">
-4.15
-</span>
-<span class="sec-title">
-Compact
-Document
-Form
-</span>
-</a>.
-This
-makes
-post-processing
-of
-the
-data
-easier
-as
-the
-data
-is
-always
-in
-array
-form,
-even
-if
-the
-array
-only
-contains
-a
-single
-value.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-The
-use
-of
-<code>
-@container
-</code>
-in
-the
-body
-of
-a
-JSON-LD
-document,
-i.e.,
-outside
-<code>
-@context
-</code>
-<em class="rfc2119" title="must">
-must
-</em>
-be
-ignored
-by
-JSON-LD
-processors.
-</p>
-</div>
-</section>
-<section id="embedding">
-<h3>
-<span class="secno">
-4.10
-</span>
-Embedding
-</h3>
-<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_definition" href="#dfn-node_definition">
-node
-definitions
-</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">
-node
-</a>
-s.
-</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>Example 47</span></div><pre class="example">{
-...
- "name": "Manu Sporny",
- "<span class="diff">knows</span>":
- {
- "<span class="diff">@type</span>": "<span class="diff">Person</span>",
- "<span class="diff">name</span>": "<span class="diff">Gregg Kellogg</span>",
- }
-...
-}
-</pre>
-</div>
-<p>
-A
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-like
-the
-one
-used
-above,
-<em class="rfc2119" title="may">
-may
-</em>
-be
-used
-in
-any
-value
-position
-in
-the
-body
-of
-a
-JSON-LD
-document.
-</p>
-</section>
-<section id="named-graphs">
-<h3>
-<span class="secno">
-4.11
-</span>
-Named
-Graphs
-</h3>
-<p>
-The
-<code>
-@graph
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-is
-used
-to
-express
-a
-set
-of
-JSON-LD
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-s
-that
-may
-not
-be
-directly
-related
-to
-one
-another
-through
-a
-property.
-The
-mechanism
-may
-also
-be
-used
-where
-<a class="tref internalDFN" title="embedding" href="#dfn-embedding">
-embedding
-</a>
-is
-not
-desirable
-to
-the
-application.
-For
-example:
-</p>
-<del class="diff-old"> {
-</del>
- <div class="example"><div class="example-title"><span>Example 48</span></div><pre class="example">{
- "@context": ...,
- "<span class="diff">@graph</span>":
- [
- {
- "@id": "http://manu.sporny.org/i/public",
- "@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/i/public"
- }
- ]
-}
-</pre>
-</div>
-<p>
-In
-this
-case,
-embedding
-doesn't
-work
-as
-each
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-references
-the
-other.
-Using
-the
-<code>
-@graph
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-allows
-multiple
-resources
-to
-be
-defined
-within
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>,
-and
-allows
-the
-use
-of
-a
-shared
-<a class="tref internalDFN" title="context" href="#dfn-context">
-context
-</a>.
-When
-used
-in
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-that
-is
-not
-otherwise
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-this
-describes
-resources
-in
-the
-<em>
-default
-graph
-</em>.
-This
-is
-equivalent
-to
-using
-multiple
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definitions
-</a>
-in
-array
-and
-defining
-the
-<code>
-@context
-</code>
-within
-each
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>:
-</p>
-<del class="diff-old">
-</del>
- <div class="example"><div class="example-title"><span>Example 49</span></div><pre class="example"><span class="diff">[</span>
- {
- <span class="diff">"@context": ...,</span>
- "@id": "http://manu.sporny.org/i/public",
- "@type": "foaf:Person",
- "name": "Manu Sporny",
- "knows": "http://greggkellogg.net/foaf#me"
- },
- {
- <span class="diff">"@context": ...,</span>
- "@id": "http://greggkellogg.net/foaf#me",
- "@type": "foaf:Person",
- "name": "Gregg Kellogg",
- "knows": "http://manu.sporny.org/i/public"
- }
-<span class="diff">
-]
-</span>
-</pre>
-</div>
-<p>
-JSON-LD
-allows
-you
-to
-<em>
-name
-</em>
-things
-on
-the
-Web
-by
-assigning
-an
-<code>
-@id
-</code>
-to
-them,
-which
-is
-typically
-an
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-This
-notion
-extends
-to
-the
-ability
-to
-identify
-graphs
-in
-the
-same
-manner.
-A
-developer
-may
-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>.
-This
-enables
-the
-developer
-to
-make
-statements
-about
-a
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>
-itself,
-rather
-than
-just
-a
-single
-<a class="tref internalDFN" title="node" href="#dfn-node">
-node
-</a>.
-</p>
-<del class="diff-old"> {
- "@context": ...,
-</del>
- <div class="example"><div class="example-title"><span>Example 50</span></div><pre class="example">{
-<ins class="diff-chg"> "@context": {
- "asOf": "http://purl.org/net/provenance/ns#accessedResource",
- "Person": "http://xmlns.com/foaf/0.1/Person",
- "name": "http://xmlns.com/foaf/0.1/name",
- "knows": "http://xmlns.com/foaf/0.1/knows",
- "xsd": "http://www.w3.org/2001/XMLSchema#"
- },
-</ins>
- <span class="diff">"@id": "http://example.org/graphs/73",
- "asOf": { "@value": "2012-04-09", "@type": "xsd:date" },
- "@graph":</span>
- [
- {
- "@id": "http://manu.sporny.org/i/public",
-<del class="diff-old"> "@type": "foaf:Person",
-</del>
-<ins class="diff-chg"> "@type": "Person",
-</ins>
- "name": "Manu Sporny",
- "knows": "http://greggkellogg.net/foaf#me"
- },
- {
- "@id": "http://greggkellogg.net/foaf#me",
-<del class="diff-old"> "@type": "foaf:Person",
-</del>
-<ins class="diff-chg"> "@type": "Person",
-</ins>
- "name": "Gregg Kellogg",
- "knows": "http://manu.sporny.org/i/public"
- }
- ]
-}
-</pre>
-</div>
-<p>
-The
-example
-above
-expresses
-a
-<em>
-named
-</em>
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-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.
-<del class="diff-old">Meta-data
-</del>
-<ins class="diff-chg">Metadata
-</ins>
-about
-the
-graph
-itself
-is
-also
-expressed
-via
-the
-<code>
-asOf
-</code>
-property,
-which
-specifies
-when
-the
-information
-was
-retrieved
-from
-the
-Web.
-<ins class="diff-new">An
-alternative
-view
-of
-the
-information
-above
-is
-represented
-in
-table
-form
-below:
-</ins>
-</p>
-<table class="example">
-<thead>
-<tr>
-<th>
-<ins class="diff-chg">Graph
-</ins></th><th><ins class="diff-chg">
-Subject
-</ins></th><th><ins class="diff-chg">
-Property
-</ins></th><th><ins class="diff-chg">
-Object
-</ins></th><th><ins class="diff-chg">
-Datatype
-</ins></th></tr>
-<del class="diff-old">Issue
-</del>
-</thead>
-<tbody>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://purl.org/net/provenance/ns#accessedResource
-</ins></td><td><ins class="diff-chg">
-2012-04-09
-</ins></td><td><ins class="diff-chg">
-http://www.w3.org/2001/XMLSchema#date
-</ins></td></tr><tr><td><ins class="diff-chg">
-http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://manu.sporny.org/i/public
-</ins></td><td><ins class="diff-chg">
-http://www.w3.org/2001/XMLSchema#type
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/Person
-</ins></td><td>
-</td>
-</tr>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://manu.sporny.org/i/public
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/name
-</ins></td><td><ins class="diff-chg">
-Manu
-Sporny
-</ins></td><td>
-<del class="diff-old">These
-examples
-could
-all
-have
-TriG
-definitions
-of
-their
-RDF
-results,
-but
-that
-would
-involve
-adding
-RDF
-earlier
-in
-the
-document.
-</del>
-</td>
-</tr>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://manu.sporny.org/i/public
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/knows
-</ins></td><td><ins class="diff-chg">
-http://greggkellogg.net/foaf#me
-</ins></td><td>
-</td>
-</tr>
-<tr>
-<td>
-<ins class="diff-chg">http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://greggkellogg.net/foaf#me
-</ins></td><td><ins class="diff-chg">
-http://www.w3.org/2001/XMLSchema#type
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/Person
-</ins></td><td></td></tr><tr><td><ins class="diff-chg">
-http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://greggkellogg.net/foaf#me
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/name
-</ins></td><td><ins class="diff-chg">
-Gregg
-Kellogg
-</ins></td><td></td></tr><tr><td><ins class="diff-chg">
-http://example.org/graphs/73
-</ins></td><td><ins class="diff-chg">
-http://greggkellogg.net/foaf#me
-</ins></td><td><ins class="diff-chg">
-http://xmlns.com/foaf/0.1/knows
-</ins></td><td><ins class="diff-chg">
-http://manu.sporny.org/i/public
-</ins></td><td></td></tr></tbody></table>
-</section>
-<section id="identifying-unlabeled-nodes">
-<h3>
-<span class="secno">
-4.12
-</span>
-Identifying
-Unlabeled
-Nodes
-</h3>
-<p>
-At
-times,
-it
-becomes
-necessary
-to
-be
-able
-to
-express
-information
-without
-being
-able
-to
-specify
-the
-node.
-Typically,
-this
-type
-of
-node
-is
-called
-an
-<dfn title="unlabeled_node" id="dfn-unlabeled_node">
-unlabeled
-node
-</dfn>
-or
-a
-<dfn title="blank_node" id="dfn-blank_node">
-blank
-node
-</dfn>
-(see
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-]
-<cite>
-<a href="http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes">
-Section
-3.4:
-Blank
-Nodes
-</a>
-</cite>
-).
-In
-JSON-LD,
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>
-identifiers
-are
-automatically
-created
-if
-a
-node
-is
-not
-specified
-using
-the
-<code>
-@id
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>.
-However,
-authors
-may
-provide
-identifiers
-for
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-nodes
-</a>
-by
-using
-the
-special
-<code>
-_
-</code>
-(underscore)
-<a class="tref internalDFN" title="prefix" href="#dfn-prefix">
-prefix
-</a>.
-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="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>
-identifier
-is
-scoped
-to
-the
-document
-in
-which
-it
-is
-used.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 51</span></div><pre class="example">{
-...
- "@id": "<span class="diff">_:foo</span>",
-...
-}
-</pre>
-</div>
-<p>
-The
-example
-above
-would
-set
-the
-node
-to
-<code>
-_:foo
-</code>,
-which
-can
-then
-be
-used
-elsewhere
-in
-the
-JSON-LD
-document
-to
-refer
-back
-to
-the
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>.
-If
-a
-developer
-finds
-that
-they
-refer
-to
-the
-unlabeled
-node
-more
-than
-once,
-they
-should
-consider
-naming
-the
-node
-using
-a
-de-referenceable
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-so
-that
-it
-can
-be
-referenced
-also
-from
-other
-documents.
-</p>
-</section>
-<section id="aliasing-keywords">
-<h3>
-<span class="secno">
-4.13
-</span>
-Aliasing
-Keywords
-</h3>
-<p>
-Each
-of
-the
-JSON-LD
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keywords
-</a>,
-except
-for
-<code>
-@context
-</code>,
-<em class="rfc2119" title="may">
-may
-</em>
-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>Example 52</span></div><pre class="example">{
- "@context":
- {
- <span class="diff">"url": "@id"</span>,
- <span class="diff">"a": "@type"</span>,
- "name": "http://schema.org/name"
- },
- "<span class="diff">url</span>": "http://example.com/about#gregg",
- "<span class="diff">a</span>": "http://schema.org/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>
-</section>
-<section id="expanded-document-form">
-<h3>
-<span class="secno">
-4.14
-</span>
-Expanded
-Document
-Form
-</h3>
-<p>
-The
-JSON-LD
-API
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-]
-defines
-an
-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>Example 53</span></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>
-<del class="diff-old">[
-</del>
-<div class="example"><div class="example-title"><span>Example 54</span></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>
-Expanded
-document
-form
-is
-useful
-when
-an
-application
-has
-to
-process
-input
-data
-in
-a
-deterministic
-form.
-It
-has
-been
-optimized
-to
-ensure
-that
-the
-code
-that
-developers
-have
-to
-write
-is
-minimized
-compared
-to
-the
-code
-that
-would
-have
-to
-be
-written
-to
-operate
-on
-<a href="#compact-document-form" class="sec-ref">
-<span class="secno">
-4.15
-</span>
-<span class="sec-title">
-Compact
-Document
-Form
-</span>
-</a>.
-</p>
-</section>
-<section id="compact-document-form">
-<h3>
-<span class="secno">
-4.15
-</span>
-Compact
-Document
-Form
-</h3>
-<p>
-The
-JSON-LD
-API
-[
-<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
-taking
-a
-JSON-LD
-document
-and
-applying
-a
-context
-such
-that
-the
-most
-compact
-form
-of
-the
-document
-is
-generated.
-JSON
-is
-typically
-expressed
-in
-a
-very
-compact,
-key-value
-format.
-That
-is,
-full
-IRIs
-are
-rarely
-used
-as
-keys.
-At
-times,
-a
-JSON-LD
-document
-may
-be
-received
-that
-is
-not
-in
-its
-most
-compact
-form.
-JSON-LD,
-via
-the
-API,
-provides
-a
-way
-to
-compact
-a
-JSON-LD
-document.
-</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>Example 55</span></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>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 56</span></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>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 57</span></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>
-The
-compaction
-algorithm
-enables
-a
-developer
-to
-map
-any
-document
-into
-an
-application-specific
-compacted
-form
-by
-first
-<a href="#expanded-document-form" class="sec-ref">
-<span class="secno">
-4.14
-</span>
-<span class="sec-title">
-Expanded
-Document
-Form
-</span>
-</a>.
-While
-the
-context
-provided
-above
-mapped
-<code>
-http://xmlns.com/foaf/0.1/name
-</code>
-to
-<strong>
-name
-</strong>,
-it
-could
-have
-also
-mapped
-it
-to
-any
-arbitrary
-string
-provided
-by
-the
-developer.
-This
-powerful
-mechanism,
-along
-with
-another
-JSON-LD
-API
-technique
-called
-<em>
-framing
-</em>,
-allows
-the
-developer
-to
-re-shape
-the
-incoming
-JSON
-data
-into
-a
-format
-that
-is
-optimized
-for
-their
-application.
-</p>
-</section>
-</section>
-<section class="appendix normative" id="json-ld-grammar">
-<h2>
-<span class="secno">
-A.
-</span>
-JSON-LD
-Grammar
-</h2>
-<em>
-This
-section
-is
-normative
-</em>
-<p class="issue resolved" data-number="114">
-This
-section
-is
-an
-attempt
-to
-formalize
-a
-normative
-grammar
-for
-JSON-LD.
-</p>
-<p>
-This
-appendix
-restates
-the
-syntactic
-conventions
-described
-in
-the
-previous
-sections
-more
-formally.
-</p>
-<p>
-A
-JSON-LD
-processor
-<em class="rfc2119" title="should">
-should
-</em>
-attempt
-to
-process
-non-conforming
-JSON-LD
-documents.
-Conformance
-violations
-<em class="rfc2119" title="must">
-must
-</em>
-be
-reported
-through
-a
-<ins class="diff-new">conformance
-violation
-</ins>
-callback
-mechanism
-defined
-in
-<ins class="diff-new">the
-</ins>
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-].
-</p>
-<p>
-For
-a
-JSON-LD
-document
-to
-be
-conforming,
-it
-<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>
-JSON-LD
-introduces
-a
-number
-of
-keywords
-of
-the
-form
-'
-<code>
-@
-</code>
-'
-followed
-by
-a
-set
-of
-one
-or
-more
-lower
-case
-alphabetic
-characters
-(
-<code>
-@[a-z]+
-</code>
-).
-JSON-LD
-documents
-<em class="rfc2119" title="should not">
-should
-not
-</em>
-define
-terms
-beginning
-with
-'
-<code>
-@
-</code>
-'.
-(See
-<a href="#syntax-tokens-and-keywords" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.2
-</del>
-<ins class="diff-chg">3.4
-</ins>
-</span>
-<span class="sec-title">
-Syntax
-Tokens
-and
-Keywords
-</span>
-</a>
-for
-a
-complete
-definition
-of
-JSON-LD
-keywords).
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-The
-JSON-LD
-context
-allows
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keywords
-</a>
-to
-be
-aliased
-within
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>.
-Whenever
-a
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-is
-discussed,
-this
-is
-also
-understood
-to
-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>
-<p>
-A
-JSON-LD
-document
-is
-either
-a
-a
-single
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-or
-a
-JSON
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-containing
-a
-set
-of
-one
-or
-more
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definitions
-</a>.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 58</span>: Simple node definition</div><pre class="example">{
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<del class="diff-old">[
-</del>
-<div class="example"><div class="example-title"><span>Example 59</span>: Array of node definitions</div><pre class="example">[
- {
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
- }, {
- "name": "Gregg Kellogg",
- "homepage": "http://greggkellogg.net/",
- "depiction": "http://twitter.com/account/profile_image/gkellogg"
- }
-]
-</pre>
-</div>
-<section id="grammar-node-definition">
-<h3>
-<span class="secno">
-A.1
-</span>
-Node
-Definition
-</h3>
-<p>
-A
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-is
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-containing
-one
-or
-more
-<del class="diff-old">key/value
-</del>
-<ins class="diff-chg">key-value
-</ins>
-pairs.
-Keys
-are
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s,
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s,
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-s
-defined
-within
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>,
-or
-one
-of
-the
-following
-keywords:
-</p>
-<ul>
-<li>
-<code>
-@context
-</code>,
-</li>
-<li>
-<code>
-@graph
-</code>,
-</li>
-<li>
-<code>
-@id
-</code>,
-or
-</li>
-<li>
-<code>
-@type
-</code>
-</li>
-</ul>
-<p>
-If
-the
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-contains
-the
-<code>
-@context
-</code>
-key,
-<del class="diff-old">it's
-</del>
-<ins class="diff-chg">its
-</ins>
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-one
-of
-the
-following:
-</p>
-<ul>
-<li>
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-with
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-</li>
-<li>
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-conforming
-the
-the
-syntax
-requirements
-stated
-in
-<a href="#grammar-context" class="sec-ref">
-<span class="secno">
-A.6
-</span>
-<span class="sec-title">
-Context
-Definition
-</span>
-</a>,
-or
-</li>
-<li>
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-composed
-of
-any
-number
-of
-the
-previous
-two
-expressions.
-</li>
-</ul>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 60</span>: Node definition with external context</div><pre class="example">{
- <span class="diff">"@context": "http://json-ld.org/contexts/person.jsonld"</span>,
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-See
-<a href="#node-identifiers" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.6
-</del>
-<ins class="diff-chg">3.8
-</ins>
-</span>
-<span class="sec-title">
-Node
-Identifiers
-</span>
-</a>,
-<a href="#compact-iris" class="sec-ref">
-<span class="secno">
-4.1
-</span>
-<span class="sec-title">
-Compact
-IRIs
-</span>
-</a>,
-and
-<a href="#identifying-unlabeled-nodes" class="sec-ref">
-<span class="secno">
-4.12
-</span>
-<span class="sec-title">
-Identifying
-Unlabeled
-Nodes
-</span>
-</a>
-for
-further
-discussion
-on
-<code>
-@id
-</code>
-values.
-</p>
-<p>
-If
-the
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-contains
-the
-<code>
-@id
-</code>
-key,
-it's
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-having
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</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="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>
-),
-or
-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="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-or
-an
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-node
-</a>.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 61</span>: Node definition with @id</div><pre class="example">{
- "@context": "http://json-ld.org/contexts/person.jsonld",
- <span class="diff">"@id": "http://manu.sporny.org/i/public"</span>,
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-If
-the
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-contains
-the
-<code>
-@type
-</code>
-key,
-it's
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-having
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</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>
-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.
-</p>
-<del class="diff-old">Note
-</del>
-<p>
-A
-JSON-LD
-processor
-<em class="rfc2119" title="should">
-should
-</em>
-process
-non-conforming
-documents
-having
-<code>
-@type
-</code>
-values
-including
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-or
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>
-entries
-but
-<em class="rfc2119" title="must">
-must
-</em>
-discard
-everything
-except
-for
-the
-value
-of
-the
-<code>
-@id
-</code>
-key.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 62</span>: Node definition with @type</div><pre class="example">{
- "@context": "http://json-ld.org/contexts/person.jsonld",
- "@id": "http://manu.sporny.org/i/public",
- <span class="diff">"@type": "Person"</span>,
- "name": "Manu Sporny",
- "homepage": "http://manu.sporny.org/",
- "depiction": "http://twitter.com/account/profile_image/manusporny"
-}
-</pre>
-</div>
-<p>
-See
-<a href="#specifying-the-type" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.7
-</del>
-<ins class="diff-chg">3.9
-</ins>
-</span>
-<span class="sec-title">
-Specifying
-the
-Type
-</span>
-</a>
-for
-further
-discussion
-on
-<code>
-@type
-</code>
-values.
-</p>
-<p>
-If
-the
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-contains
-the
-<code>
-@graph
-</code>
-key,
-it's
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-or
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-of
-zero
-or
-more
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definitions
-</a>.
-If
-the
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-contains
-an
-<code>
-@id
-</code>
-keyword,
-its
-value
-is
-used
-as
-the
-label
-of
-a
-named
-graph.
-</p>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-As
-a
-special
-case,
-if
-the
-<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_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-;
-this
-is
-used
-as
-a
-way
-of
-defining
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-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_definition" href="#dfn-node_definition">
-node
-definitions
-</a>.
-</p>
-</div>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 63</span>: Multiple node definitions with a single context using @graph</div><pre class="example">{
- "@context": ...,
- "<span class="diff">@graph</span>":
- [
- {
- "@id": "http://manu.sporny.org/i/public",
- "@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/i/public"
- }
- ]
-}
-</pre>
-</div>
-<p>
-See
-<a href="#named-graphs" class="sec-ref">
-<span class="secno">
-4.11
-</span>
-<span class="sec-title">
-Named
-Graphs
-</span>
-</a>
-for
-further
-discussion
-on
-<code>
-@graph
-</code>
-values.
-</p>
-<p>
-A
-JSON-LD
-document
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-contain
-any
-<del class="diff-old">other
-</del>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-or
-alias
-<del class="diff-old">expanding
-</del>
-<ins class="diff-chg">that
-expands
-</ins>
-to
-<del class="diff-old">any
-other
-</del>
-<ins class="diff-chg">another
-</ins>
-keyword.
-</p>
-<p>
-Other
-keys
-<em class="rfc2119" title="must">
-must
-</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
-these
-keys
-may
-be
-any
-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_reference" href="#dfn-node_reference">
-node
-reference
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="typed_value" href="#dfn-typed_value">
-typed
-value
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="language-tagged_string" href="#dfn-language-tagged_string">
-language-tagged
-string
-</a>,
-</li>
-<li>
-<code>
-@set
-</code>
-or
-<code>
-@list
-</code>
-definition
-(see
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-),
-</li>
-<li>
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-zero
-or
-more
-of
-these,
-or
-</li>
-<li>
-<ins class="diff-chg">a
-</ins>
-<a class="tref internalDFN" title="language_map" href="#dfn-language_map">
-language
-map
-<del class="diff-old">.
-</del>
-</a>
-</li>
-</ul>
-</section>
-<section id="grammar-node-reference">
-<h3>
-<span class="secno">
-A.2
-</span>
-Node
-Reference
-</h3>
-<p>
-A
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-containing
-only
-the
-<code>
-@id
-</code>
-(or
-<del class="diff-old">alias)
-</del>
-<ins class="diff-chg">an
-alias
-for
-</ins><code><ins class="diff-chg">
-@id
-</ins></code><ins class="diff-chg">
-)
-</ins>
-is
-a
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>
-and
-not
-a
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 64</span>: Explicit node reference</div><pre class="example">{
- "@context": ...,
- "@graph": [
- {
- "@id": "http://example.org/library",
- "@type": "ex:Library",
- <span class="diff">"ex:contains": {"@id": "http://example.org/library/the-republic"}</span>
- }, {
- "@id": "http://example.org/library/the-republic",
- "@type": "ex:Book",
- "dc:creator": "Plato",
- "dc:title": "The Republic",
- <span class="diff">"ex:contains": {"@id": "http://example.org/library/the-republic#introduction"}</span>
- }, {
- "@id": "http://example.org/library/the-republic#introduction",
- "@type": "ex:Chapter",
- "dc:description": "An introductory chapter on The Republic.",
- "dc:title": "The Introduction"
- }
- ]
-}
-}
-</pre>
-</div>
-</section>
-<section id="grammar-language-map">
-<h3>
-<span class="secno">
-A.3
-</span>
-Language
-Map
-</h3>
-<p>
-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_definition" href="#dfn-node_definition">
-node
-definition
-</a>
-if
-the
-term
-is
-defined
-with
-<code>
-@container
-</code>
-set
-to
-<code>
-@language
-</code>.
-</p>
-<p>
-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
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-]
-string
-with
-an
-associated
-value
-that
-is
-any
-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_reference" href="#dfn-node_reference">
-node
-reference
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="typed_value" href="#dfn-typed_value">
-typed
-value
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="language-tagged_string" href="#dfn-language-tagged_string">
-language-tagged
-string
-</a>,
-</li>
-<li>
-<code>
-@set
-</code>
-or
-<code>
-@list
-</code>
-definition
-(see
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-),
-or
-</li>
-<li>
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-zero
-or
-more
-of
-these
-</li>
-</ul>
-<p class="issue resolved" data-number="133">
-We
-had
-also
-discussed
-values
-other
-than
-strings,
-such
-as
-those
-that
-might
-represent
-a
-more
-reified
-version
-of
-a
-value
-with
-other
-properties,
-such
-as
-is
-described
-using
-<a href="http://www.w3.org/TR/skos-reference/skos-xl.html">
-SKOS-XL
-</a>.
-</p>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 65</span>: Language map expressing a property in three languages</div><pre class="example">{
- "@context":
- {
- "title":
- {
- "@id": "http://purl.org/dc/terms/title"
- <span class="diff">"@container": "@language"</span>
- }
- },
-...
- "title":
- <span class="diff">{
- "en": "JSON-LD Syntax",
- "ru": "JSON-LD Синтаксис",
- "ja": "JSON-LDの構文"
- }</span>
-...
-}
-</pre>
-</div>
-</section>
-<section id="grammar-expanded-values">
-<h3>
-<span class="secno">
-A.4
-</span>
-Expanded
-Values
-</h3>
-<p>
-An
-<dfn title="expanded_value" id="dfn-expanded_value">
-expanded
-value
-</dfn>
-is
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-containing
-the
-<code>
-@value
-</code>
-key,
-or
-an
-alias
-for
-the
-<code>
-@value
-</code>
-value
-key.
-It
-<em class="rfc2119" title="may">
-may
-</em>
-also
-contain
-the
-<code>
-@type
-</code>
-or
-<code>
-@language
-</code>
-keys,
-or
-their
-respective
-keyword
-aliases.
-An
-<a class="tref internalDFN" title="expanded_value" href="#dfn-expanded_value">
-expanded
-value
-</a>
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-contain
-keys
-other
-than
-<code>
-@value
-</code>,
-<code>
-@language
-</code>,
-and
-<code>
-@type
-</code>.
-An
-<a class="tref internalDFN" title="expanded_value" href="#dfn-expanded_value">
-expanded
-value
-</a>
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-contain
-both
-the
-<code>
-@language
-</code>
-and
-<code>
-@type
-</code>
-keys.
-</p>
-<p>
-The
-value
-of
-the
-<code>
-@value
-</code>
-key,
-or
-its
-alias,
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either
-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="true" href="#dfn-true">
-true
-</a>,
-or
-<a class="tref internalDFN" title="false" href="#dfn-false">
-false
-</a>.
-</p>
-<p>
-If
-an
-<a class="tref internalDFN" title="expanded_value" href="#dfn-expanded_value">
-expanded
-value
-</a>
-contains
-a
-<code>
-@language
-</code>
-key,
-it
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-contain
-any
-other
-key
-except
-<code>
-@value
-</code>.
-The
-value
-of
-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>
-If
-an
-<a class="tref internalDFN" title="expanded_value" href="#dfn-expanded_value">
-expanded
-value
-</a>
-contains
-a
-<code>
-@type
-</code>
-key,
-it
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-contain
-any
-other
-key
-except
-<code>
-@value
-</code>.
-The
-value
-of
-<code>
-@type
-</code>
-<em class="rfc2119" title="must">
-must
-</em>
-be
-a
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>,
-<a class="tref internalDFN" title="compact_iri" href="#dfn-compact_iri">
-compact
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>,
-or
-<code>
-null
-</code>.
-</p>
-<p>
-See
-<a href="#typed-values" class="sec-ref">
-<span class="secno">
-4.2
-</span>
-<span class="sec-title">
-Typed
-Values
-</span>
-</a>
-and
-<a href="#language-tagged-strings" class="sec-ref">
-<span class="secno">
-4.3
-</span>
-<span class="sec-title">
-Language-tagged
-Strings
-</span>
-</a>
-for
-a
-further
-discussion
-of
-<a class="tref internalDFN" title="expanded_value" href="#dfn-expanded_value">
-expanded
-values
-</a>.
-</p>
-</section>
-<section id="grammar-set-list">
-<h3>
-<span class="secno">
-A.5
-</span>
-List
-and
-Set
-Values
-</h3>
-<p>
-A
-<dfn title="list" id="dfn-list">
-list
-</dfn>
-is
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-having
-only
-the
-<code>
-@list
-</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="array" href="#dfn-array">
-array
-</a>
-of
-any
-of
-the
-following:
-</p>
-<ul>
-<li>
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="typed_value" href="#dfn-typed_value">
-typed
-value
-</a>,
-or
-</li>
-<li>
-<a class="tref internalDFN" title="language-tagged_string" href="#dfn-language-tagged_string">
-language-tagged
-string
-</a>.
-</li>
-</ul>
-<p>
-A
-<dfn title="set" id="dfn-set">
-set
-</dfn>
-is
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-having
-only
-the
-<code>
-@set
-</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="array" href="#dfn-array">
-array
-</a>
-of
-any
-of
-the
-following:
-</p>
-<ul>
-<li>
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_reference" href="#dfn-node_reference">
-node
-reference
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="node_definition" href="#dfn-node_definition">
-node
-definition
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="typed_value" href="#dfn-typed_value">
-typed
-value
-</a>,
-</li>
-<li>
-<a class="tref internalDFN" title="language-tagged_string" href="#dfn-language-tagged_string">
-language-tagged
-string
-</a>,
-</li>
-<li>
-<code>
-@set
-</code>
-or
-<code>
-@list
-</code>
-definition
-(see
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-),
-or
-</li>
-<li>
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-zero
-or
-more
-of
-these.
-</li>
-</ul>
-<p>
-See
-<a href="#sets-and-lists" class="sec-ref">
-<span class="secno">
-4.9
-</span>
-<span class="sec-title">
-Sets
-and
-Lists
-</span>
-</a>
-for
-a
-further
-discussion
-of
-List
-and
-Set
-Values.
-</p>
-</section>
-<section id="grammar-context">
-<h3>
-<span class="secno">
-A.6
-</span>
-Context
-Definition
-</h3>
-<p>
-A
-<dfn title="context_definition" id="dfn-context_definition">
-context
-definition
-</dfn>
-is
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-containing
-one
-or
-more
-<del class="diff-old">key/value
-</del>
-<ins class="diff-chg">key-value
-</ins>
-pairs.
-Keys
-are
-non-keyword
-<a class="tref internalDFN" title="string" href="#dfn-string">
-strings
-</a>
-or
-the
-<code>
-@language
-</code>
-or
-<code>
-@vocab
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keywords
-</a>.
-A
-<a class="tref internalDFN" title="context_definition" href="#dfn-context_definition">
-context
-definition
-</a>
-<em class="rfc2119" title="should not">
-should
-not
-</em>
-contain
-any
-keys
-having
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>
-other
-than
-<code>
-@language
-</code>
-or
-<code>
-@vocab
-</code>.
-</p>
-<p>
-If
-the
-<a class="tref internalDFN" title="context_definition" href="#dfn-context_definition">
-context
-definition
-</a>
-has
-a
-<code>
-@language
-</code>
-key,
-the
-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
-a
-<code>
-@vocab
-</code>
-key,
-the
-value
-<em class="rfc2119" title="must">
-must
-</em>
-have
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-or
-be
-<a class="tref internalDFN" title="null" href="#dfn-null">
-null
-</a>.
-</p>
-<p>
-Other
-keys
-are
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-definitions.
-Their
-values
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>,
-or
-a
-<a class="tref internalDFN" title="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-having
-the
-form
-of
-an
-<a class="tref internalDFN" title="expanded_term_definition" href="#dfn-expanded_term_definition">
-expanded
-term
-definition
-</a>
-(see
-<a href="#expanded-term-definition" class="sec-ref">
-<span class="secno">
-4.5
-</span>
-<span class="sec-title">
-Expanded
-Term
-Definition
-</span>
-</a>
-).
-</p>
-<p>
-An
-<dfn title="expanded_term_definition" id="dfn-expanded_term_definition">
-expanded
-term
-definition
-</dfn>
-is
-composed
-of
-zero
-or
-more
-keys
-from
-<code>
-@id
-</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>
-<del class="diff-old">must
-</del>
-<em class="rfc2119" title="should not">
-<ins class="diff-chg">should
-</ins>
-not
-</em>
-contain
-any
-other
-keys.
-All
-values
-associated
-with
-<code>
-@id
-</code>
-<em class="rfc2119" title="must">
-must
-</em>
-expand
-to
-an
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>.
-</p>
-<p>
-If
-the
-<a class="tref internalDFN" title="term" href="#dfn-term">
-term
-</a>
-definition
-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>,
-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>,
-it
-<em class="rfc2119" title="must">
-must
-</em>
-be
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-having
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</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>
-defined
-in
-the
-defining
-<a class="tref internalDFN" title="context_definition" href="#dfn-context_definition">
-context
-definition
-</a>
-or
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</a>,
-or
-an
-<a class="tref internalDFN" title="array" href="#dfn-array">
-array
-</a>
-composed
-of
-any
-of
-the
-previous
-allowed
-values.
-</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>,
-it
-<em class="rfc2119" title="must">
-must
-</em>
-be
-a
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-having
-the
-lexical
-form
-of
-<a class="tref internalDFN" title="absolute_iri" href="#dfn-absolute_iri">
-absolute
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</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="term" href="#dfn-term">
-term
-</a>
-defined
-in
-the
-defining
-<a class="tref internalDFN" title="context_definition" href="#dfn-context_definition">
-context
-definition
-</a>
-or
-the
-<a class="tref internalDFN" title="active_context" href="#dfn-active_context">
-active
-context
-</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>
-@language
-</code>
-<a class="tref internalDFN" title="keyword" href="#dfn-keyword">
-keyword
-</a>,
-the
-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>,
-the
-value
-<em class="rfc2119" title="must">
-must
-</em>
-be
-either
-<code>
-@list
-</code>,
-<code>
-@set
-</code>,
-<code>
-@language
-</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="json_object" href="#dfn-json_object">
-JSON
-object
-</a>
-whose
-keys
-are
-<a class="tref internalDFN" title="string" href="#dfn-string">
-string
-</a>
-s
-that
-are
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-]
-language
-identifiers.
-The
-values
-associated
-with
-each
-[
-<cite>
-<a class="bibref" href="#bib-BCP47">
-BCP47
-</a>
-</cite>
-]
-language
-string
-<em class="rfc2119" title="must">
-must
-</em>
-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">
-string
-</a>
-s.
-</p>
-<p>
-See
-<a href="#the-context" class="sec-ref">
-<span class="secno">
-<del class="diff-old">3.3
-</del>
-<ins class="diff-chg">3.5
-</ins>
-</span>
-<span class="sec-title">
-The
-Context
-</span>
-</a>
-and
-<a href="#expanded-term-definition" class="sec-ref">
-<span class="secno">
-4.5
-</span>
-<span class="sec-title">
-Expanded
-Term
-Definition
-</span>
-</a>
-for
-a
-further
-discussion
-of
-contexts.
-</p>
-</section>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 66</span>: Context definition with simple terms, expanded term definitions and @language</div><pre class="example">{
- "@language": "en",
- "xsd": "http://www.w3.org/2001/XMLSchema#",
- "foaf": "http://xmlns.com/foaf/0.1/",
- "name": "foaf:name",
- "depiction": {"@id": "foaf:depiction", "@type": "@id"},
- "modified": {"@id": "http://purl.org/dc/terms/modified", "@type": "xsd:dateTime"},
- "homepage": {"@id": "foaf:homepage", "@type": "@id", "@container": "@list"}
-}
-</pre>
-</div>
-</section>
-<section class="appendix informative" id="relationship-to-other-linked-data-formats-and-data-models">
-<h2>
-<span class="secno">
-B.
-</span>
-Relationship
-to
-Other
-Linked
-Data
-Formats
-and
-Data
-Models
-</h2>
-<p>
-<em>
-This
-section
-is
-non-normative.
-</em>
-</p>
-<div class="issue">
-<div class="issue-title">
-<a href="https://github.com/json-ld/json-ld.org/issues/157">
-<span>
-Issue
-<ins class="diff-new">157
-</ins>
-</span>
-</a>
-</div>
-<p class="">
-The
-intent
-of
-the
-Working
-Group
-and
-the
-Editors
-of
-this
-specification
-is
-to
-eventually
-align
-terminology
-used
-in
-this
-document
-with
-the
-terminology
-used
-in
-the
-RDF
-Concepts
-document
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-]
-to
-the
-extent
-to
-which
-it
-makes
-sense
-to
-do
-so.
-In
-general,
-if
-there
-is
-an
-analogue
-to
-terminology
-used
-in
-this
-document
-in
-the
-RDF
-Concepts
-document,
-the
-preference
-is
-to
-use
-the
-terminology
-in
-the
-RDF
-Concepts
-document.
-</p>
-</div>
-<p>
-JSON-LD
-is
-a
-specification
-for
-representing
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-in
-JSON.
-A
-common
-way
-of
-working
-with
-Linked
-Data
-is
-through
-<dfn title="rdf" id="dfn-rdf">
-RDF
-</dfn>,
-the
-Resource
-Description
-Framework.
-RDF
-can
-be
-expressed
-using
-JSON-LD
-by
-associating
-JSON-LD
-concepts
-such
-as
-<code>
-@id
-</code>
-and
-<code>
-@type
-</code>
-with
-the
-equivalent
-<a class="tref internalDFN" title="iri" href="#dfn-iri">
-<abbr title="Internationalized Resource Identifier">
-IRI
-</abbr>
-</a>
-s
-in
-RDF.
-Further
-information
-about
-RDF
-may
-be
-found
-in
-the
-[
-<cite>
-<a class="bibref" href="#bib-RDF-PRIMER">
-RDF-PRIMER
-</a>
-</cite>
-].
-</p>
-<p>
-The
-JSON-LD
-markup
-examples
-below
-demonstrate
-how
-JSON-LD
-can
-be
-used
-to
-express
-semantic
-data
-marked
-up
-in
-other
-languages
-and
-data
-models
-such
-as
-RDF,
-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
-<a class="tref internalDFN" title="linked_data" href="#dfn-linked_data">
-Linked
-Data
-</a>
-approaches.
-Further
-information
-on
-transforming
-JSON-LD
-into
-RDF
-are
-detailed
-in
-the
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-].
-</p>
-<section id="rdf">
-<h3>
-<span class="secno">
-B.1
-</span>
-RDF
-</h3>
-<p>
-<em>
-This
-section
-is
-non-normative.
-</em>
-</p>
-<p>
-The
-RDF
-data
-model,
-as
-outlined
-in
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-],
-is
-an
-abstract
-syntax
-for
-representing
-a
-directed
-graph
-of
-information.
-JSON-LD
-is
-capable
-of
-serializing
-any
-RDF
-graph,
-and
-performing
-full
-RDF
-to
-JSON-LD
-to
-RDF
-round-tripping.
-A
-complete
-description
-of
-how
-JSON-LD
-maps
-to
-RDF
-and
-algorithms
-detailing
-how
-one
-can
-convert
-from
-RDF
-to
-JSON-LD
-and
-from
-JSON-LD
-to
-RDF
-are
-included
-in
-the
-JSON-LD
-API
-[
-<cite>
-<a class="bibref" href="#bib-JSON-LD-API">
-JSON-LD-API
-</a>
-</cite>
-]
-specification.
-</p>
-<p>
-<ins class="diff-chg">JSON-LD
-allows
-properties
-to
-be
-BNodes,
-while
-RDF
-does
-not.
-Expressing
-properties
-as
-BNodes
-in
-JSON-LD
-only
-becomes
-an
-issue
-(and
-could
-raise
-an
-exception)
-when
-it
-is
-transformed
-to
-RDF.
-</ins></p><p><ins class="diff-chg">
-Note
-that
-the
-JSON-LD
-data
-model
-is
-silent
-on
-the
-topic
-of
-</ins><a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node"><ins class="diff-chg">
-unlabeled
-nodes
-</ins></a>.<ins class="diff-chg">
-Nevertheless,
-this
-specification
-allows
-for
-the
-expression
-of
-</ins><a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node"><ins class="diff-chg">
-unlabeled
-nodes
-</ins></a>,<ins class="diff-chg">
-as
-most
-graph-based
-data
-sets
-on
-the
-Web
-contain
-a
-number
-of
-associated
-nodes
-that
-are
-not
-named
-and
-thus
-are
-not
-directly
-de-referenceable.
-</ins></p>
-<section id="turtle">
-<h4>
-<span class="secno">
-<del class="diff-old">B.2
-</del>
-<ins class="diff-chg">B.1.1
-</ins>
-</span>
-Turtle
-</h4>
-<p>
-<em>
-<ins class="diff-chg">This
-section
-is
-non-normative.
-</ins></em></p>
-<p>
-The
-following
-are
-examples
-of
-converting
-<a class="tref internalDFN" title="rdf" href="#dfn-rdf">
-RDF
-</a>
-expressed
-in
-[
-<cite>
-<a class="bibref" href="#bib-TURTLE-TR">
-TURTLE-TR
-</a>
-</cite>
-]
-into
-JSON-LD.
-</p>
-<section id="prefix-definitions">
-<h5>
-<span class="secno">
-<del class="diff-old">B.2.1
-</del>
-<ins class="diff-chg">B.1.1.1
-</ins>
-</span>
-Prefix
-definitions
-</h5>
-<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: <http://xmlns.com/foaf/0.1/> .
-</del>
-<div class="example"><div class="example-title"><span>Example 67</span></div><pre class="example">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-<http://manu.sporny.org/i/public> a foaf:Person;
- foaf:name "Manu Sporny";
-foaf:homepage
-<http://manu.sporny.org/>
-.
-</pre>
-</div>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 68</span></div><pre class="example">{
- "@context":
- {
- "foaf": "http://xmlns.com/foaf/0.1/"
- },
- "@id": "http://manu.sporny.org/i/public",
- "@type": "foaf:Person",
- "foaf:name": "Manu Sporny",
- "foaf:homepage": { "@id": "http://manu.sporny.org/" }
-}
-</pre>
-</div>
-<div class="note">
-<div class="note-title">
-<span>
-Note
-</span>
-</div>
-<p class="">
-JSON-LD
-has
-no
-equivalent
-for
-the
-Turtle
-<code>
-@base
-</code>
-declaration.
-</p>
-</div>
-</section>
-<section id="embedding-1">
-<h5>
-<span class="secno">
-<del class="diff-old">B.2.2
-</del>
-<ins class="diff-chg">B.1.1.2
-</ins>
-</span>
-Embedding
-</h5>
-<p>
-Both
-Turtle
-and
-JSON-LD
-allow
-embedding,
-although
-Turtle
-only
-allows
-embedding
-of
-<a class="tref internalDFN" title="unlabeled_node" href="#dfn-unlabeled_node">
-unlabeled
-nodes
-</a>.
-</p>
-</section>
-<del class="diff-old">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-</del>
-<div class="example"><div class="example-title"><span>Example 69</span></div><pre class="example">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-<http://manu.sporny.org/i/public>
- a foaf:Person;
- foaf:name "Manu Sporny";
-foaf:knows
-[
-a
-foaf:Person;
-foaf:name
-"Gregg
-Kellogg"
-]
-.
-</pre>
-</div>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 70</span></div><pre class="example">{
- "@context":
- {
- "foaf": "http://xmlns.com/foaf/0.1/"
- },
- "@id": "http://manu.sporny.org/i/public",
- "@type": "foaf:Person",
- "foaf:name": "Manu Sporny",
- "foaf:knows":
- {
- "@type": "foaf:Person",
- "foaf:name": "Gregg Kellogg"
- }
-}
-</pre>
-</div>
-<section id="lists">
-<h5>
-<span class="secno">
-<del class="diff-old">B.2.3
-</del>
-<ins class="diff-chg">B.1.1.3
-</ins>
-</span>
-Lists
-</h5>
-<p>
-Both
-JSON-LD
-and
-Turtle
-can
-represent
-sequential
-lists
-of
-values.
-</p>
-<del class="diff-old">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-</del>
-<div class="example"><div class="example-title"><span>Example 71</span></div><pre class="example">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-<http://example.org/people#joebob> a foaf:Person;
- foaf:name "Joe Bob";
-foaf:nick
-(
-"joe"
-"bob"
-"jaybee"
-)
-.
-</pre>
-</div>
-<del class="diff-old">{
-</del>
-<div class="example"><div class="example-title"><span>Example 72</span></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 id="rdfa">
-<h4>
-<span class="secno">
-<del class="diff-old">B.3
-</del>
-<ins class="diff-chg">B.1.2
-</ins>
-</span>
-RDFa
-</h4>
-<p>
-The
-following
-example
-describes
-three
-people
-with
-their
-respective
-names
-and
-homepages.
-</p>
-<del class="diff-old">>
-</del>
-<div class="example"><div class="example-title"><span>Example 73</span></div><pre class="example"><div <span class="diff">prefix="foaf: http://xmlns.com/foaf/0.1/"</span>>
- <ul>
- <li <span class="diff">typeof="foaf:Person"</span>>
- <a <span class="diff">rel="foaf:homepage" href="http://example.com/bob/" property="foaf:name" </span>>Bob</a>
- </li>
- <li <span class="diff">typeof="foaf:Person"</span>>
- <a <span class="diff">rel="foaf:homepage" href="http://example.com/eve/" property="foaf:name" </span>>Eve</a>
- </li>
- <li <span class="diff">typeof="foaf:Person"</span>>
- <a <span class="diff">rel="foaf:homepage" href="http://example.com/manu/" property="foaf:name" </span>>Manu</a>
- </li>
- </ul>
-</div>
-</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>Example 74</span></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 id="microformats">
-<h4>
-<span class="secno">
-<del class="diff-old">B.4
-</del>
-<ins class="diff-chg">B.1.3
-</ins>
-</span>
-Microformats
-</h4>
-<p>
-The
-following
-example
-uses
-a
-simple
-Microformats
-hCard
-example
-to
-express
-how
-the
-Microformat
-is
-represented
-in
-JSON-LD.
-</p>
-<del class="diff-old"><div class="vcard">
-</del>
-<div class="example"><div class="example-title"><span>Example 75</span></div><pre class="example"><div class="vcard">
- <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
-</div>
-</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>Example 76</span></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 id="microdata">
-<h4>
-<span class="secno">
-<del class="diff-old">B.5
-</del>
-<ins class="diff-chg">B.1.4
-</ins>
-</span>
-Microdata
-</h4>
-<p>
-The
-microdata
-example
-below
-expresses
-book
-information
-as
-a
-microdata
-Work
-item.
-</p>
-<del class="diff-old"><dl itemscope
-</del>
-<div class="example"><div class="example-title"><span>Example 77</span></div><pre class="example"><dl itemscope
- itemtype="http://purl.org/vocab/frbr/core#Work"
- itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N">
- <dt>Title</dt>
- <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
- <dt>By</dt>
- <dd><span itemprop="http://purl.org/dc/terms/creator">Wil Wheaton</span></dd>
- <dt>Format</dt>
- <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">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK">
- Print
- </dd>
- <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">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK">
- Ebook
- </dd>
-</dl>
-</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>Example 78</span></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 informative" id="iana-considerations">
-<h3>
-<span class="secno">
-<del class="diff-old">C.
-</del>
-<ins class="diff-chg">B.2
-</ins>
-</span>
-IANA
-Considerations
-</h3>
-<p>
-<em>
-This
-section
-is
-non-normative.
-</em>
-</p>
-<p>
-This
-section
-is
-included
-merely
-for
-standards
-community
-review
-and
-will
-be
-submitted
-to
-the
-Internet
-Engineering
-Steering
-Group
-if
-this
-specification
-becomes
-a
-<abbr title="World Wide Web Consortium">
-W3C
-</abbr>
-Recommendation.
-</p>
-<h3 id="application-ld-json">
-application/ld+json
-</h3>
-<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>
-form
-</code>
-</dt>
-<dd>
-Determines
-the
-serialization
-form
-for
-the
-JSON-LD
-document.
-The
-only
-valid
-value
-at
-the
-moment
-is
-<code>
-expanded
-</code>.
-If
-no
-form
-is
-specified
-in
-an
-HTTP
-request
-header
-to
-an
-HTTP
-server,
-the
-server
-<em class="rfc2119" title="may">
-may
-</em>
-choose
-any
-form.
-If
-no
-form
-is
-specified
-in
-an
-HTTP
-response,
-the
-form
-<em class="rfc2119" title="must not">
-must
-not
-</em>
-be
-assumed
-to
-take
-any
-particular
-form.
-</dd>
-</dl>
-</dd>
-<dt>
-Encoding
-considerations:
-</dt>
-<dd>
-The
-same
-as
-the
-<code>
-application/json
-</code>
-MIME
-media
-type.
-</dd>
-<dt>
-Security
-considerations:
-</dt>
-<dd>
-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.
-It
-is
-<em class="rfc2119" title="recommended">
-recommended
-</em>
-that
-a
-conforming
-parser
-does
-not
-attempt
-to
-directly
-evaluate
-the
-JSON-LD
-serialization
-and
-instead
-purely
-parse
-the
-input
-into
-a
-language-native
-data
-structure.
-</dd>
-<dt>
-Interoperability
-considerations:
-</dt>
-<dd>
-Not
-Applicable
-</dd>
-<dt>
-Published
-specification:
-</dt>
-<dd>
-The
-<a href="http://json-ld.org/spec/latest/">
-JSON-LD
-</a>
-specification.
-</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
-&
-email
-address
-to
-contact
-for
-further
-information:
-</dt>
-<dd>
-Manu
-Sporny
-<msporny@digitalbazaar.com>
-</dd>
-<dt>
-Intended
-usage:
-</dt>
-<dd>
-Common
-</dd>
-<dt>
-Restrictions
-on
-usage:
-</dt>
-<dd>
-None
-</dd>
-<dt>
-Author(s):
-</dt>
-<dd>
-Manu
-Sporny,
-Gregg
-Kellogg,
-Markus
-Lanthaler,
-Dave
-Longley
-</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>
-resources
-<em class="rfc2119" title="may">
-may
-</em>
-identify
-a
-node
-in
-the
-<a class="tref internalDFN" title="linked_data_graph" href="#dfn-linked_data_graph">
-linked
-data
-graph
-</a>
-expressed
-in
-the
-resource.
-This
-idiom,
-which
-is
-also
-used
-in
-RDF
-[
-<cite>
-<a class="bibref" href="#bib-RDF-CONCEPTS">
-RDF-CONCEPTS
-</a>
-</cite>
-],
-gives
-a
-simple
-way
-to
-"mint"
-new,
-document-local
-IRIs
-to
-label
-nodes
-and
-therefore
-contributes
-considerably
-to
-the
-expressive
-power
-of
-JSON-LD.
-</p>
-</section>
-<section class="appendix informative" id="acknowledgements">
-<h3>
-<span class="secno">
-<del class="diff-old">D.
-</del>
-<ins class="diff-chg">B.3
-</ins>
-</span>
-Acknowledgements
-</h3>
-<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,
-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
-this
-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>
-<section id="references" class="appendix">
-<h2>
-<span class="secno">
-<del class="diff-old">E.
-</del>
-<ins class="diff-chg">C.
-</ins>
-</span>
-References
-</h2>
-<section id="normative-references">
-<h3>
-<span class="secno">
-<del class="diff-old">E.1
-</del>
-<ins class="diff-chg">C.1
-</ins>
-</span>
-Normative
-references
-</h3>
-<dl class="bibliography">
-<dt id="bib-BCP47">
-[BCP47]
-</dt>
-<dd>
-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-RDF-CONCEPTS">
-[RDF-CONCEPTS]
-</dt>
-<dd>
-<cite>
-<a href="http://www.w3.org/TR/2011/WD-rdf11-concepts-20110830/">
-RDF
-1.1
-Concepts
-and
-Abstract
-Syntax
-</a>
-</cite>
-Richard
-Cyganiak,
-David
-Wood,
-Editors.
-World
-Wide
-Web
-Consortium
-(work
-in
-progress).
-30
-May
-2012.
-Editor's
-Draft.
-This
-edition
-of
-the
-JSON-LD
-Syntax
-specification
-is
-http://www.w3.org/TR/2011/WD-rdf11-concepts-20110830/.
-The
-<a href="http://www.w3.org/TR/rdf11-concepts/">
-latest
-edition
-of
-the
-JSON-LD
-Syntax
-</a>
-is
-available
-at
-http://www.w3.org/TR/rdf11-concepts/
-</dd>
-<dt id="bib-RFC3987">
-[RFC3987]
-</dt>
-<dd>
-M.
-Dürst;
-M.
-Suignard.
-<a href="http://www.ietf.org/rfc/rfc3987.txt">
-<cite>
-Internationalized
-Resource
-Identifiers
-(IRIs).
-</cite>
-</a>
-January
-2005.
-Internet
-RFC
-3987.
-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>
-D.
-Crockford.
-<a href="http://www.ietf.org/rfc/rfc4627.txt">
-<cite>
-The
-application/json
-Media
-Type
-for
-JavaScript
-Object
-Notation
-(JSON)
-</cite>
-</a>
-July
-2006.
-Internet
-RFC
-4627.
-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>
-<cite>
-<a href="http://tools.ietf.org/rfc/rfc5988">
-Web
-Linking
-</a>
-</cite>
-M.
-Nottingham.
-Editor.
-October
-2010.
-IETF
-Standard.
-URL:
-<a href="http://tools.ietf.org/rfc/rfc5988.txt">
-http://tools.ietf.org/rfc/rfc5988.txt
-</a>
-</dd>
-</dl>
-</section>
-<section id="informative-references">
-<h3>
-<span class="secno">
-<del class="diff-old">E.2
-</del>
-<ins class="diff-chg">C.2
-</ins>
-</span>
-Informative
-references
-</h3>
-<dl class="bibliography">
-<dt id="bib-JSON-LD-API">
-[JSON-LD-API]
-</dt>
-<dd>
-<cite>
-<a href="http://json-ld.org/spec/ED/json-ld-api/20120524/">
-The
-JSON-LD
-API
-1.0
-</a>
-</cite>
-Manu
-Sporny,
-Gregg
-Kellogg,
-Dave
-Longley,
-Markus
-Lanthaler,
-Editors.
-World
-Wide
-Web
-Consortium
-(work
-in
-progress).
-24
-May
-2012.
-Editor's
-Draft.
-This
-edition
-of
-the
-JSON-LD
-Syntax
-specification
-is
-http://json-ld.org/spec/ED/json-ld-api/20120524/.
-The
-<a href="http://json-ld.org/spec/latest/json-ld-api/">
-latest
-edition
-of
-the
-JSON-LD
-Syntax
-</a>
-is
-available
-at
-http://json-ld.org/spec/latest/json-ld-api/
-</dd>
-<dt id="bib-RDF-PRIMER">
-[RDF-PRIMER]
-</dt>
-<dd>
-Frank
-Manola;
-Eric
-Miller.
-<a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">
-<cite>
-RDF
-Primer.
-</cite>
-</a>
-10
-February
-2004.
-W3C
-Recommendation.
-URL:
-<a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">
-http://www.w3.org/TR/2004/REC-rdf-primer-20040210/
-</a>
-</dd>
-<dt id="bib-RDF-SPARQL-QUERY">
-[RDF-SPARQL-QUERY]
-</dt>
-<dd>
-Andy
-Seaborne;
-Eric
-Prud'hommeaux.
-<a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115">
-<cite>
-SPARQL
-Query
-Language
-for
-RDF.
-</cite>
-</a>
-15
-January
-2008.
-W3C
-Recommendation.
-URL:
-<a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115">
-http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115
-</a>
-</dd>
-<dt id="bib-RDFA-CORE">
-[RDFA-CORE]
-</dt>
-<dd>
-Shane
-McCarron;
-et
-al.
-<a href="http://www.w3.org/TR/2012/REC-rdfa-core-20120607/">
-<cite>
-RDFa
-Core
-1.1:
-Syntax
-and
-processing
-rules
-for
-embedding
-RDF
-through
-attributes.
-</cite>
-</a>
-7
-June
-2012.
-W3C
-Recommendation.
-URL:
-<a href="http://www.w3.org/TR/2012/REC-rdfa-core-20120607/">
-http://www.w3.org/TR/2012/REC-rdfa-core-20120607/
-</a>
-</dd>
-<dt id="bib-TURTLE-TR">
-[TURTLE-TR]
-</dt>
-<dd>
-Eric
-Prud'hommeaux,
-Gavin
-Carothers.
-<cite>
-<a href="http://www.w3.org/TR/2011/WD-turtle-20110809/">
-Turtle:
-Terse
-RDF
-Triple
-Language.
-</a>
-</cite>
-09
-August
-2011.
-W3C
-Working
-Draft.
-URL:
-<a href="http://www.w3.org/TR/2011/WD-turtle-20110809/">
-http://www.w3.org/TR/2011/WD-turtle-20110809/
-</a>
-</dd>
-</dl>
-</section>
-</section>
-</body>
-</html>