Skip to content

Commit 63e4e99

Browse files
committed
Update IANA section to use application/ld+json with required profile parameter.
1 parent 8464604 commit 63e4e99

File tree

1 file changed

+76
-32
lines changed

1 file changed

+76
-32
lines changed

index.html

Lines changed: 76 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,10 @@ <h2>Set of Documents</h2>
264264

265265
<section id='introduction'>
266266
<h1>Introduction</h1>
267-
<p>A JSON-LD document is a representation of a directed graph. A single
268-
directed graph can have many different serializations, each expressing
267+
<p>JSON-LD is a lightweight syntax to serialize Linked Data [[LINKED-DATA]] in JSON [[RFC8259]].
268+
Its design allows existing JSON to be interpreted as Linked Data with minimal changes.
269+
As with other representations, of Linked Data which describe directed graphs,
270+
A single directed graph can have many different serializations, each expressing
269271
exactly the same information. Developers typically work with trees, represented as
270272
<a>JSON objects</a>. While mapping a graph to
271273
a tree can be done, the layout of the end result must be specified in advance.
@@ -278,7 +280,7 @@ <h1>Introduction</h1>
278280
to reference other subjects through the use of their identifiers, expressed
279281
as strings.</p>
280282

281-
<p>However, given that JSON-LD represents a <a>graph</a> of information,
283+
<p>However, given that JSON-LD represents one or more <a>graphs</a> of information,
282284
there is more than one way to frame the statements about several related
283285
subjects into a whole document. In fact, a graph of information can be
284286
thought of as a long list of independent statements (aka <a>triples</a> or
@@ -388,7 +390,7 @@ <h3>Framing</h3>
388390
<p>For example, assume the following JSON-LD frame:</p>
389391
<pre id="sample-library-frame"
390392
class="example" data-transform="updateExample"
391-
data-content-type="application/ld-frame+json"
393+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
392394
data-frame-for="Flattened library objects"
393395
title="Sample library frame">
394396
<!--
@@ -536,7 +538,7 @@ <h3>Default content</h3>
536538
finding default values. Note the <em>description</em> value for <em>Library</em> in the following example.</p>
537539
<pre id="sample-library-frame-with-default-value"
538540
class="example nohighlight" data-transform="updateExample"
539-
data-content-type="application/ld-frame+json"
541+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
540542
data-frame-for="Flattened library objects"
541543
title="Sample library frame with @default value">
542544
<!--
@@ -615,7 +617,7 @@ <h4>Object Embed Flag</h4>
615617
based on the default <code>@last</code> value of the <a>object embed flag</a>:</p>
616618

617619
<pre class="example" data-transform="updateExample"
618-
data-content-type="application/ld-frame+json"
620+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
619621
data-frame-for="Flattened library objects"
620622
title="Sample library frame with implicit @embed set to @last">
621623
<!--
@@ -637,7 +639,7 @@ <h4>Object Embed Flag</h4>
637639

638640
<pre id="sample-library-frame-with-explicit-embed-set-to-never"
639641
class="example nohighlight" data-transform="updateExample"
640-
data-content-type="application/ld-frame+json"
642+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
641643
data-frame-for="Flattened library objects"
642644
title="Sample library frame with explicit @embed set to @never">
643645
<!--
@@ -696,7 +698,7 @@ <h4>Explicit inclusion flag</h4>
696698

697699
<pre id="sample-library-frame-with-explicit-set-to-true"
698700
class="example nohighlight" data-transform="updateExample"
699-
data-content-type="application/ld-frame+json"
701+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
700702
data-frame-for="Flattened library objects"
701703
title="Sample library frame with @explicit set to true">
702704
<!--
@@ -805,7 +807,7 @@ <h3>Reverse Framing</h3>
805807

806808
<pre id="inverted-library-frame"
807809
class="example nohighlight" data-transform="updateExample"
808-
data-content-type="application/ld-frame+json"
810+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
809811
data-frame-for="Flattened library objects"
810812
title="Inverted library frame">
811813
<!--
@@ -893,7 +895,7 @@ <h3>Framing Named Graphs</h3>
893895

894896
<pre id="frame-with-named-graphs"
895897
class="example nohighlight" data-transform="updateExample"
896-
data-content-type="application/ld-frame+json"
898+
data-content-type="application/ld+json;profile=http://www.w3.org/ns/json-ld#framed"
897899
data-frame-for="Flattened Input with named graphs"
898900
title="Frame with named graphs">
899901
<!--
@@ -1665,36 +1667,74 @@ <h3>JsonLdOptions</h3>
16651667

16661668
</section>
16671669

1668-
<section class="appendix informative">
1670+
<section class="appendix normative">
16691671
<h2>IANA Considerations</h2>
16701672

16711673
<p>This section is included merely for standards community review and will be
16721674
submitted to the Internet Engineering Steering Group if this specification
16731675
becomes a W3C Recommendation.</p>
16741676

1675-
<h3>application/ld-frame+json</h3>
1677+
<p>A JSON-LD Frame uses the same MIME media type described in [[JSON-LD11]]
1678+
along with a required <code>profile</code> parameter.</p>
1679+
1680+
<h3>application/ld+json</h3>
16761681
<dl>
16771682
<dt>Type name:</dt>
16781683
<dd>application</dd>
16791684
<dt>Subtype name:</dt>
1680-
<dd>ld-frame+json</dd>
1681-
<dt>Required parameters:</dt>
1682-
<dd>None</dd>
1685+
<dd class="changed">ld+json</dd>
1686+
<dt class="changed">Required parameters:</dt>
1687+
<dd class="changed">
1688+
<dl>
1689+
<dt><code>profile</code></dt>
1690+
<dd>
1691+
<p>A single URI identifying the resource as a JSON-LD <a>Frame</a>.
1692+
A profile does not change the semantics of the resource representation
1693+
when processed without profile knowledge, so that clients both with
1694+
and without knowledge of a profiled resource can safely use the same
1695+
representation.</p>
1696+
<dl>
1697+
<dt><code>http://www.w3.org/ns/json-ld#framed</code></dt>
1698+
<dd>To specify a JSON-LD <a>Frame</a>.</dd>
1699+
</dl>
1700+
</dd>
1701+
</dl>
1702+
</dd>
16831703
<dt>Optional parameters:</dt>
1684-
<dd>None</dd>
1704+
<dd>None.</dd>
16851705
<dt>Encoding considerations:</dt>
1686-
<dd>The same as the <code>application/json</code> MIME media type.</dd>
1706+
<dd>See <a data-cite="RFC8259#section-11">RFC&nbsp;8259, section 11</a>.</dd>
16871707
<dt>Security considerations:</dt>
1688-
<dd>Since a JSON-LD frame is intended to specify a deterministic layout
1689-
for a JSON-LD graph, the serialization SHOULD NOT be passed through a
1690-
code execution mechanism such as JavaScript's <code>eval()</code>
1691-
function. It is RECOMMENDED that a conforming parser does not attempt to
1692-
directly evaluate the JSON-LD frame and instead purely parse the
1693-
input into a language-native data structure.</dd>
1708+
<dd>See <a data-cite="RFC8259#section-12">RFC&nbsp;8259, section 12</a> [[RFC8259]]
1709+
<p>Since JSON-LD is intended to be a pure data exchange format for
1710+
directed graphs, the serialization SHOULD NOT be passed through a
1711+
code execution mechanism such as JavaScript's <code>eval()</code>
1712+
function to be parsed. An (invalid) document may contain code that,
1713+
when executed, could lead to unexpected side effects compromising
1714+
the security of a system.</p>
1715+
<p>When processing JSON-LD documents, links to remote contexts are
1716+
typically followed automatically, resulting in the transfer of files
1717+
without the explicit request of the user for each one. If remote
1718+
contexts are served by third parties, it may allow them to gather
1719+
usage patterns or similar information leading to privacy concerns.
1720+
Specific implementations, such as the API defined in the
1721+
JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]],
1722+
may provide fine-grained mechanisms to control this behavior.</p>
1723+
<p>JSON-LD contexts that are loaded from the Web over non-secure connections,
1724+
such as HTTP, run the risk of being altered by an attacker such that
1725+
they may modify the JSON-LD <a>active context</a> in a way that
1726+
could compromise security. It is advised that any application that
1727+
depends on a remote context for mission critical purposes vet and
1728+
cache the remote context before allowing the system to use it.</p>
1729+
<p>Given that JSON-LD allows the substitution of long IRIs with short terms,
1730+
JSON-LD documents may expand considerably when processed and, in the worst case,
1731+
the resulting data might consume all of the recipient's resources. Applications
1732+
should treat any data with due skepticism.</p>
1733+
</dd>
16941734
<dt>Interoperability considerations:</dt>
16951735
<dd>Not Applicable</dd>
16961736
<dt>Published specification:</dt>
1697-
<dd>The <a href="https://json-ld.org/spec/latest/">JSON-LD</a> specification.</dd>
1737+
<dd>https://www.w3.org/TR/json-ld11-framing</dd>
16981738
<dt>Applications that use this media type:</dt>
16991739
<dd>Any programming environment that requires the exchange of
17001740
directed graphs. Implementations of JSON-LD have been created for
@@ -1706,13 +1746,13 @@ <h3>application/ld-frame+json</h3>
17061746
<dt>Magic number(s):</dt>
17071747
<dd>Not Applicable</dd>
17081748
<dt>File extension(s):</dt>
1709-
<dd>.jsonldf</dd>
1749+
<dd>.jsonld</dd>
17101750
<dt>Macintosh file type code(s):</dt>
17111751
<dd>TEXT</dd>
17121752
</dl>
17131753
</dd>
17141754
<dt>Person &amp; email address to contact for further information:</dt>
1715-
<dd>Manu Sporny &lt;[email protected]&gt;</dd>
1755+
<dd>Ivan Herman &lt;[email protected]&gt;</dd>
17161756
<dt>Intended usage:</dt>
17171757
<dd>Common</dd>
17181758
<dt>Restrictions on usage:</dt>
@@ -1723,8 +1763,10 @@ <h3>application/ld-frame+json</h3>
17231763
<dd>W3C</dd>
17241764
</dl>
17251765

1726-
<p>Fragment identifiers have no meaning with
1727-
<a href="#application-ld-frame-json">application/ld-frame+json</a> resources.</p>
1766+
<p>Fragment identifiers used with <a href="#application-ld-json">application/ld+json</a>
1767+
are treated as in RDF syntaxes, as per
1768+
<a data-cite="RDF11-CONCEPTS#section-fragID">RDF 1.1 Concepts and Abstract Syntax</a>
1769+
[[RDF11-CONCEPTS]].</p>
17281770

17291771
</section>
17301772

@@ -1792,10 +1834,12 @@ <h2>Changes since 1.0 Draft of 30 August 2012</h2>
17921834
<h2>Changes since JSON-LD Community Group Final Report</h2>
17931835
<ul>
17941836
<li>The API now adds an <a data-link-for="JsonLdOptions">ordered</a>
1795-
option, defaulting to <code>false</code> This is used in algorithms to
1796-
control interation of <a>dictionary member</a> keys. Previously, the
1797-
algorithms always required such an order. The instructions for
1798-
evaluating test results have been updated accordingly.</li>
1837+
option, defaulting to <code>false</code> This is used in algorithms to
1838+
control interation of <a>dictionary member</a> keys. Previously, the
1839+
algorithms always required such an order. The instructions for
1840+
evaluating test results have been updated accordingly.</li>
1841+
<li>The IANA registration is changed from <code>application/ld-frame+json</code> to
1842+
<code>application/ld+json</code> with a required <code>profile</code> parameter.</li>
17991843
</ul>
18001844
</section>
18011845

0 commit comments

Comments
 (0)