The Profile URI Registry
An IANA registry for profile URIs used in Internet protocols and data formats.
Lanthaler, M., "The Profile URI Registry", RFC 7284, DOI 10.17487/RFC7284, June 2014, <https://www.rfc-editor.org/info/rfc7284>.
@misc{rfc7284,
series = {Request for Comments},
number = 7284,
howpublished = {RFC 7284},
publisher = {RFC Editor},
doi = {10.17487/RFC7284},
url = {https://www.rfc-editor.org/info/rfc7284},
author = {M. Lanthaler},
title = {{The Profile URI Registry}},
pagetotal = 5,
year = 2014,
month = jun,
} RFC text
Contents
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
§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.