<?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-rfc version 1.6.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-asdf-sdftype-link-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <front>
    <title abbrev="sdfType for Links">An sdfType for Links</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-asdf-sdftype-link-00"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2022" month="December" day="01"/>
    <area>Applications and Real-Time</area>
    <workgroup>ASDF WG</workgroup>
    <keyword>IoT</keyword>
    <keyword>Link</keyword>
    <keyword>Web Linking</keyword>
    <abstract>
      <t>This document defines and registers an sdfType "link" for the
Semantic Definition Format (SDF) for Data and Interactions of Things
(draft-ietf-asdf-sdf-12.txt).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-asdf-sdftype-link/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        A Semantic Definition Format for Data and Interactions of Things Working Group mailing list (<eref target="mailto:asdf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/asdf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/asdf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/sdftype-link"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The Semantic Definition Format for Data and Interactions of Things
(SDF, <xref target="I-D.ietf-asdf-sdf"/>) is a format for domain experts to use in the creation
and maintenance of data and interaction models in the Internet of
Things.</t>
      <t>A common data type that occurs in the modeling of IoT devices is the
<em>link</em>.
<xref target="RFC8288"/> defines the concept of Web Linking, which complements the
target URI that any link will contain, with additional parameters, such
as the "link relation type" that explains the relationship expressed
by the link, as well as "target attributes" that provide additional
information about the target of the link (without a need to
"dereference", i.e., follow, the link).</t>
      <t>This document defines and registers an sdfType "link" for the Semantic
Definition Format.
This type models an abstract "serialization" <xref target="RFC8288"/> of a link, in a
way that is compatible with the way SDF maps information models to its
data modeling language.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <!-- 
{: :boilerplate bcp14-tagged}
 -->

<t>The definitions of <xref target="RFC6690"/>, <xref target="RFC8288"/>, and <xref target="I-D.ietf-asdf-sdf"/> apply.</t>
      </section>
    </section>
    <section anchor="the-sdftype-link">
      <name>The sdfType "link"</name>
      <t>The sdfType "link" is intended to be used with the SDF "type" of "object".
The members of that object are strings that are named the same as the
link parameter (attribute) names.
The special parameter name "href" is used to express the link target.
(Parameter names specific to the Constrained RESTful Environment (CoRE) are also discussed in <xref target="I-D.bormann-core-target-attr"/>.)</t>
      <t>An example for the instance of a link is provided in <xref section="5" sectionFormat="of" target="RFC6690"/>:</t>
      <sourcecode type="link-format"><![CDATA[
   </sensors/temp>;rt="temperature-c";if="sensor",
]]></sourcecode>
      <t>An sdfProperty that is used to describe an SDF affordance that is intended to
hold a link like this (without getting specific on the actual link to
the link target) could look like:</t>
      <sourcecode type="sdf"><![CDATA[
{
 "sdfProperty": {
  "temp-c-link": {
   "type": "object",
   "sdfType": "link",
   "properties": {
     "href": { "type": "string"},
     "rt": { "type": "string", "const": "temperature-c"},
     "if": { "type": "string", "const": "sensor"}
   }
  }
 }
}
]]></sourcecode>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t>Links play an important role in SDF modeling both during definition
time (for adding information to a model, as e.g., in <tt>sdfRef</tt>) and
during run time (for making links to instances into a subject of data
and interaction modeling).
The present document is an early attempt at addressing the run-time
usage of links, in particular links that fit the Web Linking <xref target="RFC8288"/>
abstractions.
A related draft <xref target="I-D.laari-asdf-relations"/> addresses definition-time links, but does
seem to touch modeling run-time use of links as well (e.g., by
discussing "writable" link relations).</t>
      <t>Not all links used in ecosystems are based on URIs.
E.g., OMA has "object links", which are pairs of numbers (object/instance).
These ecosystem links may have some structure that should be modeled
in the SDF model (e.g., where the object id part of a link always has
to have a specific value).
This structure can be mapped into URI strings using some convention,
e.g., an OMA object link could be <tt>oma-object:3303:0</tt> (where
<tt>oma-object</tt> is placeholder for a URI scheme to be defined).
However, burying structural components of the ecosystem-specific link
in a string syntax makes it hard to access and control those
components from the model.</t>
      <t>Examples are needed to show how the OCF collection pattern is
addressed by the current specification.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8288"/> apply in a general way,
although modeling a link as a datatype does not incur all of the
security considerations that will apply to actually interchanging
these links.</t>
      <t>(TODO)</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO: This document registers the sdfType "link" in the SDF sdfType registry
(which is to be defined in the SDF specification).</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-asdf-sdf" target="https://www.ietf.org/archive/id/draft-ietf-asdf-sdf-12.txt">
          <front>
            <title>Semantic Definition Format (SDF) for Data and Interactions of Things</title>
            <author fullname="Michael Koster" initials="M." surname="Koster">
              <organization>PassiveLogic</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="30" month="June" year="2022"/>
            <abstract>
              <t>   The Semantic Definition Format (SDF) is a format for domain experts
   to use in the creation and maintenance of data and interaction models
   in the Internet of Things.  An SDF specification describes
   definitions of SDF Objects and their associated interactions (Events,
   Actions, Properties), as well as the Data types for the information
   exchanged in those interactions.  Tools convert this format to
   database formats and other serializations as needed.


   // A JSON format representation of SDF 1.0 was defined in version
   // (-00) of this document; version (-05) was designated as an
   // _implementation draft_, labeled SDF 1.1, at the IETF110 meeting of
   // the ASDF WG (2021-03-11).  The present version (-12) collects
   // smaller changes up to 2022-06-30.  It also removes deprecated
   // elements from SDF 1.0.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-asdf-sdf-12"/>
        </reference>
        <reference anchor="RFC8288" target="https://www.rfc-editor.org/info/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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC6690" target="https://www.rfc-editor.org/info/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="I-D.laari-asdf-relations" target="https://www.ietf.org/archive/id/draft-laari-asdf-relations-00.txt">
          <front>
            <title>Extended relation information for Semantic Definition Format (SDF)</title>
            <author fullname="Petri Laari" initials="P." surname="Laari">
              <organization>Ericsson</organization>
            </author>
            <date day="3" month="June" year="2022"/>
            <abstract>
              <t>   The Semantic Definition Format (SDF) base specification defines set
   of basic information elements that can be used for describing a large
   share of the existing data models from different ecosystems.  While
   these data models are typically very simple, such as basic sensors
   definitions, more complex models, and in particular bigger systems,
   benefit from ability to describe additional information on how
   different definitions relate to each other.  This document specifies
   an extension to SDF for describing complex relationships and
   additional information about them.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-laari-asdf-relations-00"/>
        </reference>
        <reference anchor="I-D.bormann-core-target-attr" target="https://www.ietf.org/archive/id/draft-bormann-core-target-attr-01.txt">
          <front>
            <title>CoRE Target Attribute Registry</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="6" month="November" year="2022"/>
            <abstract>
              <t>   The Constrained RESTful Environments (CoRE) specifications apply Web
   technologies to constrained environments.  One important such
   technology is Web Linking [RFC8288], which CoRE uses as the basis for
   a number of discovery protocols, such as the Link Format [RFC6690] in
   CoAP's Resource Discovery Protocol (Section 7 of [RFC7252]) and the
   Resource Directory [RFC9176].

   Web Links can have Target Attributes, the names of which are not
   generally coordinated by the Web Linking specification (Section 2.2
   of [RFC8288]).  This short note introduces an IANA registry for
   coordinating names of Target Attributes when used in Constrained
   RESTful Environments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-core-target-attr-01"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Discussions in the OneDM liaison organization shaped this proposal.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
lgfMOFm11itg7Q9iWaVL8RIAAA==

-->

</rfc>
