Skip to content

Commit

Permalink
Adds a preliminary IANA section with placeholders.
Browse files Browse the repository at this point in the history
Fixes #14.
Fixes #25.
  • Loading branch information
gkellogg committed Jun 23, 2022
1 parent 38617ce commit a4ca849
Showing 1 changed file with 154 additions and 3 deletions.
157 changes: 154 additions & 3 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
}],

// Cross-reference definitions
xref: ["json-ld11", "json-ld11-api", "json-ld11-framing"],
//xref: ["json-ld11", "json-ld11-api", "json-ld11-framing"],

group: "cg/json-ld",
wgPublicList: "public-linked-json",
Expand Down Expand Up @@ -215,6 +215,7 @@ <h2>Introduction</h2>

<section id="conformance">
<p>A <a>YAML-LD document</a> complies with this specification if ...</p>
<p class="ednote">Define <dfn>YAML-LD document</dfn> somewhere.</p>

<p>This specification makes use of the following namespace prefixes:</p>
<table class="simple">
Expand All @@ -238,8 +239,8 @@ <h2>Introduction</h2>
</tbody>
</table>

<p>These are used within this document as part of a <a>compact IRI</a>
as a shorthand for the resulting <a>IRI</a>, such as <code>dcterms:title</code>
<p>These are used within this document as part of a <a data-cite="JSON-LD11#dfn-compact-iri">compact IRI</a>
as a shorthand for the resulting <a data-cite="rfc3987#section-2">IRI</a>, such as <code>dcterms:title</code>
used to represent <code>http://purl.org/dc/terms/title</code>.</p>
</section>

Expand All @@ -248,5 +249,155 @@ <h2>Basic Concepts</h2>

<p>FIXME.</p>
</section>

<section class="appendix normative">
<h2>IANA Considerations</h2>

<p>This section has been submitted to the Internet Engineering Steering
Group (IESG) for review, approval, and registration with IANA.</p>

<h3>application/ld+json</h3>
<dl>
<dt>Type name:</dt>
<dd>application</dd>
<dt>Subtype name:</dt>
<dd>ld+yaml</dd>
<dt>Required parameters:</dt>
<dd>N/A</dd>
<dt>Optional parameters:</dt>
<dd>
<dl>
<dt><code>profile</code></dt>
<dd>
<p>A non-empty list of space-separated URIs identifying specific
constraints or conventions that apply to a YAML-LD document according to [[RFC6906]].
A profile does not change the semantics of the resource representation
when processed without profile knowledge, so that clients both with
and without knowledge of a profiled resource can safely use the same
representation. The <code>profile</code> parameter MAY be used by
clients to express their preferences in the content negotiation process.
If the profile parameter is given, a server SHOULD return a document that
honors the profiles in the list which it recognizes,
and MUST ignore the profiles in the list which it does not recognize.
It is RECOMMENDED that profile URIs are dereferenceable and provide
useful documentation at that URI. For more information and background
please refer to [[RFC6906]].</p>
<p>This specification defines seven values for the <code>profile</code> parameter.</p>
<dl>
<dt><code>http://www.w3.org/ns/json-ld#expanded</code></dt>
<dd>To request or specify <a data-cite="json-ld11#dfn-expanded-document-form">expanded YAML-LD document form</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#compacted</code></dt>
<dd>To request or specify <a data-cite="json-ld11#dfn-compacted-document-form">compacted YAML-LD document form</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#context</code></dt>
<dd>To request or specify a <a data-cite="json-ld11#dfn-context-document">YAML-LD context document</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#flattened</code></dt>
<dd>To request or specify <a data-cite="json-ld11#dfn-flattened-document-form">flattened YAML-LD document form</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#frame</code></dt>
<dd>To request or specify a <a data-cite="json-ld11-framing#dfn-frame">YAML-LD frame document</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#framed</code></dt>
<dd>To request or specify <a data-cite="json-ld11#dfn-framed-document-form">framed YAML-LD document form</a>.</dd>
<dt><code>http://www.w3.org/ns/json-ld#extended</code></dt>
<dd>To request or specify <a data-lt="extended document form">extended YAML-LD document form</a>.
<div class="ednote">
This is a placeholder for specifying something like an
<dfn data-lt="extended-document-form">extended YAML-LD document form</dfn>
making use of YAML-specific features.
</div></dd>
</dl>
<p>All other URIs starting with <code>http://www.w3.org/ns/json-ld</code>
are reserved for future use by JSON-LD specifications.</p>
<!--p>Other specifications MAY create further structured subtypes
by using `+ld+json` as a suffix for a new base subtype, as in
`application/example+ld+json`.
Unless defined otherwise, such subtypes use the same
fragment identifier behavior as `application/ld+json`.</p-->
<p>Other specifications may publish additional `profile` parameter
URIs with their own defined semantics.
This includes the ability to associate a file extension with a `profile` parameter.</p>
<p>
When used as a <a data-cite="RFC4288#section-4.3">media type parameter</a> [[RFC4288]]
in an <a data-cite="rfc7231#rfc.section.5.3.2">HTTP Accept header</a> [[RFC7231]],
the value of the <code>profile</code> parameter MUST be enclosed in quotes (<code>"</code>) if it contains
special characters such as whitespace, which is required when multiple profile URIs are combined.</p>
<p>When processing the "profile" media type parameter, it is important to
note that its value contains one or more URIs and not IRIs. In some cases
it might therefore be necessary to convert between IRIs and URIs as specified in
<a data-cite="RFC3986#section-5.1">section 3 Relationship between IRIs and URIs</a>
of [[RFC3987]].</p>
</dd>
</dl>
</dd>
<dt>Encoding considerations:</dt>
<dd>See <a data-cite="RFC8259#section-11">RFC&nbsp;8259, section 11</a>.</dd>
<dt id="iana-security">Security considerations:</dt>
<dd>See <a data-cite="RFC8259#section-12">RFC&nbsp;8259, section 12</a> [[RFC8259]]
<p>When processing YAML-LD documents, links to remote contexts and frames are
typically followed automatically, resulting in the transfer of files
without the explicit request of the user for each one. If remote
contexts are served by third parties, it may allow them to gather
usage patterns or similar information leading to privacy concerns.
Specific implementations, such as the API defined in the
JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]],
may provide fine-grained mechanisms to control this behavior.</p>
<p>YAML-LD contexts that are loaded from the Web over non-secure connections,
such as HTTP, run the risk of being altered by an attacker such that
they may modify the YAML-LD <a data-cite="json-ld11#dfn-active-context">active context</a> in a way that
could compromise security. It is advised that any application that
depends on a remote context for mission critical purposes vet and
cache the remote context before allowing the system to use it.</p>
<p>Given that YAML-LD allows the substitution of long IRIs with short terms,
YAML-LD documents may expand considerably when processed and, in the worst case,
the resulting data might consume all of the recipient's resources. Applications
should treat any data with due skepticism.</p>
<p>As YAML-LD places no limits on the IRI schemes that may be used,
and vocabulary-relative IRIs use string concatenation rather than
IRI resolution, it is possible to construct IRIs that may be
used maliciously, if dereferenced.</p>
</dd>
<dt>Interoperability considerations:</dt>
<dd>Not Applicable</dd>
<dt>Published specification:</dt>
<dd>http://www.w3.org/TR/yaml-ld</dd>
<dt>Applications that use this media type:</dt>
<dd>Any programming environment that requires the exchange of
directed graphs. Implementations of YAML-LD have been created for
<span class="note">FIXME</span>.
</dd>
<dt>Additional information:</dt>
<dd>
<dl>
<dt>Magic number(s):</dt>
<dd>Not Applicable</dd>
<dt>File extension(s):</dt>
<dd>.yamlld</dd>
<dt>Macintosh file type code(s):</dt>
<dd>TEXT</dd>
</dl>
</dd>
<dt>Person &amp; email address to contact for further information:</dt>
<dd>Philippe Le Hégaret &lt;[email protected]&gt;</dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>N/A</dd>
<dt>Author(s):</dt>
<dd>...</dd>
<dt>Change controller:</dt>
<dd>W3C</dd>
</dl>

<p>Fragment identifiers used with <a href="#application-ld-json">application/yaml+json</a>
are treated as in RDF syntaxes, as per
<a data-cite="RDF11-CONCEPTS#section-fragID">RDF 1.1 Concepts and Abstract Syntax</a>
[[RDF11-CONCEPTS]].
<div class="ednote">Perhaps more on fragment identifiers from <span class="issue" data-number="13"></span></div>
</p>

<section id="iana-examples" class="informative">
<h3>Examples</h3>
<p class="ednote">FIXME</p>
</section>
</section>

</body>
</html>

0 comments on commit a4ca849

Please sign in to comment.