<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.4 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-coral-05" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.2 -->
  <front>
    <title abbrev="Constrained RESTful Application Language">The Constrained RESTful Application Language (CoRAL)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-coral-05"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>ARM</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>
    <date year="2022" month="March" day="07"/>
    <workgroup>CoRE Working Group</workgroup>
    <abstract>
      <t>The Constrained RESTful Application Language (CoRAL) defines a data
model and interaction model as well as a compact serialization
formats for the description of typed connections between resources on
the Web ("links"), possible operations on such resources ("forms"), and
simple resource metadata.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Note to Readers</name>
      <t>The issues list for this Internet-Draft can be found at
&lt;<eref target="https://github.com/core-wg/coral/labels/coral"/>&gt;.
Companion material for this Internet-Draft can be found at
&lt;<eref target="https://github.com/core-wg/coral"/>&gt;.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The Constrained RESTful Application Language (CoRAL) is a language for
the description of typed connections between resources on the Web
("links"), possible operations on such resources ("forms"), and
simple resource metadata.</t>
      <t>CoRAL is intended for driving automated software agents that navigate a
Web application based on a standardized vocabulary of link relation
types and operation types.
It is designed to be used in conjunction with a Web transfer protocol,
such as the <xref target="RFC7230">Hypertext Transfer Protocol (HTTP)</xref> or the
<xref target="RFC7252">Constrained Application Protocol (CoAP)</xref>.</t>
      <t>This document defines the CoRAL data model and interaction model as well
as a compact serialization format.</t>
      <section anchor="data-and-interaction-model">
        <name>Data and Interaction Model</name>
        <t>The data model is similar to the <xref target="W3C.REC-rdf11-concepts-20140225">Resource Description Framework (RDF)</xref> model,
with provisions to enable form based interaction
and to express data from Web Linking (<xref target="RFC8288"/>) based models such as <xref target="RFC6690"/>'s Link Format.</t>
        <t>The interaction model derives from the processing model of <xref target="W3C.REC-html52-20171214">HTML</xref> and specifies how an
automated software agent can change the application state by
navigating between resources following links and performing operations
on resources submitting forms.</t>
      </section>
      <section anchor="notational-conventions">
        <name>Notational Conventions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>Terms defined in this document appear in <em>cursive</em> where they
are introduced (rendered in plain text as the new term surrounded by
underscores).</t>
      </section>
    </section>
    <section anchor="model">
      <name>Data and Interaction Model</name>
      <t>The Constrained RESTful Application Language (CoRAL) is designed for
building <xref target="W3C.REC-webarch-20041215">Web-based applications</xref> in which
automated software agents navigate between resources by following
links and perform operations on resources by submitting forms.</t>
      <section anchor="browsing-context">
        <name>Browsing Context</name>
        <t>Borrowing from <xref target="W3C.REC-html52-20171214">HTML 5</xref>,
each such agent maintains a <em>browsing context</em> in which the
representations of Web resources are processed.
(In HTML, the browsing context typically corresponds to a tab or
window in a Web browser.)</t>
        <t>At any time, one representation in a browsing context is designated
the <em>active</em> representation.</t>
      </section>
      <section anchor="documents">
        <name>Documents</name>
        <t>A resource representation in one of the CoRAL serialization formats is
called a CoRAL <em>document</em>.
The URI that was used to retrieve such a document is called the
document's <em>retrieval context</em>.
This URI is also considered the base URI for relative URI references
in the document.</t>
        <t>A CoRAL document consists of a list of zero or more statements
that can express links or (in a composition of statements) forms.
CoRAL serialization formats may contain additional elements
for efficiency or convenience, such as an embedded base URI that takes
precedence over the document's base URI,
or to concisely represent compound statements (e.g., to express forms).</t>
      </section>
      <section anchor="data-model">
        <name>Data model</name>
        <t>The <em>basic CoRAL information model</em> is similar to the <xref target="W3C.REC-rdf11-concepts-20140225">Resource Description Framework (RDF)</xref> information model:
Data is expressed as an (unordered) set of triples (also called statements),
consisting of a subject, a predicate and an object.
The predicate is always a URI,
the subject is a URI or a blank node,
and the object is either a URI, a blank node or a litreal.
All URIs here are limited to the syntax-based normalized form of <xref target="RFC3986"/> Section 6.2.2.</t>
        <t>Blank nodes are unnamed entities.
Literals are CBOR objects.</t>
        <t>These triples form a directed multigraph with the subject and object being source and destination, and the predicate a description <!-- not "label", because that implies uniqueness of the labels in Wikipedia definition --> on the edge.
That graph is equivalent to the data.</t>
        <t>To form a set and a graph, we define an equivalence relation:
URIs are only equal to URIs and if they are identical byte-wise.
A blank node is only equal to itself.
A literal is equal to a different literal if
its value is equal to the other literal's value in the CBOR generic data model.</t>
        <t>Triples are equivalent to each other if their subject, predicate and object are pair-wise equivalent.</t>
        <t>The <em>CoRAL structured information model</em> is a sequence of "passings" of the basic model's edges,
starting at a node identifying the document (its retrieval context, typically URI from which it was obtained)
where</t>
        <ul spacing="normal">
          <li>each edge is passed at least one time in total,</li>
          <li>each edge is passed at most one time after each passing that ends in its start point
(with the obvious exception that edges from the retrieval context can be passed once from the start), and</li>
          <li>between a passing of an edge from A to B and a later passing from B to C,
passings can only be along edges that can be reached from B along the graph,
until B is the end of a different passing.</li>
        </ul>
        <!-- Terminology still to be enhanced, asking around at https://cs.stackexchange.com/questions/144008/terminology-for-multiply-visiting-walks-of-dags -->

<t>For better understanding,
think of the structured information model as a sort of tree spanning from the retrieval context,
with the oddity that when a node is reached along two different edges (which a normal tree doesn't do),
it is up to the builder of the tree whether to describe anything children of the entered node
on one parent or on the other parent,
on both,
or to describe some children at the first and others at a later occasion.
<!-- also the sequences can even be different, which is something at least the serialization supports;
maybe we may want to put a stop to the madness there and impose order,
or someone comes up with a reason why we actually want that. -->
        </t>
        <t>Exceeding the RDF-like model,
this represents CoRAL's focus on the discovery of possivble future application states
over the description of a graph of resources.</t>
        <section anchor="observations">
          <name>Observations</name>
          <t>The structured form of a data set is in general not unique:
If a node has more than one child, their sequence can be varied.
If a node has more than one parent, its children may be expressed on any non-empty set of its parents
to obtain a structured data set that expresses the same data set.</t>
          <t>In general, arbitrary basic data can not be expressed in a structured data set, because</t>
          <ul spacing="normal">
            <li>There may not be a tree that covers the directed graph, or the tree's root may not be the retrieval context.</li>
            <li>There may be multiple edges into a blank node.</li>
          </ul>
          <t>In particular, the precise data from one structured information document can only be expressed with the same retrieval context.
However, statements can be added to make a data set that is expressible elsewhere
<!-- possibly shove around to make use of CURIEs introduced at some point -->
(this document defines the <tt>carries-information-about</tt> relation type leading to the <tt>http://www.iana.org/assignments/relation/carries-information-about</tt> predicate being usable here),
and subsets of the data can be taken and expressed.</t>
          <t>Forms are not special in the information model, but are merely statements around a blank node.
They can be special in serialization formats (which have more efficient notations for them),
and are used by the interaction model for special operations.</t>
          <t>The structured information model contains more information than the basic information model.
[ TBD put this into a different context because it's not an observation any more: ]
Which precise structure is picked is to suit the processing application, typically by profiling the information and its serialization.
It is recommended that the information encoded in the structure (including the order) be derived from data available in the general data set,
even though the statements that guide the structure are not necessarily encoded in the subset of data that is being structured.</t>
          <t>Serializations like the one in <xref target="binary"/> have even more choices than the structured information model:
They can choose to use or not use packed CBOR to compress parts,
can spell out URIs in full or use relative references,
or can exercise freedoms of the CBOR encoding.
Variation there is not to have an influence on the interpretation of a CoRAL document.
<!--
However, applications using CBOR can require that a particular subset of the choices taken.
or
Applications should not make any particular requirements on these to ensure interoperability.
or
Some of these may be profiled, some not.
-->
          </t>
        </section>
        <section anchor="possible-variations">
          <name>Possible variations</name>
          <ul spacing="normal">
            <li>Each URI is tagged with whether it is intended to be dereferenced or used as an identifier. <!-- from CB: think about alternative universe in which links and identifiers can be separated...? -->
            </li>
          </ul>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <t>This subsection illustrates the information model and serialization based on an example from <xref target="RFC6690"/>:</t>
          <figure anchor="fig-6690-orig">
            <name>Original example at coap://.../.well-known/core</name>
            <artwork><![CDATA[
</sensors>;ct=40;title="Sensor Index",
</sensors/temp>;rt="temperature-c";if="sensor",
</sensors/light>;rt="light-lux";if="sensor",
<http://www.example.com/sensors/t123>;anchor="/sensors/temp";rel="describedby",
</t>;anchor="/sensors/temp";rel="alternate"
]]></artwork>
          </figure>
          <t>After an extraction described in <xref target="convert-6690"/>, this list represents the content of the basic information model representing the above.
For the basic model, the table is to be considered unsorted in the first step.</t>
          <table anchor="fig-6690-data">
            <name>Basic (and, through the sequence, Strucutred) Information Model extracted from there (using CURIEs: rel = http://www.iana.org/assignments/relation/, linkformat is TBD in the conversion, if, rt is TBD with IANA).</name>
            <thead>
              <tr>
                <th align="left">Subject</th>
                <th align="left">Predicate</th>
                <th align="left">Object</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">coap://.../</td>
                <td align="left">rel:hosts</td>
                <td align="left">coap://.../sensors</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors</td>
                <td align="left">linkformat:ct</td>
                <td align="left">40</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors</td>
                <td align="left">linkformat:title</td>
                <td align="left">"Sensor Index"</td>
              </tr>
              <tr>
                <td align="left">coap://.../</td>
                <td align="left">http://www.iana.org/assignments/relation/hosts</td>
                <td align="left">coap://.../sensors/temp</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/temp</td>
                <td align="left">linkformat:rt</td>
                <td align="left">rt:temperature-c</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/temp</td>
                <td align="left">linkformat:if</td>
                <td align="left">if:sensor</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/temp</td>
                <td align="left">rel:describedby</td>
                <td align="left">http://www.example.com/sensors/t123</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/temp</td>
                <td align="left">rel:alternate</td>
                <td align="left">coap://.../t</td>
              </tr>
              <tr>
                <td align="left">coap://.../</td>
                <td align="left">http://www.iana.org/assignments/relation/hosts</td>
                <td align="left">coap://.../sensors/light</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/light</td>
                <td align="left">linkformat:rt</td>
                <td align="left">rt:light-lux</td>
              </tr>
              <tr>
                <td align="left">coap://.../sensors/light</td>
                <td align="left">linkformat:if</td>
                <td align="left">if:sensor</td>
              </tr>
            </tbody>
          </table>
          <t>During extraction, some information on item ordering was preserved into the structured data.
Note that while the CoRAL structured data preserves some sequence aspects of the Link-Format file
(like the order of attributes),
others (like the relative order of links from different contexts) are deemed irrelevant and not preserved.</t>
          <t>For serialization,
the use of the packing described with the conversion results in a binary CBOR file with this CBOR diagnostic notation:</t>
          <figure anchor="fig-6690-serialized">
            <name>Serialized CoRAL file in diagnostic notation.</name>
            <artwork><![CDATA[
[
  [2, simple(10) / item 10 for rel:hosts /, cri"/sensors", [
    [2, 6(2) / item 20 for linkformat:ct /, 40],
    [2, simple(15) / item 15 for linkformat:title /, "Sensor Index"]
  ]],
  [2, simple(10) / item 10 for rel:hosts /, cri"/sensors/temp", [
    [2, 6(1) / item 18 for linkformat:if /, 6(200) / cri"http:∕∕TBD∕...∕temperature-c" /],
    [2, 6(-2) / item 19 for linkformat:rt /, 6(250) / cri"http:∕∕TBD∕...∕sensor" /],
    [2, simple(12) / item 12 for rel:describedby /, cri"http://www.example.com/sensors/t123"],
    [2, simple(11) / item 11 for rel:alternate /, cri"/t"]
  ]],
  [2, 10 / item10 for rel:hosts /, cri"/sensors/light", [
    [2, 6(1) / item 18 for linkformat:if /, 6(-201)],
    [2, 6(-2) / item 19 for linkformat:rt /, 6(250)]
  ]]
]
]]></artwork>
          </figure>
          <t>[ TBD: Numbers are made up ]</t>
          <t>Note that the "temperature-c" interface and "sensor" resource type get code points in the link-format dictionary because they are of reg-name style and thus would be registered as CoRE Parameters, and be included in the packing as well.</t>
          <section anchor="literalexample">
            <name>Literal example</name>
            <t>To illustrate non-trivial literals, a link example of <xref target="RFC8288"/> is converted.</t>
            <t>(Note that even the conversion scheme hinted at above for <xref target="RFC6690"/> link format makes no claims at being applicable to general purpose web links like the below;
this is merely done to demonstrate how literals can be handled.
The example even so happens well illustrate that point:
General link attributes may only be valid on the target when the link is followed in that direction ("letztes Kapitel" means last chapter),
whereas convertible <!-- a term that'll need more explaining when it's later defined --> link-format documents use titles that apply to the described resource independent of which link is currently being followed.)</t>
            <figure anchor="fig-8288-orig">
              <name>Original link about a book chapter from RFC8288</name>
              <artwork><![CDATA[
 Link: </TheBook/chapter2>;
         rel="previous"; title*=UTF-8'de'letztes%20Kapitel,
]]></artwork>
            </figure>
            <t>The model this would be converted to is:</t>
            <table anchor="fig-8288-tagged-literals">
              <name>Information model extracted from above</name>
              <thead>
                <tr>
                  <th align="left">Subject</th>
                  <th align="left">Predicate</th>
                  <th align="left">Object</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">http://.../</td>
                  <td align="left">rel:previous</td>
                  <td align="left">http://.../TheBook/chapter2</td>
                </tr>
                <tr>
                  <td align="left">http://.../TheBook/chapter2</td>
                  <td align="left">linkformat:title</td>
                  <td align="left">"letztes Kapitel" with language tag "de"</td>
                </tr>
              </tbody>
            </table>
            <t>In CBOR serialization, this produces:</t>
            <figure anchor="fig-8288-serialized">
              <name>Serialization of the RFC8288-based example</name>
              <artwork><![CDATA[
[
  [2, 6(...) / rel:previous /, cri"/TheBook/chapter2", [
    [2, simple(15) / item 15 for linkformat:title /, 38(["de", "letztes Kapitel"])]
  ]]
]
]]></artwork>
            </figure>
          </section>
        </section>
      </section>
      <section anchor="serialization-format">
        <name>Serialization Format</name>
        <t>The primary serialization format is a compact, binary encoding of
links and forms in <xref target="RFC8949">Concise Binary Object Representation (CBOR)</xref>.
This format is intended for <xref target="RFC7228">environments with constraints on power,
memory, and processing resources</xref> and
shares many similarities with the message format of CoAP:
In place of verbose strings, small numeric identifiers are used to encode
link relation types and operation types. <xref target="RFC3986">Uniform Resource Identifiers (URIs)</xref> are
expressed as <xref target="I-D.ietf-core-href">Constrained Resource Identifier (CRI) references</xref>
and thus pre-parsed for easy use with CoAP.
As a result, link serializations in CoRAL are often much more compact
and easier to process than equivalent serializations in <xref target="RFC6690">CoRE Link
Format</xref>.</t>
        <t>For easy representation of CoRAL documents in text,
CBOR diagnostic notation is used.
Along with indentation and comments,
the notation introduced in <xref target="I-D.bormann-cbor-edn-literals"/> is used to represent CRIs.
This format is not expected to be sent over the network.</t>
        <t>[ To be discussed:
For even better readability,
the RDF <xref target="W3C.REC-turtle-20140225">Turtle</xref> format
can be used when only the basic information model content is to be conveyed.
When used like this, the conversion according to the RDF appendix is implied.
]</t>
      </section>
      <section anchor="links">
        <name>Links</name>
        <t>Any statement "links" a resource with a second resource or literal,
and is thus also referred to as a link.</t>
        <t>In <xref target="RFC8288"/> terminology, a CoRAL link's
subject is the <em>link context</em>,
the predicate is the <em>link relation type</em>, and
the object is the <em>link target</em>.</t>
        <t>However, a link in CoRAL does not have target attributes. Instead, a
link may have a list of zero or more nested elements. These enable
both the description of resource metadata and the chaining of links,
which is done in <xref target="RFC8288"/> by setting the anchor of one link to the
target of another.</t>
        <ul empty="true">
          <li>
            <t>A link can be viewed as a statement of the form "{link context}
  has a {link relation type} resource at {link target}" where the
  link target may be further described by nested elements.</t>
          </li>
        </ul>
        <t>A link relation type identifies the semantics of a link.
In HTML and in <xref target="RFC8288"/>, link relation types are typically denoted by an
IANA-registered name, such as <tt>stylesheet</tt> or <tt>type</tt>. In CoRAL, all
link relation types are, in contrast, denoted by a <xref target="RFC3986">Universal
Resource Identifier (URI)</xref>,
such as &lt;http://www.iana.org/assignments/relation/stylesheet&gt; or
&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;.
This allows for the decentralized creation of new link relation types
without the risk of collisions when they come from different
organizations or domains of knowledge.
URIs can also lead to documentation, schema, and other information
about a link relation type.
In CoRAL documents, these URIs are only used as identity tokens,
though, and are compared with Simple String Comparison as specified in
<xref section="6.2.1" sectionFormat="of" target="RFC3986"/>.</t>
        <t>If the link target is a URI and the URI scheme indicates a Web
transfer protocol like HTTP or CoAP, an agent can dereference the URI
and navigate the browsing context to its target resource; this is
called <em>following the link</em>.
An anonymous resource is a resource that is identified by neither a
URI nor a literal representation.
The agent can still follow the link,
but can not dereference it
and is limited in its next steps by the outgoing links
that are expressed in the current document.</t>
        <t>A link can occur as a top-level element in a document or as a nested
element within a link. When a link occurs as a top-level element, the
link context implicitly is the document's retrieval context. When a
link occurs nested within a link, the link context of the nested link
is the link target of the enclosing link.</t>
        <t>There are no restrictions on the cardinality of links; there can be
multiple links to and from a particular target, and multiple links of
the same or different types between a given link context and target.
However, the nesting nature of the data model constrains the
description of resource relations to a tree: Relations between linked
resources can only be described by further nesting links.</t>
      </section>
      <section anchor="forms">
        <name>Forms</name>
        <t>A <em>form</em> provides instructions to an agent for performing an
operation on a resource on the Web.
A form has
a <em>form context</em>,
an <em>operation type</em>,
a <em>request method</em>, and
a <em>submission target</em>.
Additionally, a form may be accompanied by a list of zero or more
<em>form fields</em>.</t>
        <t>In the basic information model,
the form is identified with an anonymous node.
The form context and operation type are the subject and predicate of an incoming link, respectively;
request method and submission target of an outgoing link.
Form fields are additional links from that form.</t>
        <ul empty="true">
          <li>
            <t>A form can be viewed as an instruction of the form "To perform an
  {operation type} operation on {form context}, make a {request
  method} request to {submission target}" where the request may be
  further described by form fields.</t>
          </li>
        </ul>
        <t>An operation type identifies the semantics of the operation.
Operation types are denoted (like link relation types) by a URI.</t>
        <t>Form contexts and submission targets are both denoted by a URI.
The form context is the resource on which the operation is ultimately
performed.
To perform the operation, an agent needs to construct a request with
the specified method as the request method and the specified
submission target as the request URI. Usually, the submission target
is the same resource as the form context, but may be a different
resource.
Constructing and sending the request is called <em>submitting the form</em>.</t>
        <t>A form can occur as a top-level element in a document or as a nested
element within a link. When a form occurs as a top-level element, the
form context implicitly is the document's retrieval context. When a
form occurs nested within a link, the form context is the link target
of the enclosing link.</t>
      </section>
      <section anchor="form-fields">
        <name>Form Fields</name>
        <t>Form fields can be used to provide more detailed instructions to
agents for constructing the request when submitting a form.
For example, a form field could instruct an agent to include a certain
payload or header field in the request.
A payload could, for instance, be described by form fields providing
acceptable media types, a reference to schema information, or a number
of individual data items that the agents needs to supply.
Form fields can be specific to the Web transfer protocol that is used
for submitting the form.</t>
        <t>A form field is a pair of
a <em>form field type</em> and
a <em>form field value</em>.
Additionally, a form field may have a list of zero or more nested
elements that further describe the form field value.</t>
        <t>A form field type identifies the semantics of the form field.
Form field types are predicates and thus URIs.
Form field values are URIs, blank nodes or literals.</t>
      </section>
      <section anchor="navigation">
        <name>Navigation</name>
        <t>An agent begins the interaction with an application by performing a
GET request on an <em>entry point URI</em>. The entry point URI is the
only URI that the agent is expected to know beforehand. From then on,
the agent is expected to make all requests by following links and
submitting forms that are provided in the responses resulting from the
requests. The entry point URI could be obtained through some discovery
process or manual configuration.</t>
        <t>If dereferencing the entry point URI yields a CoRAL document (or any
other representation that implements the CoRAL data and interaction
model), the agent makes this document the active representation in the
browsing context and proceeds as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The first step for the agent is to decide what to do next, i.e.,
which type of link to follow or form to submit, based on the link
relation types and operation types it understands.  </t>
            <t>
An agent may follow a link without understanding the link relation
type, e.g., for the sake of pre-fetching or building a search
index. However, an agent <bcp14>MUST NOT</bcp14> submit a form without
understanding the operation type.</t>
          </li>
          <li>The agent then finds the link(s) or form(s) with the respective
type in the active representation.
This may yield one or more candidates, from which the agent will
have to select the most appropriate one.
The set of candidates can be empty, for example, when an
application state transition is not supported or not allowed.</li>
          <li>The agent selects one of the candidates based on the metadata
associated them (in the form of form fields and nested elements)
and their order of appearance in the document.
Examples for relevant metadata could include the indication of a
media type for the target resource representation, the URI
scheme of a target resource, or the request method of an
operation.</li>
          <li>The agent obtains the <em>request URI</em> from the link target or
submission target.
Fragment identifiers are not part of the request URI and <bcp14>MUST</bcp14> be
separated from the rest of the URI prior to the next step.</li>
          <li>
            <t>The agent constructs a new request with the request URI.
If the agent is following a link, then the request method <bcp14>MUST</bcp14> be
GET.
If the agent is submitting a form, then the request method <bcp14>MUST</bcp14> be
the one supplied by the form.  </t>
            <t>
The agent <bcp14>SHOULD</bcp14> set HTTP header fields and CoAP request options
according to the metadata (e.g., set the HTTP Accept header field
or the CoAP Accept option when a media type for the target
resource is provided).
Depending on the operation type of a form, the agent may also have
to include a request payload that matches the specifications of
some form fields.</t>
          </li>
          <li>The agent sends the request and receives the response.</li>
          <li>If a fragment identifier was separated from the request URI, the
agent selects the fragment indicated by the fragment
identifier within the received representation according to the
semantics of its media type.</li>
          <li>The agent updates the browsing context by making the (selected
fragment of the) received representation the active
representation.</li>
          <li>Finally, the agent processes the representation according to the
semantics of its media type.
If the representation is a CoRAL document (or any other
representation that implements the CoRAL data and interaction
model), the agent again has the choice of what to do next. Go to
step 1.</li>
        </ol>
      </section>
      <section anchor="history-traversal">
        <name>History Traversal</name>
        <t>A browsing context has a <em>session history</em>, which lists the
resource representations that the agent has processed, is processing,
or will process.</t>
        <t>A session history consists of session history entries.
The number of session history entries may be limited and dependent on
the agent. An agent with severe constraints on memory size might only
have enough memory for the most recent entry.</t>
        <t>An entry in the session history consists of a resource representation
and the representation's retrieval context. New entries are added to
the session history as the agent navigates from resource to resource,
discarding entries that are no longer used.</t>
        <t>An agent can decide to navigate a browsing context (in addition to
following links and submitting forms) by <em>traversing the session
          history</em>.
For example, when an agent receives a response with a representation
that does not contain any further links or forms, it can navigate back
to a resource representation it has visited earlier and make that the
active representation.</t>
        <t>Traversing the history <bcp14>SHOULD</bcp14> take advantage of caches to avoid new
requests.
An agent may reissue a safe request (e.g., a GET) when it does
not have a fresh representation in its cache.
An agent <bcp14>MUST NOT</bcp14> reissue an unsafe request (e.g., a PUT or
POST) unless it actually intends to perform that operation again.</t>
      </section>
      <section anchor="designing-interactions-in-an-open-world">
        <name>Designing interactions in an Open World</name>
        <t>CoRAL can be used to build both open world systems
("if something is not said, it may or may not be true")
and closed world systems ("if something is not said, it is not true").</t>
        <t>In constrained environments (and the web in general),
partial representations are often used for efficiency.
For example, a device can query another for particular statements
using a yet to be defined FETCH version of CoRAL.
It is expected that some tools
(e.g., server or agent libraries)
require the application to be tolerant of unprocessed statements.
Furthermore, it can be easier to evolve applications
and their packing dictionaries
if loss of statements leads to graceful degradation.</t>
        <t>Therefore, it is convenient to build applications on open world assumptions.
Such applications can only use statements that add possibilities,
and none that limit interactions.
Any limitations need to be encoded in statements the agent necesarily has to perform an action in the first place,
and can then be relaxed in additional statements.</t>
        <t>For example, an application built with open-world assumptions
can not create a form that allows feeding gremlins,
and in an additional statement (e.g., a form field) forbid after midnight.
Instead, the application needs to describe a limited-feeding form,
which can only be used if any of the attached conditions is met;
the condition "before midnight" can then be expressed in an additional statement.</t>
      </section>
    </section>
    <section anchor="binary">
      <name>Binary Format</name>
      <t>This section defines the encoding of documents in the CoRAL binary
format.</t>
      <t>A document in the binary format is encoded in <xref target="RFC8949">Concise Binary Object
Representation (CBOR)</xref>.</t>
      <t>The CBOR structure of a document is presented in the <xref target="RFC8610">Concise Data
Definition Language (CDDL)</xref>.
All CDDL rules not defined in this document are defined in <xref section="D" sectionFormat="of" target="RFC8610"/>.</t>
      <t>The media type of documents in the binary format is <tt>application/coral+cbor</tt>.</t>
      <section anchor="data-structure">
        <name>Data Structure</name>
        <t>The data structure of a document in the binary format is made up of
three kinds of elements:
links,
forms (as short hands for the statements they are constructed of), and
(as an extension to the CoRAL data model) directives.
Directives provide a way to encode URI references with a common base
more efficiently.</t>
        <section anchor="documents-1">
          <name>Documents</name>
          <t>A document in the binary format is encoded as a CBOR array that
contains zero or more elements.
An element is either
a link,
a form, or
a directive.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
document = [*element]
element = link / form / directive
]]></sourcecode>
            </li>
          </ul>
          <t>The elements are processed in the order they appear in the document.
Document processors need to maintain an <em>environment</em> while
iterating an array of elements.
The environment consists of two variables:
the <em>current context</em> and
the <em>current base</em>.
The current context and the current base are both initially set to
the document's retrieval context.</t>
        </section>
        <section anchor="directives">
          <name>Directives</name>
          <t>Directives provide the ability to manipulate the environment while
processing elements.</t>
          <t>There is a single type of directives available:
the Base directive.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
directive = base-directive
]]></sourcecode>
            </li>
          </ul>
          <t>It is an error if a document processor encounters any other type of
directive.</t>
          <section anchor="base-directives">
            <name>Base Directives</name>
            <t>A Base directive is encoded as a CBOR array that contains the
unsigned integer 1 and a base URI.</t>
            <ul empty="true">
              <li>
                <sourcecode type="cddl"><![CDATA[
base-directive = [1, baseURI]
]]></sourcecode>
              </li>
            </ul>
            <t>The base URI is denoted by a <xref target="I-D.ietf-core-href">Constrained Resource Identifier (CRI) reference</xref>.
The CRI reference <bcp14>MUST</bcp14> be resolved against the current context
(not the current base).</t>
            <ul empty="true">
              <li>
                <sourcecode type="cddl"><![CDATA[
baseURI = CRI-Reference
CRI-Reference = <Defined in Section XX of RFC XXXX>
]]></sourcecode>
              </li>
            </ul>
            <t>The directive is processed by resolving the CRI reference against
the current context and assigning the result to the current base.</t>
          </section>
        </section>
        <section anchor="uris">
          <name>URIs</name>
          <t>URIs in links and forms are encoded as CRI references.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
URI = CRI-Reference
]]></sourcecode>
            </li>
          </ul>
          <t>A CRI reference is processed by resolving it to a URI as specified
in <xref section="5.2" sectionFormat="of" target="I-D.ietf-core-href"/> using the current base.</t>
        </section>
        <section anchor="links-1">
          <name>Links</name>
          <t>A link is encoded as a CBOR array that contains the unsigned integer
2, the link relation type, the link target, and, optionally, an array
of zero or more nested elements.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
link = [2, relation-type, link-target, ?[*element]]
]]></sourcecode>
            </li>
          </ul>
          <t>The link relation type is a URI.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
relation-type = URI
]]></sourcecode>
            </li>
          </ul>
          <t>The link target is either a URI, a literal value, or null.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
link-target = URI / literal / null
literal = bool / int / float / time / bytes / text
]]></sourcecode>
            </li>
          </ul>
          <t>The nested elements, if any, <bcp14>MUST</bcp14> be processed in a fresh environment.
The current context is set to the link target of the enclosing link.
The current base is initially set to the link target, if the link
target is a URI; otherwise, it is set to the current base of the
current environment.</t>
        </section>
        <section anchor="forms-1">
          <name>Forms</name>
          <t>A form is encoded as a CBOR array that contains the unsigned integer
3, the operation type, the submission target, and, optionally, an
array of zero or more form fields.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
form = [3, operation-type, submission-target, ?[*form-field]]
]]></sourcecode>
            </li>
          </ul>
          <t>The operation type is a URI.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
operation-type = URI
]]></sourcecode>
            </li>
          </ul>
          <t>The submission target is a URI.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
submission-target = URI
]]></sourcecode>
            </li>
          </ul>
          <t>The request method is either implied by the operation type or
encoded as a form field.
If both are given, the form field takes precedence over the operation
type.
Either way, the method <bcp14>MUST</bcp14> be applicable to the Web transfer protocol
identified by the scheme of the submission target.</t>
          <t>The form fields, if any, <bcp14>MUST</bcp14> be processed in a fresh environment.
The current context is set to an unspecified URI that represents the
enclosing form.
The current base is initially set to the submission target of the
enclosing form.</t>
        </section>
        <section anchor="form-fields-1">
          <name>Form Fields</name>
          <t>A form field is encoded as a CBOR sequence that consists of a form
field type, a form field value, and, optionally, an array of zero or
more nested elements.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
form-field = (form-field-type, form-field-value, ?[*element])
]]></sourcecode>
            </li>
          </ul>
          <t>The form field type is a URI.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
form-field-type = URI
]]></sourcecode>
            </li>
          </ul>
          <t>The form field value is either a URI, a literal value, or null.</t>
          <ul empty="true">
            <li>
              <sourcecode type="cddl"><![CDATA[
form-field-value = URI / literal / null
]]></sourcecode>
            </li>
          </ul>
          <t>The nested elements, if any, <bcp14>MUST</bcp14> be processed in a fresh environment.
The current context is set to the form field value of the enclosing
form field.
The current base is initially set to the form field value, if the form
field value is a URI; otherwise, it is set to the current base of the
current environment.</t>
        </section>
      </section>
      <section anchor="dictionary-compression">
        <name>Dictionary Compression</name>
        <t>A document in the binary format <bcp14>MAY</bcp14> reference values from an external
dictionary using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.
This helps to reduce representation size and processing cost.</t>
        <t>Dictionary references can be used
subject to [ yet to be defined ] profiling.</t>
        <t>Implementers should note that Packed CBOR is not designed to be uncompressed,
but to be used in a compressed form.
In particular, constrained devices may operate without even knowing what a given dictionary entry expands to
(as long as they know its meaning)
<!-- and may ignore unknown entries under certain conditions, depending on the outcome of https://github.com/core-wg/coral/issues/3 -->.</t>
        <section anchor="media-type-parameter">
          <name>Media Type Parameter</name>
          <t>The <tt>application/coral+cbor</tt> media type for documents in the binary
format is defined to have a <tt>dictionary</tt> parameter that specifies
the dictionary in use. The dictionary is identified by a URI.
For example, a CoRAL document that uses the dictionary identified by
the URI &lt;http://example.com/dictionary&gt; would have the following
content type:</t>
          <ul empty="true">
            <li>
              <artwork><![CDATA[
application/coral+cbor;dictionary="http://example.com/dictionary"
]]></artwork>
            </li>
          </ul>
          <t>The URI serves only as an identifier; it does not necessarily have
to be dereferencable (or even use a dereferencable URI scheme). It
is permissible, though, to use a dereferencable URI and to serve a
representation that provides information about the dictionary in a
machine- or human-readable way. (The representation format and
security considerations of such a representation are outside the
scope of this document.)</t>
          <t>For simplicity, a CoRAL document can reference values only from one
dictionary; the value of the <tt>dictionary</tt> parameter <bcp14>MUST</bcp14> be a single
URI.</t>
          <t>The <tt>dictionary</tt> parameter is <bcp14>OPTIONAL</bcp14>. If it is absent, the default
dictionary specified in <xref target="default-dictionary"/> of this
document is assumed.</t>
          <t>Once a dictionary has made an assignment, the assignment <bcp14>MUST NOT</bcp14> be
changed or removed. A dictionary, however, may contain additional
information about an assignment, which may change over time.</t>
          <t>In CoAP, media types (including
specific values for their parameters, plus an optional content
coding) are encoded as an unsigned integer called the "content
format" of a representation.
For use with CoAP, each new CoRAL dictionary therefore needs to have
a new content format registered in the <xref target="CORE-PARAMETERS">CoAP Content Formats Registry</xref>.</t>
        </section>
      </section>
      <section anchor="export-interface">
        <name>Export Interface</name>
        <t>The definition of documents, links, and forms in the CoRAL binary
format can be reused in other CBOR-based protocols.
Specifications using CDDL should reference the following rules for
this purpose:</t>
        <ul empty="true">
          <li>
            <sourcecode type="cddl"><![CDATA[
CoRAL-Document = document
CoRAL-Link = link
CoRAL-Form = form
]]></sourcecode>
          </li>
        </ul>
        <t>For each embedded document, link, and form, the CBOR-based protocol
needs to specify the document retrieval context, link context, and
form context, respectively.</t>
      </section>
    </section>
    <section anchor="docsemantics">
      <name>Document Semantics</name>
      <section anchor="submitting-documents">
        <name>Submitting Documents</name>
        <t>By default, a CoRAL document is a representation that captures the
current state of a resource. The meaning of a CoRAL document changes
when it is submitted in a request. Depending on the request method,
the CoRAL document can capture the intended state of a resource (PUT)
or be subject to application-specific processing (POST).</t>
        <section anchor="put-requests">
          <name>PUT Requests</name>
          <t>A PUT request with a CoRAL document enclosed in the request payload
requests that the state of the target resource be created or
replaced with the state described by the CoRAL document.
A successful PUT of a CoRAL document generally means that a
subsequent GET on that same target resource would result in an
equivalent document being sent in a success response.</t>
          <t>An origin server <bcp14>SHOULD</bcp14> verify that a submitted CoRAL document is
consistent with any constraints the server has for the target
resource.
When a document is inconsistent with the target resource, the origin
server <bcp14>SHOULD</bcp14> either make it consistent (e.g., by removing
inconsistent elements) or respond with an appropriate error message
containing sufficient information to explain why the document is
unsuitable.</t>
          <t>The retrieval context and the base URI of a CoRAL document in a PUT
are the request URI of the request.</t>
        </section>
        <section anchor="post-requests">
          <name>POST Requests</name>
          <t>A POST request with a CoRAL document enclosed in the request payload
requests that the target resource process the CoRAL document
according to the resource's own specific semantics.</t>
          <t>The retrieval context of a CoRAL document in a POST is defined by
the target resource's processing semantics; it may be an unspecified
URI. The base URI of the document is the request URI of the request.</t>
        </section>
      </section>
      <section anchor="returning-documents">
        <name>Returning Documents</name>
        <t>In a response, the meaning of a CoRAL document changes depending on
the request method and the response status code.
For example, a CoRAL document in a successful response to a GET
represents the current state of the target resource, whereas a CoRAL
document in a successful response to a POST might represent either the
processing result or the new resource state.
A CoRAL document in an error response represents the error condition,
usually describing the error state and what next steps are suggested
for resolving it.</t>
        <section anchor="success-responses">
          <name>Success Responses</name>
          <t>Success responses have a response status code that indicates that
the client's request was successfully received, understood, and
accepted (2xx in HTTP, 2.xx in CoAP).
When the representation in a success response does not describe the
state of the target resource, it describes result of processing the
request.
For example, when a request has been fulfilled and has resulted in
one or more new resources being created, a CoRAL document in the
response can link to and describe the resource(s) created.</t>
          <t>The retrieval context and the base URI of a CoRAL document
representing the current state of a resource are the request URI of
the request.</t>
          <t>The retrieval context of a CoRAL document representing a processing
result is an unspecified URI that refers to the processing result
itself. The base URI of the document is the request URI of the
request.</t>
        </section>
        <section anchor="redirection-responses">
          <name>Redirection Responses</name>
          <t>Redirection responses have a response status code that indicates
that further action needs to be taken by the agent (3xx in HTTP).
A redirection response, for example, might indicate that the target
resource is available at a different URI or the server offers a
choice of multiple matching resources, each with its own specific
URI.</t>
          <t>In the latter case, the representation in the response might contain
a list of resource metadata and URI references (i.e., links) from
which the agent can choose the most preferred one.</t>
          <t>The retrieval context of a CoRAL document representing such multiple
choices in a redirection response is an unspecified URI that refers
to the redirection itself. The base URI of the document is the
request URI of the request.</t>
        </section>
        <section anchor="error-responses">
          <name>Error Responses</name>
          <t>Error response have a response status code that indicates that
either the request cannot be fulfilled or the server failed to
fulfill an apparently valid request (4xx or 5xx in HTTP, 4.xx or
5.xx in CoAP). A representation in an error response describes the
error condition.</t>
          <t>The retrieval context of a CoRAL document representing such an error
condition is an unspecified URI that refers to the error condition
itself. The base URI of the document is the request URI of the
request.</t>
        </section>
      </section>
    </section>
    <section anchor="usage-considerations">
      <name>Usage Considerations</name>
      <t>This section discusses some considerations in creating CoRAL-based
applications and vocabularies.</t>
      <section anchor="specifying-coral-based-applications">
        <name>Specifying CoRAL-based Applications</name>
        <t>CoRAL-based applications naturally implement the <xref target="W3C.REC-webarch-20041215">Web architecture</xref> and thus are
centered around orthogonal specifications for identification,
interaction, and representation:</t>
        <ul spacing="normal">
          <li>Resources are identified by URIs or represented by literal values.</li>
          <li>Interactions are based on the hypermedia interaction model of the
Web and the methods provided by the Web transfer protocol.
The semantics of possible interactions are identified by link
relation types and operation types.</li>
          <li>Representations are CoRAL documents encoded in the binary format
defined in <xref target="binary"/>.
Depending on the application, additional representation formats may
be used.</li>
        </ul>
        <section anchor="application-interfaces">
          <name>Application Interfaces</name>
          <t>Specifications for CoRAL-based applications need to list the
specific components used in the application interface and their
identifiers. This should include the following items:</t>
          <ul spacing="normal">
            <li>The Web transfer protocols supported.</li>
            <li>The representation formats used, identified by their Internet
media types, including the CoRAL serialization formats.</li>
            <li>The link relation types used.</li>
            <li>The operation types used. Additionally, for each operation type,
the permissible request methods.</li>
            <li>The form field types used. Additionally, for each form field type,
the permissible form field values.</li>
          </ul>
        </section>
        <section anchor="resource-identifiers">
          <name>Resource Identifiers</name>
          <t>URIs are a cornerstone of Web-based
applications. They enable the uniform identification of resources
and are used every time a client interacts with a server or a
resource representation needs to refer to another resource.</t>
          <t>URIs often include structured application data in the path and query
components, such as paths in a filesystem or keys in a database. It
is a common practice in HTTP-based application programming
interfaces (APIs) to make this part of the application
specification, i.e., to prescribe fixed URI templates that are
hard-coded in implementations. However, there are
a number of problems with this
practice <xref target="RFC8820"/>.</t>
          <t>In CoRAL-based applications, resource names are therefore not part
of the application specification --- they are an implementation
detail.
The specification of a CoRAL-based application <bcp14>MUST NOT</bcp14> mandate any
particular form of resource name structure.</t>
          <t><xref target="RFC8820"/> describes the problematic practice of fixed URI structures
in more detail and provides some acceptable alternatives.</t>
        </section>
        <section anchor="implementation-limits">
          <name>Implementation Limits</name>
          <t>This document places no restrictions on the number of elements in a
CoRAL document or the depth of nested elements.
Applications using CoRAL (in particular those running in constrained
environments) may limit these numbers and define specific
implementation limits that an implementation must support at
least to be interoperable.</t>
          <t>Applications may also mandate the following and other restrictions:</t>
          <ul spacing="normal">
            <li>Use of only either HTTP or CoAP as the supported Web transfer
protocol.</li>
            <li>Use of only dictionary references in the binary format for certain
vocabulary.</li>
            <li>Use of URI references and CRI references only up to a specific
length.</li>
          </ul>
        </section>
      </section>
      <section anchor="minting-vocabulary">
        <name>Minting Vocabulary</name>
        <t>New link relation types, operation types, and form field types can be
minted by defining a URI that uniquely
identifies the item.
Although the URI may point to a resource that contains a definition of
the semantics, clients <bcp14>SHOULD NOT</bcp14> automatically access that resource
to avoid overburdening its server. The URI <bcp14>SHOULD</bcp14> be under the control
of the person or party defining it, or be delegated to them.</t>
        <t>To avoid interoperability problems, it is <bcp14>RECOMMENDED</bcp14> that only URIs
are minted that are normalized according to <xref section="6.2" sectionFormat="of" target="RFC3986"/>.
This is easily achieved when the URIs are defined in CRI form
(in which they also become part of the dictionary),
as this avoids many common non-normalized forms of URIs by construction.</t>
        <t>Non-normalized forms that are still to be avoided include:</t>
        <ul spacing="normal">
          <li>Uppercase characters in scheme names and domain names</li>
          <li>Explicitly stated HTTP default port (e.g., &lt;http://example.com/&gt; is
preferable over &lt;http://example.com:80/&gt;)</li>
          <li>Punycode-encoding of Internationalized Domain Names in URIs</li>
          <li>URIs that are not in Unicode Normalization Form C</li>
        </ul>
        <t>URIs that identify vocabulary do not need to be registered. The
inclusion of domain names in URIs allows for the decentralized
creation of new URIs without the risk of collisions.</t>
        <t>However, URIs can be relatively verbose and impose a high overhead on
a representation.
This can be a problem in <xref target="RFC7228">constrained environments</xref>.
Therefore, CoRAL alternatively allows the use of packed references
that abbreviate CBOR data items from a dictionary, as specified in
<xref target="dictionary-compression"/>.
These impose a much smaller overhead but instead need to be assigned
by an authority to avoid collisions.</t>
      </section>
      <section anchor="expressing-registered-link-relation-types">
        <name>Expressing Registered Link Relation Types</name>
        <t>Link relation types registered in the <xref target="LINK-RELATIONS">Link Relations
Registry</xref>, such as <tt>collection</tt> <xref target="RFC6573"/> or <tt>icon</tt>
          <xref target="W3C.REC-html52-20171214"/>, can be used in CoRAL by appending the
registered name to the URI
&lt;http://www.iana.org/assignments/relation/&gt;:</t>
        <ul empty="true">
          <li>
            <sourcecode type="coral"><![CDATA[
#using iana = <http://www.iana.org/assignments/relation/>

iana:collection </items>
iana:icon       </favicon.png>
]]></sourcecode>
          </li>
        </ul>
        <t>The convention of appending the relation type name to the prefix
&lt;http://www.iana.org/assignments/relation/&gt; to form URIs is adopted
from the <xref target="RFC4287">Atom Syndication Format</xref>; see also <xref section="A.2" sectionFormat="of" target="RFC8288"/>.</t>
        <t>Note that registered relation type names are required to be lowercase
ASCII letters (see <xref section="3.3" sectionFormat="of" target="RFC8288"/>).</t>
      </section>
      <section anchor="expressing-simple-rdf-statements">
        <name>Expressing Simple RDF Statements</name>
        <t>In <xref target="W3C.REC-rdf11-concepts-20140225">RDF</xref>, a statement
says that some relationship, indicated by a predicate, holds between
two resources. Existing RDF vocabularies can therefore be a good source
for link relation types that describe resource metadata.
For example, a CoRAL document could use the <xref target="FOAF">FOAF vocabulary</xref> to describe the person or software that made it:</t>
        <ul empty="true">
          <li>
            <sourcecode type="coral"><![CDATA[
#using rdf = <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
#using foaf = <http://xmlns.com/foaf/0.1/>

foaf:maker null {
   rdf:type        <http://xmlns.com/foaf/0.1/Person>
   foaf:familyName "Hartke"
   foaf:givenName  "Klaus"
   foaf:mbox       <mailto:klaus.hartke@ericsson.com>
}
]]></sourcecode>
          </li>
        </ul>
      </section>
      <section anchor="expressing-natural-language-texts">
        <name>Expressing Natural Language Texts</name>
        <t>Text strings can be associated with a <xref target="RFC5646">Language Tag</xref> and a base text direction
(right-to-left or left-to-right) by using CBOR tag 38.</t>
        <ul empty="true">
          <li>
            <sourcecode type="coral"><![CDATA[
#using base = <http://coreapps.org/base#>
#using iana = <http://www.iana.org/assignments/relation/>

iana:terms-of-service </tos> {
   base:title 38(["de", "Nutzungsbedingungen"])
   base:title 38(["en-US", "Terms of use"])
   base:title 38(["az", "ltr", "İstifadə şərtləri"])
}
]]></sourcecode>
          </li>
        </ul>
        <t>[ Maturity note: Whether direction will actually be expressed in an updated tag 38,
   how precisely that is done, or whether a new tag will be allocated for text with direction
   is currently still under discussion. ]</t>
      </section>
      <section anchor="embedding-representations-in-coral">
        <name>Embedding Representations in CoRAL</name>
        <t>When a document links to many Web resources and an agent needs a
representation of each of them, it can be inefficient to retrieve each
representations individually. To minimize round-trips, documents can
embed representations of resources.</t>
        <t>A representation can be embedded in a document by including a link of
type &lt;http://coreapps.org/base#representation&gt;:</t>
        <ul empty="true">
          <li>
            <sourcecode type="coral"><![CDATA[
#using base = <http://coreapps.org/base#>
#using http = <http://coreapps.org/http#>
#using iana = <http://www.iana.org/assignments/relation/>

iana:icon </favicon.gif> {
   base:representation
      b64'R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAIAOw==' {
      http:type "image/gif"
   }
}
]]></sourcecode>
          </li>
        </ul>
        <t>An embedded representation <bcp14>SHOULD</bcp14> have a nested link of type
&lt;http://coreapps.org/http#type&gt; or
&lt;http://coreapps.org/coap#type&gt; that indicates the content type
of the representation.</t>
        <t>The link relation types
&lt;http://coreapps.org/base#representation&gt;,
&lt;http://coreapps.org/http#type&gt;, and
&lt;http://coreapps.org/coap#type&gt; are defined in <xref target="core-vocabulary"/>.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>CoRAL document processors need to be fully prepared for all types of
hostile input that may be designed to corrupt, overrun, or achieve
control of the agent processing the document. For example, hostile input
may be constructed to overrun buffers, allocate very big data
structures, or exhaust the stack depth by setting up deeply nested
elements. Processors need to have appropriate resource management to
mitigate these attacks.</t>
      <t>CoRAL serialization formats intentionally do not feature the equivalent
of XML entity references so as to preclude the entire class of attacks
relating to them, such as exponential XML entity expansion ("billion
laughs") <xref target="CAPEC-197"/> and malicious XML entity linking <xref target="CAPEC-201"/>.</t>
      <t>Implementers of the CoRAL binary format need to consider the security
aspects of decoding CBOR. See <xref section="10" sectionFormat="of" target="RFC8949"/> for security
considerations relating to CBOR.
In particular, different number encodings for the same numeric value
are not equivalent in CoRAL (e.g., a floating-point value of 0.0 is
not the same as the integer 0).</t>
      <t>CoRAL makes extensive use of resource identifiers.
See <xref section="7" sectionFormat="of" target="RFC3986"/> for security considerations relating to
URIs.
See <xref section="7" sectionFormat="of" target="I-D.ietf-core-href"/> for security considerations
relating to CRIs.</t>
      <t>The security of applications using CoRAL can depend on the proper
preparation and comparison of internationalized strings. For example,
such strings can be used to make authentication and authorization
decisions, and the security of an application could be compromised if an
entity providing a given string is connected to the wrong account or
online resource based on different interpretations of the string.
See <xref target="RFC6943"/> for security considerations relating to identifiers in
URIs and other strings.</t>
      <t>CoRAL is intended to be used in conjunction with a Web transfer protocol
like HTTP or CoAP. See <xref section="9" sectionFormat="of" target="RFC7230"/>, <xref section="9" sectionFormat="of" target="RFC7231"/>, etc.,
for security considerations relating to HTTP.
See <xref section="11" sectionFormat="of" target="RFC7252"/> for security considerations relating to
CoAP.</t>
      <t>CoRAL does not define any specific mechanisms for protecting the
confidentiality and integrity of CoRAL documents.
It relies on security mechanisms on the application layer or transport
layer for this, such as <xref target="RFC8446">Transport Layer Security (TLS)</xref>.</t>
      <t>CoRAL documents and the structure of a web of resources revealed from
automatically following links can disclose personal information and
other sensitive information.
Implementations need to prevent the unintentional disclosure of such
information.
See <xref section="9" sectionFormat="of" target="RFC7231"/> for additional considerations.</t>
      <t>Applications using CoRAL ought to consider the attack vectors opened by
automatically following, trusting, or otherwise using links and forms in
CoRAL documents. See <xref section="5" sectionFormat="of" target="RFC8288"/> for related considerations.</t>
      <t>In particular, when a CoRAL document is the representation of a
resource, the server that is authoritative for that resource may not
necessarily be authoritative for nested elements in the document. In
this case, unless an application defines specific rules, any link or
form where the link/form context and the document's retrieval context do
not share the same <xref target="RFC6454">Web Origin</xref> should be
discarded ("same-origin policy").</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="media-type-applicationcoralcbor">
        <name>Media Type "application/coral+cbor"</name>
        <t>This document registers the media type <tt>application/coral+cbor</tt> according to the procedures of <xref target="RFC6838"/>.</t>
        <dl newline="true">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>coral+cbor</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>dictionary - See <xref target="dictionary-compression"/> of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary - See <xref target="binary"/> of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>[I-D.ietf-core-coral]</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>See <xref target="introduction"/> of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>As specified for <tt>application/cbor</tt>.</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl spacing="compact">
              <dt>Deprecated alias names for this type:</dt>
              <dd>
                <t>N/A</t>
              </dd>
              <dt>Magic number(s):</dt>
              <dd>
                <t>N/A</t>
              </dd>
              <dt>File extension(s):</dt>
              <dd>
                <t>.coral.cbor</t>
              </dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>See the Author's Address section of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>See the Author's Address section of [I-D.ietf-core-coral].</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IESG</t>
          </dd>
          <dt>Provisional registration?</dt>
          <dd>
            <t>No</t>
          </dd>
        </dl>
      </section>
      <section anchor="coap-content-formats">
        <name>CoAP Content Formats</name>
        <t>This document registers CoAP content formats for the content types <tt>application/coral+cbor</tt> and <tt>text/coral</tt> according to the procedures
of <xref target="RFC7252"/>.</t>
        <ul spacing="normal">
          <li>
            <dl spacing="compact">
              <dt>Content Type:</dt>
              <dd>
                <t>application/coral+cbor</t>
              </dd>
              <dt>Content Coding:</dt>
              <dd>
                <t>identity</t>
              </dd>
              <dt>ID:</dt>
              <dd>
                <t>TBD3</t>
              </dd>
              <dt>Reference:</dt>
              <dd>
                <t>[I-D.ietf-core-coral]</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>[[NOTE TO RFC EDITOR: Please replace all occurrences of TBD3
in this document with the code points assigned by IANA.]]</t>
        <t>[[NOTE TO IMPLEMENTERS: Experimental implementations may use content
format ID 65087 for <tt>application/coral+cbor</tt>
until IANA has assigned code points.]]</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne">
              <organization/>
            </author>
            <author fullname="C. Newman" initials="C." surname="Newman">
              <organization/>
            </author>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau">
              <organization/>
            </author>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems.  The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo.  UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values.  This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="L. Masinter" initials="L." surname="Masinter">
              <organization/>
            </author>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes.  It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC5646">
          <front>
            <title>Tags for Identifying Languages</title>
            <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips">
              <organization/>
            </author>
            <author fullname="M. Davis" initials="M." role="editor" surname="Davis">
              <organization/>
            </author>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object.  It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange.  This document  specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="47"/>
          <seriesInfo name="RFC" value="5646"/>
          <seriesInfo name="DOI" value="10.17487/RFC5646"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth">
              <organization/>
            </author>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents.  Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites.  In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string.  It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
        <reference anchor="RFC6657">
          <front>
            <title>Update to MIME regarding "charset" Parameter Handling in Textual Media Types</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." surname="Reschke">
              <organization/>
            </author>
            <date month="July" year="2012"/>
            <abstract>
              <t>This document changes RFC 2046 rules regarding default "charset" parameter values for "text/*" media types to better align with common usage by existing clients and servers.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6657"/>
          <seriesInfo name="DOI" value="10.17487/RFC6657"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="I-D.ietf-core-href">
          <front>
            <title>Constrained Resource Identifiers</title>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="15" month="January" year="2022"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that serializes the URI components
   in Concise Binary Object Representation (CBOR) instead of a sequence
   of characters.  This simplifies parsing, comparison and reference
   resolution in environments with severe limitations on processing
   power, code size, and memory size.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-09"/>
        </reference>
        <reference anchor="Unicode" target="https://www.unicode.org/versions/Unicode13.0.0/">
          <front>
            <title>The Unicode Standard, Version 13.0.0</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="ISBN" value="978-1-936213-26-9"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-edn-literals">
          <front>
            <title>Application-Oriented Literals in CBOR Extended Diagnostic Notation</title>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="6" month="October" year="2021"/>
            <abstract>
              <t>   The Concise Binary Object Representation, CBOR (RFC 8949) defines a
   "diagnostic notation" in order to be able to converse about CBOR data
   items without having to resort to binary data.

   This document specifies how to add application-oriented extensions to
   the diagnostic notation.  It then defines two such extensions for the
   use of CBOR diagnostic notation with CoRAL and Constrained Resource
   Identifiers (draft-ietf-core-coral, draft-ietf-core-href).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-edn-literals-00"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-packed">
          <front>
            <title>Packed CBOR</title>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="13" month="February" year="2022"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949) is a data
   format whose design goals include the possibility of extremely small
   code size, fairly small message size, and extensibility without the
   need for version negotiation.

   CBOR does not provide any forms of data compression.  CBOR data
   items, in particular when generated from legacy data models often
   allow considerable gains in compactness when applying data
   compression.  While traditional data compression techniques such as
   DEFLATE (RFC 1951) can work well for CBOR encoded data items, their
   disadvantage is that the receiver needs to unpack the compressed form
   to make use of data.

   This specification describes Packed CBOR, a simple transformation of
   a CBOR data item into another CBOR data item that is almost as easy
   to consume as the original CBOR data item.  A separate decompression
   step is therefore often not required at the receiver.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-04"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4287">
          <front>
            <title>The Atom Syndication Format</title>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="R. Sayre" initials="R." role="editor" surname="Sayre">
              <organization/>
            </author>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document specifies Atom, an XML-based Web content and metadata syndication format.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4287"/>
          <seriesInfo name="DOI" value="10.17487/RFC4287"/>
        </reference>
        <reference anchor="RFC5789">
          <front>
            <title>PATCH Method for HTTP</title>
            <author fullname="L. Dusseault" initials="L." surname="Dusseault">
              <organization/>
            </author>
            <author fullname="J. Snell" initials="J." surname="Snell">
              <organization/>
            </author>
            <date month="March" year="2010"/>
            <abstract>
              <t>Several applications extending the Hypertext Transfer Protocol (HTTP) require a feature to do partial resource modification.  The existing HTTP PUT method only allows a complete replacement of a document. This proposal adds a new HTTP method, PATCH, to modify an existing HTTP resource.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5789"/>
          <seriesInfo name="DOI" value="10.17487/RFC5789"/>
        </reference>
        <reference anchor="RFC6573">
          <front>
            <title>The Item and Collection Link Relations</title>
            <author fullname="M. Amundsen" initials="M." surname="Amundsen">
              <organization/>
            </author>
            <date month="April" year="2012"/>
            <abstract>
              <t>RFC 5988 standardized a means of indicating the relationships between resources on the Web. This specification defines a pair of reciprocal link relation types that may be used to express the relationship between a collection and its members.  This document is not an Internet  Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6573"/>
          <seriesInfo name="DOI" value="10.17487/RFC6573"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links.  Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type.  "RESTful" refers to the Representational State Transfer (REST) architecture.  A well-known URI is defined as a default entry point for requesting the links hosted by a server.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC6943">
          <front>
            <title>Issues in Identifier Comparison for Security Purposes</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler">
              <organization/>
            </author>
            <date month="May" year="2013"/>
            <abstract>
              <t>Identifiers such as hostnames, URIs, IP addresses, and email addresses are often used in security contexts to identify security principals and resources.  In such contexts, an identifier presented via some protocol is often compared using some policy to make security decisions such as whether the security principal may access the resource, what level of authentication or encryption is required, etc.  If the parties involved in a security decision use different algorithms to compare identifiers, then failure scenarios ranging from denial of service to elevation of privilege can result.  This document provides a discussion of these issues that designers should consider when defining identifiers and protocols, and when constructing architectures that use multiple protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6943"/>
          <seriesInfo name="DOI" value="10.17487/RFC6943"/>
        </reference>
        <reference anchor="RFC7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="M. Ersue" initials="M." surname="Ersue">
              <organization/>
            </author>
            <author fullname="A. Keranen" initials="A." surname="Keranen">
              <organization/>
            </author>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks.  This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems.  This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC7231">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless \%application- level protocol for distributed, collaborative, hypertext information systems.  This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7231"/>
          <seriesInfo name="DOI" value="10.17487/RFC7231"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal">
              <organization/>
            </author>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource.  In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable.  Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8820">
          <front>
            <title>URI Design and Ownership</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <date month="June" year="2020"/>
            <abstract>
              <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme."  In other words, the structure of a URI is defined by its scheme. While it is common for schemes to further delegate their substructure to the URI's owner, publishing independent standards that mandate particular forms of substructure in URIs is often problematic.</t>
              <t>This document provides guidance on the specification of URI substructure in standards.</t>
              <t>This document obsoletes RFC 7320 and updates RFC 3986.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="190"/>
          <seriesInfo name="RFC" value="8820"/>
          <seriesInfo name="DOI" value="10.17487/RFC8820"/>
        </reference>
        <reference anchor="W3C.REC-html52-20171214" target="https://www.w3.org/TR/2017/REC-html52-20171214">
          <front>
            <title>HTML 5.2</title>
            <author fullname="Steve Faulkner" initials="S." surname="Faulkner">
              <organization/>
            </author>
            <author fullname="Arron Eicholz" initials="A." surname="Eicholz">
              <organization/>
            </author>
            <author fullname="Travis Leithead" initials="T." surname="Leithead">
              <organization/>
            </author>
            <author fullname="Alex Danilo" initials="A." surname="Danilo">
              <organization/>
            </author>
            <author fullname="Sangwhan Moon" initials="S." surname="Moon">
              <organization/>
            </author>
            <date day="14" month="December" year="2017"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-html52-20171214"/>
        </reference>
        <reference anchor="W3C.REC-rdf11-concepts-20140225" target="https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225">
          <front>
            <title>RDF 1.1 Concepts and Abstract Syntax</title>
            <author fullname="Richard Cyganiak" initials="R." surname="Cyganiak">
              <organization/>
            </author>
            <author fullname="David Wood" initials="D." surname="Wood">
              <organization/>
            </author>
            <author fullname="Markus Lanthaler" initials="M." surname="Lanthaler">
              <organization/>
            </author>
            <date day="25" month="February" year="2014"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-rdf11-concepts-20140225"/>
        </reference>
        <reference anchor="W3C.REC-rdf-schema-20140225" target="https://www.w3.org/TR/2014/REC-rdf-schema-20140225">
          <front>
            <title>RDF Schema 1.1</title>
            <author fullname="Dan Brickley" initials="D." surname="Brickley">
              <organization/>
            </author>
            <author fullname="Ramanathan Guha" initials="R." surname="Guha">
              <organization/>
            </author>
            <date day="25" month="February" year="2014"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-rdf-schema-20140225"/>
        </reference>
        <reference anchor="W3C.REC-turtle-20140225" target="https://www.w3.org/TR/2014/REC-turtle-20140225">
          <front>
            <title>RDF 1.1 Turtle</title>
            <author fullname="Eric Prud&amp;#039;hommeaux" initials="E." surname="Prud&amp;#039;hommeaux">
              <organization/>
            </author>
            <author fullname="Gavin Carothers" initials="G." surname="Carothers">
              <organization/>
            </author>
            <date day="25" month="February" year="2014"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-turtle-20140225"/>
        </reference>
        <reference anchor="W3C.REC-webarch-20041215" target="https://www.w3.org/TR/2004/REC-webarch-20041215">
          <front>
            <title>Architecture of the World Wide Web, Volume One</title>
            <author fullname="Ian Jacobs" initials="I." surname="Jacobs">
              <organization/>
            </author>
            <author fullname="Norman Walsh" initials="N." surname="Walsh">
              <organization/>
            </author>
            <date day="15" month="December" year="2004"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-webarch-20041215"/>
        </reference>
        <reference anchor="CORE-PARAMETERS" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="HTTP-METHODS" target="https://www.iana.org/assignments/http-methods">
          <front>
            <title>Hypertext Transfer Protocol (HTTP) Method Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="LINK-RELATIONS" target="https://www.iana.org/assignments/link-relations">
          <front>
            <title>Link Relations</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="MEDIA-TYPES" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="UAX31" target="https://www.unicode.org/reports/tr31/tr31-33.html">
          <front>
            <title>Unicode Standard Annex #31: Unicode Identifier and Pattern Syntax</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="Revision" value="33"/>
        </reference>
        <reference anchor="UTR36" target="https://www.unicode.org/reports/tr36/tr36-15.html">
          <front>
            <title>Unicode Technical Report #36: Unicode Security Considerations</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2014" month="September"/>
          </front>
          <seriesInfo name="Revision" value="15"/>
        </reference>
        <reference anchor="UTS39" target="https://www.unicode.org/reports/tr39/tr39-22.html">
          <front>
            <title>Unicode Technical Standard #39: Unicode Security Mechanisms</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2020" month="February"/>
          </front>
          <seriesInfo name="Revision" value="22"/>
        </reference>
        <reference anchor="FOAF" target="http://xmlns.com/foaf/spec/20140114.html">
          <front>
            <title>FOAF Vocabulary Specification 0.99</title>
            <author initials="D." surname="Brickley" fullname="Dan Brickley">
              <organization/>
            </author>
            <author initials="L." surname="Miller" fullname="Libby Miller">
              <organization/>
            </author>
            <date year="2014" month="January"/>
          </front>
        </reference>
        <reference anchor="CAPEC-197" target="https://capec.mitre.org/data/definitions/197.html">
          <front>
            <title>CAPEC-197: XML Entity Expansion</title>
            <author>
              <organization>MITRE</organization>
            </author>
            <date year="2019" month="September"/>
          </front>
        </reference>
        <reference anchor="CAPEC-201" target="https://capec.mitre.org/data/definitions/201.html">
          <front>
            <title>CAPEC-201: XML Entity Linking</title>
            <author>
              <organization>MITRE</organization>
            </author>
            <date year="2019" month="September"/>
          </front>
        </reference>
        <reference anchor="HAL">
          <front>
            <title>JSON Hypertext Application Language</title>
            <author fullname="Mike Kelly">
	 </author>
            <date day="12" month="May" year="2016"/>
            <abstract>
              <t>   This document proposes a media type for representing resources and
   their relations with hyperlinks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kelly-json-hal-08"/>
        </reference>
        <reference anchor="RFC7089">
          <front>
            <title>HTTP Framework for Time-Based Access to Resource States -- Memento</title>
            <author fullname="H. Van de Sompel" initials="H." surname="Van de Sompel">
              <organization/>
            </author>
            <author fullname="M. Nelson" initials="M." surname="Nelson">
              <organization/>
            </author>
            <author fullname="R. Sanderson" initials="R." surname="Sanderson">
              <organization/>
            </author>
            <date month="December" year="2013"/>
            <abstract>
              <t>The HTTP-based Memento framework bridges the present and past Web.  It facilitates obtaining representations of prior states of a given resource by introducing datetime negotiation and TimeMaps.  Datetime negotiation is a variation on content negotiation that leverages the given resource's URI and a user agent's preferred datetime.  TimeMaps are lists that enumerate URIs of resources that encapsulate prior states of the given resource.  The framework also facilitates recognizing a resource that encapsulates a frozen prior state of another resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7089"/>
          <seriesInfo name="DOI" value="10.17487/RFC7089"/>
        </reference>
        <reference anchor="I-D.ietf-httpapi-linkset">
          <front>
            <title>Linkset: Media Types and a Link Relation Type for Link Sets</title>
            <author fullname="Erik Wilde">
              <organization>Axway</organization>
            </author>
            <author fullname="Herbert Van de Sompel">
              <organization>Data Archiving and Networked Services</organization>
            </author>
            <date day="8" month="February" year="2022"/>
            <abstract>
              <t>   This specification defines two formats and respective media types for
   representing sets of links as stand-alone documents.  One format is
   JSON-based, the other aligned with the format for representing links
   in the HTTP "Link" header field.  This specification also introduces
   a link relation type to support discovery of sets of links.

Note to Readers

   Please discuss this draft on the "Building Blocks for HTTP APIs"
   mailing list (https://www.ietf.org/mailman/listinfo/httpapi).

   Online access to all versions and files is available on GitHub
   (https://github.com/ietf-wg-httpapi/linkset).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpapi-linkset-08"/>
        </reference>
      </references>
    </references>
    <section anchor="core-vocabulary">
      <name>Core Vocabulary</name>
      <t>This section defines the core vocabulary for CoRAL: a set of link
relation types, operation types, and form field types.</t>
      <section anchor="base">
        <name>Base</name>
        <t>Link Relation Types:</t>
        <dl newline="true">
          <dt>&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;</dt>
          <dd>
            <t>Indicates that the link's context is an instance of the class
specified as the link's target, as defined by <xref target="W3C.REC-rdf-schema-20140225">RDF
Schema</xref>.</t>
          </dd>
          <dt>&lt;http://coreapps.org/base#title&gt;</dt>
          <dd>
            <t>Indicates that the link target is a human-readable label (e.g., a
menu entry).
</t>
            <t>The link target <bcp14>MUST</bcp14> be a literal. The text string <bcp14>SHOULD</bcp14> be
wrapped in a tag indicating language and, if necessary, direction
if applicable.</t>
          </dd>
          <dt>&lt;http://coreapps.org/base#representation&gt;</dt>
          <dd>
            <t>Indicates that the link target is a representation of the link
context.
</t>
            <t>The link target <bcp14>MUST</bcp14> be a byte string.</t>
            <t>The representation may be a full, partial, or inconsistent version
of the representation served from the URI of the resource.</t>
            <t>A link with this link relation type can occur as a top-level element in
a document or as a nested element within a link. When it occurs as
a top-level element, it provides an alternate representation of
the document's retrieval context. When it occurs nested within a
link, it provides a representation of link target of the enclosing
link.</t>
          </dd>
        </dl>
        <t>Operation Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/base#update&gt;</dt>
          <dd>
            <t>Indicates that the state of the form's context can be replaced
with the state described by a representation submitted to the
server.
</t>
            <t>This operation type defaults to the PUT method <xref target="RFC7231"/>  <xref target="RFC7252"/> for both HTTP and
CoAP.
  Typical overrides by a form field include the PATCH method <xref target="RFC5789"/>  <xref target="RFC8132"/> for HTTP and CoAP and
the iPATCH method <xref target="RFC8132"/> for CoAP.</t>
          </dd>
          <dt>&lt;http://coreapps.org/base#search&gt;</dt>
          <dd>
            <t>Indicates that the form's context can be searched by submitting a
search query.
</t>
            <t>This operation type defaults to the POST method <xref target="RFC7231"/> for HTTP
and the FETCH method <xref target="RFC8132"/> for CoAP.
Typical overrides by a form field include the POST method <xref target="RFC7252"/>
for CoAP.</t>
          </dd>
        </dl>
      </section>
      <section anchor="collections">
        <name>Collections</name>
        <t>Link Relation Types:</t>
        <dl newline="true">
          <dt>&lt;http://www.iana.org/assignments/relation/item&gt;</dt>
          <dd>
            <t>Indicates that the link's context is a collection and that the
link's target is a member of that collection, as defined in
<xref section="2.1" sectionFormat="of" target="RFC6573"/>.</t>
          </dd>
          <dt>&lt;http://www.iana.org/assignments/relation/collection&gt;</dt>
          <dd>
            <t>Indicates that the link's target is a collection and that the link's
context is a member of that collection, as defined in <xref section="2.2" sectionFormat="of" target="RFC6573"/>.</t>
          </dd>
        </dl>
        <t>Operation Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/collections#create&gt;</dt>
          <dd>
            <t>Indicates that the form's context is a collection and that a new
item can be created in that collection with the state defined by a
representation submitted to the server.
</t>
            <t>This operation type defaults to the POST method <xref target="RFC7231"/> <xref target="RFC7252"/>
for both HTTP and CoAP.</t>
          </dd>
          <dt>&lt;http://coreapps.org/collections#delete&gt;</dt>
          <dd>
            <t>Indicates that the form's context is a member of a collection and
that the form's context can be removed from that collection.
</t>
            <t>This operation type defaults to the DELETE method <xref target="RFC7231"/>
              <xref target="RFC7252"/> for both HTTP and CoAP.</t>
          </dd>
        </dl>
      </section>
      <section anchor="http">
        <name>HTTP</name>
        <t>Form Field Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/http#method&gt;</dt>
          <dd>
            <t>Specifies the HTTP method for the request.
</t>
            <t>The form field value <bcp14>MUST</bcp14> be a text string in the format defined
in <xref section="4.1" sectionFormat="of" target="RFC7231"/>.
The possible set of values is maintained in the <xref target="HTTP-METHODS">HTTP Methods
Registry</xref>.</t>
            <t>A form field of this type <bcp14>MUST NOT</bcp14> occur more than once in a form.
If absent, it defaults to the request method implied by the form's
operation type.</t>
          </dd>
          <dt>&lt;http://coreapps.org/http#accept&gt;</dt>
          <dd>
            <t>Specifies an acceptable HTTP content type for the request payload.
There may be multiple form fields of this type. If a form does not
include a form field of this type, the server accepts any or no
request payload, depending on the operation type.
</t>
            <t>The form field value <bcp14>MUST</bcp14> be a text string in the format defined
in <xref section="3.1.1.1" sectionFormat="of" target="RFC7231"/>. The
possible set of media types and their parameters is maintained in
the <xref target="MEDIA-TYPES">Media Types Registry</xref>.</t>
          </dd>
        </dl>
        <t>Link Relation Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/http#type&gt;</dt>
          <dd>
            <t>Specifies the HTTP content type of the link context.
</t>
            <t>The link target <bcp14>MUST</bcp14> be a text string in the format defined in
<xref section="3.1.1.1" sectionFormat="of" target="RFC7231"/>. The possible set of media types and
their parameters is maintained in the <xref target="MEDIA-TYPES">Media Types
Registry</xref>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="coap">
        <name>CoAP</name>
        <t>Form Field Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/coap#method&gt;</dt>
          <dd>
            <t>Specifies the CoAP method for the request.
</t>
            <t>The form field value <bcp14>MUST</bcp14> be an integer identifying a CoAP method
(e.g., the integer 2 for the POST method). The possible set of
values is maintained in the <xref target="CORE-PARAMETERS">CoAP Method Codes
Registry</xref>.</t>
            <t>A form field of this type <bcp14>MUST NOT</bcp14> occur more than once in a form.
If absent, it defaults to the request method implied by the form's
operation type.</t>
          </dd>
          <dt>&lt;http://coreapps.org/coap#accept&gt;</dt>
          <dd>
            <t>Specifies an acceptable CoAP content format for the request
payload. There may be multiple form fields of this type. If a form
does not include a form field of this type, the server accepts any
or no request payload, depending on the operation type.
</t>
            <t>The form field value <bcp14>MUST</bcp14> be an integer identifying a CoAP content
format.
The possible set of values is maintained in the CoAP <xref target="CORE-PARAMETERS">Content
Formats Registry</xref>.</t>
          </dd>
        </dl>
        <t>Link Relation Types:</t>
        <dl newline="true">
          <dt>&lt;http://coreapps.org/coap#type&gt;</dt>
          <dd>
            <t>Specifies the CoAP content format of the link context.
</t>
            <t>The link target <bcp14>MUST</bcp14> be an integer identifying a CoAP content format
(e.g., the integer 42 for the content type
<tt>application/octet-stream</tt> without a content coding).
The possible set of values is maintained in the <xref target="CORE-PARAMETERS">CoAP Content
Formats Registry</xref>.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="default-dictionary">
      <name>Default Dictionary</name>
      <t>This section defines a default dictionary that is assumed when the <tt>application/coral+cbor</tt> media type is used without a <tt>dictionary</tt> parameter.</t>
      <table align="center" anchor="default-dictionary-entries">
        <name>Default Dictionary</name>
        <thead>
          <tr>
            <th align="right">Key</th>
            <th align="left">Value</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">0</td>
            <td align="left">&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;</td>
          </tr>
          <tr>
            <td align="right">1</td>
            <td align="left">&lt;http://www.iana.org/assignments/relation/item&gt;</td>
          </tr>
          <tr>
            <td align="right">2</td>
            <td align="left">&lt;http://www.iana.org/assignments/relation/collection&gt;</td>
          </tr>
          <tr>
            <td align="right">3</td>
            <td align="left">&lt;http://coreapps.org/collections#create&gt;</td>
          </tr>
          <tr>
            <td align="right">4</td>
            <td align="left">&lt;http://coreapps.org/base#update&gt;</td>
          </tr>
          <tr>
            <td align="right">5</td>
            <td align="left">&lt;http://coreapps.org/collections#delete&gt;</td>
          </tr>
          <tr>
            <td align="right">6</td>
            <td align="left">&lt;http://coreapps.org/base#search&gt;</td>
          </tr>
          <tr>
            <td align="right">7</td>
            <td align="left">&lt;http://coreapps.org/coap#accept&gt;</td>
          </tr>
          <tr>
            <td align="right">8</td>
            <td align="left">&lt;http://coreapps.org/coap#type&gt;</td>
          </tr>
          <tr>
            <td align="right">10</td>
            <td align="left">&lt;http://coreapps.org/coap#method&gt;</td>
          </tr>
          <tr>
            <td align="right">14</td>
            <td align="left">&lt;http://coreapps.org/base#representation&gt;</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="mappings-to-other-formats">
      <name>Mappings to other formats</name>
      <t>While CoRAL has an information model of its own,
its data can be converted to different extents with other data formats.</t>
      <t>Using these conversions is generally application specific,
i.e., this document does not claim equivalence of (say) a given RDF its converted CoRAL document,
but applications can choose use these conversions if the limitations described with the conversion are acceptable to them.</t>
      <section anchor="rdf">
        <name>RDF</name>
        <t>[ TBD: Expand / introduce the common CURIEs used here. ]</t>
        <t>RDF and the CoRAL Basic Information Model can be interconverted losslessly,
as long as some basic restrictions are met:</t>
        <ul spacing="normal">
          <li>
            <t>All involved IRIs (on the RDF side) and CRIs (on the CoRAL side) can be converted;
that means that round-tripping IRIs through CoRAL converts them to the equivalent URIs.  </t>
            <t>
The precise limitations of what CRIs can not express are described in <xref target="I-D.ietf-core-href"/> and out of scope of this document.  </t>
            <t>
A possible extension to CoRAL that allows tagged URIs in place of CRIs could remove this limitation.
(CRIs that can not be expressed as URIs are not valid anyway).</t>
          </li>
          <li>A blank node of CoRAL can only have one incoming edge in serialization.
RDF documents with multiply connected blank nodes need to undergo skolemization before they can be expressed in CoRAL.</li>
          <li>
            <t>CoRAL supports arbitrary literal objects, including CBOR tags.
For each object that is used in a literal, a mapping to a datatype (typically XSD) needs to be defined.  </t>
            <t>
When literals are normalized in RDF according to XSD rules,
or the literal mappings to RDF datatypes are ambiguous on the CoRAL side,
round-tripping CoRAL through RDF can be lossy to the extent of the normalization or ambiguity.</t>
          </li>
          <li>As always with expressing arbitrary graphs of the Basic Information Model in serialization,
if there is no directed tree spanning the directed graph,
statements need to be introduced to reach some topics.</li>
        </ul>
        <t>Each statement in RDF is mapped to a statement in CoRAL.
Any IRI it contains in RDF is mapped to an equivalent CRI in CoRAL and vice versa.
Any blank node of RDF is converted to a blank node (serialized as a null) in CoRAL.
(Beware that depending on the context established in <xref target="docsemantics"/>, the retrieval context may be a URI or a blank node).
Literals are converted as follows:</t>
        <ul spacing="normal">
          <li>CBOR text strings are coverted to RDF string literals without a language tag.</li>
          <li>CBOR literals from the following list are converted to their corresponding text representations of the datatype from the following table:</li>
        </ul>
        <table anchor="cddl-xsd-mappings">
          <name>Mapping between CDDL types and XSD datatypes</name>
          <thead>
            <tr>
              <th align="left">CDDL</th>
              <th align="left">XSD datatype</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">bool</td>
              <td align="left">xsd:boolean</td>
            </tr>
            <tr>
              <td align="left">integer</td>
              <td align="left">xsd:integer</td>
            </tr>
            <tr>
              <td align="left">float</td>
              <td align="left">xsd:double</td>
            </tr>
            <tr>
              <td align="left">decfrac</td>
              <td align="left">xsd:decimal</td>
            </tr>
            <tr>
              <td align="left">bytes</td>
              <td align="left">xsd:base64Binary or xsd:base64hexBinary (?)</td>
            </tr>
            <tr>
              <td align="left">tdate</td>
              <td align="left">xsd:date</td>
            </tr>
            <tr>
              <td align="left">#6.38([lang: tstr, text: tstr])</td>
              <td align="left">rdf:langString with lang as language tag</td>
            </tr>
            <tr>
              <td align="left">#6.TBD([lang: tstr, dir: tstr, text: tstr])</td>
              <td align="left">i18n:{lang}_{dir}</td>
            </tr>
          </tbody>
        </table>
        <t>[ TBD: Check compatibilities, give type for at least the basic tags.
   Directional text might wind up in tag 38, ]</t>
        <ul spacing="normal">
          <li>RDF literals are mapped to any CoRAL literal that yields an equivalent RDF literal in the opposite direction.</li>
        </ul>
        <section anchor="example">
          <name>Example</name>
          <t>The FOAF namespace provides this example:</t>
          <figure anchor="fig-foaf-orig">
            <name>Original FOAF file at http://.../me.xml</name>
            <artwork><![CDATA[
<foaf:Person rdf:about="#danbri" xmlns:foaf="http://xmlns.com/foaf/0.1/">
  <foaf:name>Dan Brickley</foaf:name>
  <foaf:homepage rdf:resource="http://danbri.org/" />
  <foaf:openid rdf:resource="http://danbri.org/" />
  <foaf:img rdf:resource="/images/me.jpg" />
</foaf:Person>
]]></artwork>
          </figure>
          <t>Converted, assuming no particular profiling or dictionary setup
(and an ad-hoc table following <xref section="3.1" sectionFormat="of" target="I-D.ietf-cbor-packed"/>),
this could be:</t>
          <figure anchor="fig-foaf-converted">
            <name>Serialized FOAF file at http://.../me.coral</name>
            <artwork><![CDATA[
51([[cri'http://danbri.org/'], [<<-3, "xmlns.com", ["foaf", "0.1"], null>>], [], [
  [2, cri'http://www.iana.org/assignments/relation/carries-information-about', cri'/me.xml#danbri',
    [2, cri'http://www.w3.org/1999/02/22-rdf-syntax-ns#type', 6(<<'Person'>>)],
    [2, 6(<<'name'>>), "Dan Brickley"],
    [2, 6(<<'homepage'>>), 6(0)],
    [2, 6(<<'openid'>>), 6(0)],
    [2, 6(<<'img'>>), cri'/images/me.jpg']
  ]
]])
]]></artwork>
          </figure>
          <t>The TBD:talks-about statement is introduced to bridge the gap between the basic and the necessarily structured information model.
[ TBD: Introduce that somewhere else more generally. ]</t>
          <t>In this packing, an invalid CRI (with trailing null leaving room for a fragment identifier to be added through packing)
is added into the prefixes list.
It is not sure whether this particular trick will ever be permitted by any of the profilings,
or whether this is better done with base URIs.
The mechanism is used because right now it works with the specifications involved without the need for further text,
and is likely to be replaced by better mechanisms in later revisions of this document.</t>
        </section>
      </section>
      <section anchor="convert-6690">
        <name>CoRE Link Format</name>
        <t>Generic information in Web Links as described in <xref target="RFC8288"/> can not be converted to CoRAL in any practical way:
Attributes are not managed,
and it is not clear from the syntax whether an attribute is making a statement about the link or its target.
(See <xref target="literalexample"/> for an example).
<!-- "It is broken, at least for our applications" -->
        </t>
        <!-- We can't usurp the semantics without incompatibly updating RFC6690, so we limit scope: -->
<t>Applications that use links with the attribute semantics common in the CoRE ecosystem
(typically used with <xref target="RFC6690"/> Link Format)
can use this conversion.
It defines terms for common properties used for discovering resources,
and describes a way to compatibly extend the mapping.</t>
        <t>The same mechanism
(but probably with a different mapping between names and attributes,
and different rules about the necessity of packing entries)
can be defined for any data model that builds on <xref target="RFC8288"/> semantics,
e.g., the links sent in headers or payloads about <xref target="RFC7089"/> mementos,
or applications building on <xref target="I-D.ietf-httpapi-linkset"/>.</t>
        <!-- Better terminology than "necessarily" (in all-caps?) appreciated! -->
<t>In several points the mapping describes URIs to necessarily have an entry in the packing table;
this refers to the profiling described further down.
Parts of a Link Format document that would need an entry but do not have one
can not be converted;
these are ignored in the conversion unless the converter is configured to be strict and fail the complete conversion in that case.</t>
        <t>This mapping from Link Format to CoRAL is performed as follows:
* For each relation in a link,
  a statement is created mapping
  the link context to the subject,
  the link target to the object
  and the relation to the predicate.</t>
        <t>If the relation is of ext-rel-type, it is used as a URI as is.
  Otherwise it is a registered value,
  prefixed with <tt>http://www.iana.org/assignments/relation/</tt>
  and necessarily packed using table TBD.
  (This is equivalent to the RPP mechanism for attribute values).</t>
        <ul spacing="normal">
          <li>
            <t>Each target attribute is converted to one or more statements by the mechanism indicated for the attribute name in the following table.
Statements produced from a link have the target as its subject,
the attribute name without any trailing asterisk (prefixed with <tt>https://TBD/</tt> [ to be picked together with IANA as it'll be a registry ]) as its predicate,
and the object(s) depending on the mechanism.  </t>
            <t>
Attributes are necessarily listed in this table.</t>
          </li>
        </ul>
        <table anchor="target-attributes">
          <name>Initial entries of the target attribute registry (TN = table number)</name>
          <thead>
            <tr>
              <th align="left">TN</th>
              <th align="left">Name</th>
              <th align="left">Mechanism</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">hreflang</td>
              <td align="left">[ do we need that? ]</td>
            </tr>
            <tr>
              <td align="left">TBD</td>
              <td align="left">media</td>
              <td align="left">[ do we need that? ]</td>
            </tr>
            <tr>
              <td align="left">16</td>
              <td align="left">title</td>
              <td align="left">string</td>
            </tr>
            <tr>
              <td align="left">TBD</td>
              <td align="left">type</td>
              <td align="left">[ do we need that? ]</td>
            </tr>
            <tr>
              <td align="left">0</td>
              <td align="left">rt</td>
              <td align="left">WSSP; RPP <tt>http://www.iana.org/TBDr/</tt></td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">if</td>
              <td align="left">WSSP; RPP <tt>http://www.iana.org/TBDi/</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">sz</td>
              <td align="left">int</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">ct</td>
              <td align="left">WSSP; int</td>
            </tr>
          </tbody>
        </table>
        <t>Available mechanisms are:</t>
        <ul spacing="normal">
          <li>SPSP (space split):
Link format values are split at space characters (SP in the RFC6690 ABNF),
and all values treated using another mechanism.</li>
          <li>string:
The attribute value is stored as a text string literal.
If the Link Format attribute is language tagged
(i.e. when the attribute name ends with an asterisk and the value is of ext-value shape),
the literal is encapsulated in a CBOR language tag (38).</li>
          <li>int:
The target attribute is processed as an ASCII encoded number
and expressed as an integer literal.
A failing conversion is treated like an unknown registered value:
It is ignored unless configured otherwise.</li>
          <li>RPP (registered-prefix / packed):
The input value (often the result of the SPSP mechanism)
is parsed according to the relation-type ABNF production.
If it is of ext-rel-type,
it is expressed as that URI.
If it is prefixed with the string indicated with the mechanism,
and necessarily compressed through table TBD.</li>
        </ul>
        <t>All currently registered link attributes are used in the CoRE ecosystem
as indicating a property of the target that is independent of the link being followed.
If this conversion is to be extended to cover attributes that pertain to the full link being followed
(typically along with one or more link relations),
the relevant relations are not expressed as a single statement,
but as a form, i.e. as two statements linking the context to a blank node
and the blank node to the target;
the attributes are attached to the blank node.
The precise mechanism out of scope for this document,
and left to those who first register such an attribute.</t>
        <t>Some structure can be carried over from Link Format to the structured model:
The sequences of links gets reused,
and the set and sequence of attributes in a particular occurrence of a link get applied to the statement produced from the link
(or all the statements, if the link has multiple link relations).
Statements whose subject is not the document itself
are attached to the retrieval context using the necessarily packed
<tt>http://www.iana.org/assignments/relation/carries-information-about</tt> property.
Statements about URLs mentioned elsewhere in the document
can be expressed there instead. <!-- generally once, but not stopping anybody... -->
        </t>
        <t>Link relations of the reg-name form,
link attributes,
and attribute values from the RPP mechanism
<bcp14>MUST</bcp14> be serialized using packed CBOR as initialized in table TBD.
No other packing is used.
A consumer <bcp14>MAY</bcp14> ignore any items compressed through the dictionary for which it does not know the expanded version:
These necessarily represent statements that involve terms the consumer does not understand.</t>
        <t>[ As an alternative,
packing attributes together with their URIs is considered:
Rather than <tt>[2, 6(/ attr:rt /), 6(/ rt:core.rd /)]</tt> we could have <tt>6(rt-core)</tt> right away;
unregistered values would stay <tt>[2, 6(/ attr:rt /), value]</tt> or maybe <tt>254([value])</tt> using prefix packing. ]</t>
      </section>
    </section>
    <section removeInRFC="true" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -04 to -05:</t>
      <ul spacing="normal">
        <li>Literals can no longer have properties.
The only use case was annotating languages and directions, and that can be done in CBOR.</li>
        <li>Added section about open and close world modelling.</li>
        <li>Information model merged with the previous data model and interaction section.</li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>Formalize information model, as basic and structured model.</li>
        <li>Remove textual representation, using CBOR diagnostig notation instead.</li>
        <li>Use Packed CBOR instead of custom dictionaries.</li>
        <li>Give explicit conversions from Link Format and with RDF.</li>
        <li>Remove references to IRIs (outside RDF) as CRIs are closer to URIs.</li>
        <li>Remove requirement for deterministic encoding.</li>
        <li>Many editorial changes.</li>
        <li>Update references.</li>
        <li>Change of authorship.</li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>Changed the binary format to express relation types, operation types and
form field types using <xref target="I-D.ietf-core-href"/> (#2).</li>
        <li>Clarified the current context and current base for nested elements and form
fields (#53).</li>
        <li>Minor editorial improvements (#27).</li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>Added nested elements to form fields.</li>
        <li>Replaced the special construct for embedded representations with links.</li>
        <li>Changed the textual format to allow simple/qualified names wherever IRI references
are allowed.</li>
        <li>Introduced predefined names in the textual format (#39).</li>
        <li>Minor editorial improvements and bug fixes (#16 #28 #31 #37 #39).</li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>Added a section on the semantics of CoRAL documents in responses.</li>
        <li>Minor editorial improvements.</li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The concept and original version of CoRAL (as well as CRIs) was developed by Klaus Hartke.
It was heavily inspired by Mike Kelly's <xref target="HAL">JSON Hypertext Application Language</xref>.</t>
      <t>The recommendations for minting URIs have been adopted from <xref target="W3C.REC-rdf11-concepts-20140225">RDF 1.1
Concepts and Abstract Syntax</xref> to
ease the interoperability between RDF predicates and link relation
types.</t>
      <t>Thanks to
<contact fullname="Carsten Bormann"/>,
<contact fullname="Jaime Jiménez"/>,
<contact fullname="Jim Schaad"/>,
<contact fullname="Sebastian Käbisch"/>,
<contact fullname="Ari Keränen"/>,
<contact fullname="Michael Koster"/>,
<contact fullname="Matthias Kovatsch"/> and
<contact fullname="Niklas Widell"/>
for helpful comments and discussions that have shaped the document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
VlgOd2D+P9/N9CYgKgEA

-->

</rfc>
