RFC 7284 INFORMATIONAL REGISTRY · PROFILES · URI

The Profile URI Registry

An IANA registry for profile URIs used in Internet protocols and data formats.

On rfc-editor.org ↗
PUBLISHED
June 2014
AUTHORS
M. Lanthaler
STREAM
INDEPENDENT
REGISTRY
Profile URIs (IANA)
ASSIGNMENT POLICY
First Come First Served
INITIAL ENTRIES
5 profiles
DOI
10.17487/RFC7284

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Independent Submission                                      M. Lanthaler
Request for Comments: 7284
Category: Informational                                        June 2014
ISSN: 2070-1721


                        The Profile URI Registry

Abstract

   This document defines a registry for profile URIs to be used in
   specifications standardizing profiles.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This is a contribution to the RFC Series, independently of any other
   RFC stream.  The RFC Editor has chosen to publish this document at
   its discretion and makes no statement about its value for
   implementation or deployment.  Documents approved for publication by
   the RFC Editor are not a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7284.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Table of Contents

   1. Introduction ....................................................2
   2. Registration Process ............................................2
   3. Example Registration Request ....................................2
   4. IANA Considerations .............................................3
      4.1. Initial Registry Contents ..................................4
   5. Security Considerations .........................................4
   6. Acknowledgements ................................................4
   7. Normative References ............................................5

1.  Introduction

   Profiles, as defined by [RFC6906], can be used to signal support for
   additional semantics, such as constraints, conventions, extensions,
   or any other aspects that do not alter the basic media type
   semantics.  Profiles are identified by a URI and can thus be created
   without central coordination.

   Similar to media types and link relation types, it is, in some cases,
   beneficial to centrally manage profile URIs to ensure
   interoperability and decrease the coupling between clients and
   servers.  This allows the independent evolution of clients and
   servers as both are coupled to these central contracts instead of
   being coupled to each other.  Therefore, this document establishes an
   IANA registry for profile URIs.

2.  Registration Process

   All elements in this registry require a URI in order to be
   registered.  The meaning of the profile URI should be documented in a
   permanent and readily available public specification in sufficient
   detail so that interoperability between independent implementations
   is possible (see the registration template in Section 4).

   An example registration request can be found in Section 3.

3.  Example Registration Request

   The following is an example registration request for the profile URI
   http://example.com/profiles/example.

   This is a request to IANA to please register the profile URI
   "http://example.com/profiles/example" in the "Profile URIs" registry
   according [RFC7284].

   o  Profile URI: http://example.com/profiles/example

   o  Common Name: My Profile

   o  Description: An exemplary profile URI registration.

   o  Reference: [the relevant specification]

4.  IANA Considerations

   This document establishes the "Profile URIs" registry.  The
   registration procedure for new entries requires a request in the form
   of the following template and is "First Come First Served" per
   [RFC5226].  Instructions for a registrant to request the registration
   of a profile URI are in Section 2.

   The underlying registry data (e.g., the XML file) must include
   Simplified BSD License text as described in Section 4.e of the Trust
   Legal Provisions [TRUST].

   The registration template is:

   o  Profile URI: The URI that identifies the registered profile.

   o  Common Name: The name by which the profile being registered is
      generally known.

   o  Description: A relatively short description of the profile.  For
      simple profiles, this might be all the documentation that is
      required and there might be no reference document.  In those
      cases, be sure this description adequately documents the profile
      and is suitable for interoperable implementation.

   o  Reference: Reference to the document that specifies the URI,
      preferably including a URI that can be used to retrieve a copy of
      the document.  An indication of the relevant sections may also be
      included.  This is recommended but can be left blank if the
      "Description" field provides sufficient documentation.

   o  Notes: [optional]

4.1.  Initial Registry Contents

   The "Profile URIs" registry's initial contents are:

   o  Profile URI: urn:example:profile-uri
   o  Common Name: Exemplary Profile
   o  Description: A profile to be used in examples, in accordance with
      [RFC6963].
   o  Reference: [RFC7284]

   o  Profile URI: http://dublincore.org/documents/2008/08/04/dc-html/
   o  Common Name: Dublin Core HTML metadata profile
   o  Description: A set of conventions by which a Dublin Core metadata
      description set can be can be represented within an (X)HTML web
      page using (X)HTML elements and attributes.
   o  Reference: [DC-HTML]

   o  Profile URI: http://www.w3.org/ns/json-ld#expanded
   o  Common Name: Expanded JSON-LD
   o  Description: A profile URI to request or signal expanded JSON-LD
      document form.
   o  Reference: [JSON-LD]

   o  Profile URI: http://www.w3.org/ns/json-ld#compacted
   o  Common Name: Compacted JSON-LD
   o  Description: A profile URI to request or signal compacted JSON-LD
      document form.
   o  Reference: [JSON-LD]

   o  Profile URI: http://www.w3.org/ns/json-ld#flattened
   o  Common Name: Flattened JSON-LD
   o  Description: A profile URI to request or signal flattened JSON-LD
      document form.
   o  Reference: [JSON-LD]

5.  Security Considerations

   There are no additional security considerations beyond those already
   inherent to using URIs.  Security considerations for URIs in general
   can be found in [RFC3986].

6.  Acknowledgements

   Thanks to Dave Cridland, Barry Leiba, Nevil Brownlee, and Peter
   Saint-Andre for valuable comments and suggestions.

7.  Normative References

   [DC-HTML]  Johnston, P. and A. Powell, "Expressing Dublin Core
              metadata using HTML/XHTML meta and link elements", Dublin
              Core Metadata Initiative Recommendation, August 2008,
              <http://dublincore.org/documents/2008/08/04/dc-html/>.

   [JSON-LD]  Sporny, M., Kellogg, G., and M. Lanthaler, "JSON-LD 1.0",
              World Wide Web Consortium Recommendation, January 2014,
              <http://www.w3.org/TR/json-ld/>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66, RFC
              3986, January 2005.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

   [RFC6906]  Wilde, E., "The 'profile' Link Relation Type", RFC 6906,
              March 2013.

   [RFC6963]  Saint-Andre, P., "A Uniform Resource Name (URN) Namespace
              for Examples", BCP 183, RFC 6963, May 2013.

   [TRUST]    IETF, "Trust Legal Provisions (TLP)",
              <http://trustee.ietf.org/license-info>.

Author's Address

   Markus Lanthaler

   EMail: mail@markus-lanthaler.com
   URI:   http://www.markus-lanthaler.com/

AI ELI5

On this page
PROBLEMAs specifications use profile URIs to signal support for additional semantics (constraints, extensions, conventions), these URIs are created independently, making it hard to ensure interoperability and manage the landscape.
MECHANISMRFC 7284 establishes an IANA registry where profile URIs can be formally registered with a common name, description, and reference, similar to how media types and link relations are managed.
STANDARD APPROACHThis registry provides a central place to discover and coordinate profile identifiers, allowing independent clients and servers to couple to standard contracts rather than to each other.

§1What Are Profiles?

As defined in RFC 6906, a profile is a way to add extra semantics to a data format without changing the basic format itself. Profiles can signal support for constraints, conventions, extensions, or any other aspects that do not alter the fundamental meaning of the format. Each profile is identified by a URI.

Because profiles are identified by URI, anyone can create them independently without central coordination. However, this can lead to fragmentation and make it harder for clients and servers to discover standard profiles or ensure they are using compatible profiles.

A profile is like a special flavor of a standard format. Instead of making a whole new format, you keep the format the same but add extra rules. Each flavor has its own web address.

§2The Registry and Registration Process

RFC 7284 establishes the "Profile URIs" registry at IANA. To be registered, a profile URI must be documented in a permanent, publicly available specification in sufficient detail for interoperable implementation.

The registration template requires a profile URI, a common name, a description, and optionally a reference. Registrations are accepted on a "First Come First Served" basis. Initial registry contents include the exemplary profile urn:example:profile-uri, Dublin Core HTML metadata, and three JSON-LD profiles (expanded, compacted, and flattened forms).

To register a profile, you fill out a form with the web address, a name, a description, and a link to the documentation. IANA keeps the list on a first-come-first-served basis.

§3Benefits and Use

Similar to media types and link relation types, a central registry for profile URIs allows independent evolution of clients and servers: both couple to standard profile contracts rather than directly to each other. This decoupling reduces complexity and increases interoperability.

The registry also reduces the chance of collisions and makes it easier for implementers to discover and reuse existing profiles rather than creating new ones unnecessarily. It mirrors the successful IANA approach for other naming systems.

Having an official list means clients and servers do not have to know about each other; they both just know the profile names from the official list. This makes it easier to build compatible systems.

§4References