One document matched: draft-snell-more-link-relations-02.xml
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc5988 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5988.xml'>
]>
<?rfc toc="yes"?>
<?rfc strict="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<rfc category="info" ipr="trust200811" docName="draft-snell-more-link-relations-02">
<front>
<title abbrev="More Link Relations">
Additional Link Relations and the urn:social Namespace
</title>
<author initials="J.M." surname="Snell" fullname="James M Snell">
<address>
<email>jasnell@gmail.com</email>
</address>
</author>
<date month="October" year="2013" />
<area>Applications</area>
<keyword>I-D</keyword>
<keyword>http</keyword>
<keyword>link</keyword>
<keyword>rel</keyword>
<abstract>
<t>
This specification defines a number of additional
Link Relation Types that can used for a variety of
purposes.
</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>
This specification defines and adds the following additional
link relation types to the IANA Registry of Link Relations
established by <xref target="RFC5988"/>: to, bto, cc, bcc,
from, bfrom, source, generator, provider, location, alias and
mentioned-by. Further, this specification proposes a new
'social' URN namespace.
</t>
<t>
Note that this document is a work-in-progress draft specification
that does not yet represent a "standard". It is the intention of
this specification to propose a few new ideas and openly solicit
feedback on their definition and use. While this document might
eventually evolve into an RFC the ideas described herein have not
yet been broadly implemented and have definitions that may evolve
through successive iterations of this draft.
</t>
</section>
<section title="The 'social' URN Namespace">
<t>
This specification defines the 'social' URN namespace having the
following structure:
</t>
<figure><preamble>ABNF Grammar:</preamble><artwork><![CDATA[
social-url = "urn:social:" social-nss
NZDIGIT = %x31-39
distance = ":" NZDIGIT
confidence = ":" 2DIGIT
social-nss = "self" /
"everyone" /
"direct" /
( "extended" [ distance ] ) /
( "peer" [ distance ] ) /
( "subordinate" [ distance ] ) /
( "superior" [ distance ] ) /
( "common" [ confidence ] ) /
( "interested" [ confidence ] ) /
( "role" ":" TOKEN )
]]></artwork></figure>
<t>
Within any given social networking system, there is an available
population of entities. Each NSS term represent specific subsets of
this population and are defined in terms of these subsets relative
to a fixed context. For example, if the fixed content is a person,
the "urn:social:direct" URN identifies the subset of the total
population that is directly connected to the context person within
the social graph, while the "urn:social:extended" URN identifies the
subset that is directly or indirectly connected to the context
person.
</t>
<t>
The "extended", "peer", "subordinate", and "superior" NSS values
MAY include an additional single digit non-zero "distance" specifier,
whose value identifies a "degree of separation" from the link
context. For instance, the URN "urn:social:extended:1" would identify
members of the context's extended network that are only 1 degree of
separation from the context (which is equivalent to the "urn:social:direct"
URN). The value "urn:social:extended:6" indicates six degrees of
separation from the context. If the distance is omitted from the NSS,
no limit to the distance is assumed.
</t>
<t>
The "common" and "interested" NSS values MAY include a two-digit
"confidence factor" whose value specifies a confidence interval
an implementation can apply when determining which members of
the total population ought to be considered. The values range from
00-99, corresponding to confidence intervals between 0% to 99%.
If the confidence factor is omitted from the NSS, a confidence
interval of 100% is assumed.
</t>
<t>
The "role" NSS value MUST include one or more semicolon ";" TOKEN
delimited segments whose values identify specific named "roles"
within the population. For instance, the URN "urn:social:role:editor"
identifies all members of the relevant population who are assigned
to the "editor" rolel. The URN "urn:social:role:reader;writer"
identifes all members of the relevant population who are assigned
to both the "reader" and "writer" roles.
</t>
<t>
The 'social' URN namespace is defined to be intentionally
ambiguous and highly dependent on context. The specific interpretation
of each NSS, including any distance or confidence specifiers, depend
entirely on how and where the NSS is being used.
</t>
<section title="urn:social:everyone">
<t>
The "urn:social:everyone" URN identifies the subset of the total
population that is visible to the context.
</t>
</section>
<section title="urn:social:direct">
<t>
The "urn:social:direct" URN identifies the subset of the total
population that is both visible to and directly connected to
the context.
</t>
</section>
<section title="urn:social:extended">
<t>
The "urn:social:extended" URN identifies the subset of the total
population that is visible to and connected either directly or
indirectly to the context.
</t>
</section>
<section title="urn:social:peer">
<t>
The "urn:social:peer" URN identifies the subset of the total
population that is both visible to the context and considered
to be a "peer".
</t>
<t>
Peer relationships exist only within populations
in which there exists a hierarchical division of members in
the population. An example of such a network would be a company or
similarly structured organization. Peers might be directly
or indirectly connected to the target resource but are considered
to share the same hierarchical position.
</t>
</section>
<section title="urn:social:subordinate">
<t>
The "urn:social:subordinate" URN identifies the subset of the
total population that is both visible to the context and
considered to be "subordinate" to the context.
</t>
<t>
Subordinate relationships exist only within populations in which
there exists a hierarchical division of members in the population.
An example of such a network would be a company or similarly structured
organization. Subordinates might be directly or indirectly connected
to the target resource but are considered to share a lower hierarchical
position.
</t>
</section>
<section title="urn:social:superior">
<t>
The "urn:social:superior" URN identifies the subset of the
total population that is both visible to the context and
considered to be "superior" to the context.
</t>
<t>
Superior relationships exist only within populations in which there
exists a hierarchical division of members in the population. An example of
such a network would be a company or similarly structured
organization. Superiors might be directly or indirectly connected to
the target resource but are considered to have a higher hierarchical
position.
</t>
</section>
<section title="urn:social:common">
<t>
The "urn:social:common" URN identifies the subset of the total
population that is both visible to the context and
is determined to share common attributes with the context.
</t>
<t>
Determination of "common attributes" is dependent entirely on the
application. For example, an application might choose to use shared
interests in a given topic as the "common attribute" binding a
particular grouping of members.
</t>
</section>
<section title="urn:social:interested">
<t>
The "urn:social:interested" URN identifies the subset of the
total population that is both visible to the context and has
an express interest in the context. Examples of members of the
"interested" subset are those who have elected to "follow" the
activity of the context resource.
</t>
</section>
<section title="urn:social:self">
<t>
The "urn:social:self" URN identifies the context resource
itself as a member of the total population.
</t>
</section>
<section title="urn:social:role:{tokens}">
<t>
The "urn:social:role:{token}" URN identifies the subset of
the total population that is both visible to the contexst and
has been assigned to each of the individual roles identified
within by the URN.
</t>
<t>
The values of the role tokens are specific to the context
in which they are being used.
</t>
</section>
</section>
<section title="IANA Considerations">
<t>
The following Link Relations are added to the IANA Registry of
Link Relations.
</t>
<texttable>
<ttcol>Name</ttcol>
<ttcol>Description</ttcol>
<c>to</c>
<c>
Refers to a resource that is considered to be part of the
public primary audience of the link's context.
</c>
<c>bto</c>
<c>
Refers to a resource that is considered to be part of the
private primary audience of the link's context.
</c>
<c>cc</c>
<c>
Refers to a resource that is considered to be part of the
public secondary audience of the link's context.
</c>
<c>bcc</c>
<c>
Refers to a resource that is considered to be part of the
private secondary audience of the link's context.
</c>
<c>from</c>
<c>
Refers to a resource that is publicly considered to be the originator
of the link's context.
</c>
<c>bfrom</c>
<c>
Refers to a resource that is privately considered to be the orignator
of the link's context.
</c>
<c>scope</c>
<c>
Refers to a resource that identifies the total population of entities
to which the context is relevant.
</c>
<c>source</c>
<c>
Refers to the original source of information contained by the
context resource.
</c>
<c>provider</c>
<c>
Refers to the resource that provided the context resource.
Typically, this would be used to identify the entity publishing
the resource.
</c>
<c>generator</c>
<c>
Refers to the resource that generated the context resource.
Typically, this would be used to identify the software application
that created the context resource.
</c>
<c>mentioned-by</c>
<c>
Refers to a resource that mentions the context resource in some
fashion. This, for example, would be used when an article mentions
another article, or a social status update mentions a particular
user, etc.
</c>
<c>location</c>
<c>
References a URI/IRI that represents a physical or logical location
with which the context resource is associated.
</c>
</texttable>
<section title="Relationship of 'to', 'bto', 'cc', 'bcc', 'from', 'bfrom' and 'scope'">
<t>
The "scope" link relation is closely aligned with the so-called
"audience targeting" link relations "to", "bto", "cc", "bcc", "from",
and "bfrom" in that "scope" links identify the total population
from which the audience is drawn.
</t>
</section>
</section>
<section title="Security Considerations">
<t>There are no additional security concerns introduced by this
document.</t>
</section>
</middle>
<back>
<references title="Informative References">
&rfc5988;
</references>
<section title="Examples">
<figure><preamble>Using targeting link relations and the urn:social namespace:</preamble><artwork><![CDATA[
POST /alerts HTTP/1.1
Host: example.org
Content-Type: text/plain
Authorization: Basic {Base64 Credentials}
Link: <urn:social:everyone>; rel="to"
Link: <urn:social:extended:2>; rel="cc"
Link: <urn:social:self>; rel="bfrom"
Link: <http://example.net/my-social-net>; rel="scope"
Test message
]]></artwork></figure>
<figure><preamble>Using the targeting link relations with urn:social:role:</preamble><artwork><![CDATA[
POST /alerts HTTP/1.1
Host: example.org
Content-Type: text/plain
Authorization: Basic {Base64 Credentials}
Link: <urn:social:role:moderator>; rel="to"
Link: <urn:social:role:editor>; rel="cc"
Test message
]]></artwork></figure>
<figure><preamble>Using publication link relations:</preamble><artwork><![CDATA[
<html>
<head>
...
<link
rel="source"
href="http://example.net/post/1" />
<link
rel="provider"
href="http://example.org" />
<link
rel="generator"
href="http://example.com/software/app/1.1" />
...
</head>
<body>...</body>
</html>
]]></artwork></figure>
<figure><preamble>Using the location relation:</preamble><artwork><![CDATA[
Link: <geo:37.786971,-122.399677>; rel="location"
]]></artwork></figure>
<figure><preamble>Using the mentioned-by relation:</preamble><artwork><![CDATA[
LINK /articles/1 HTTP/1.1
Host: example.org
Link: <articles/2>; rel="mentioned-by"
]]></artwork></figure>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 05:26:32 |