One document matched: draft-snell-social-urn-00.xml
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc5988 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5988.xml'>
<!ENTITY rfc2141 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2141.xml'>
]>
<?rfc toc="yes"?>
<?rfc strict="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<rfc category="info" ipr="trust200811" docName="draft-snell-social-urn-00">
<front>
<title abbrev="Social URN">
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="March" year="2014" />
<area>Applications</area>
<workgroup>Individual Submission</workgroup>
<keyword>I-D</keyword>
<keyword>urn</keyword>
<keyword>social</keyword>
<abstract>
<t>
This document defines a Uniform Resource Name (URN) namespace
identifier for generating URN's suitable for use in a variety
of social constructs.
</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>
In many systems, it is often desirable to express aspects of
social relationships, role and identities relative to a currently
authenticated individual. For example, a system may provide options
for listing status updates from "Your Friends", or allow sharing
links with "Joe's Network", and so on. While such concepts are
generally trivial to represent within the user interface, there
has not existed any means of representing relative social context
in a machine readable and processable manner. The "urn:social"
Uniform Resource Name (URN) namespace provides such a mechanism.
</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 anchor="urn-social" 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
roles = ":" (TOKEN *( ";" TOKEN ) )
dimensions = ":" (TOKEN *( ";" TOKEN ) )
social-nss = "self" /
"everyone" /
"private" /
"public" /
"direct" /
( "extended" [ distance ] ) /
( "peer" [ distance ] ) /
( "subordinate" [ distance ] ) /
( "superior" [ distance ] ) /
( "common" [ dimensions ] [ confidence ] ) /
( "interested" [ confidence ] ) /
( "role" roles ) /
( "familial" roles [ distance ]) /
]]></artwork></figure>
<t>
Within any given social networking system, there is an available
population of entities. The NSS terms represent specific subsets of
this population and are defined in terms of these subsets relative
to a fixed context. For example, if the fixed context is a person,
the "urn:social:direct" URN identifies the subset of the total
population that has direct social connections to that person within
the social graph, while the "urn:social:extended" URN identifies the
subset that has direct or indirect social connections.
</t>
<t>
The "extended", "peer", "subordinate", and "superior" NSS terms
MAY include an additional single-digit, non-zero "distance" specifier,
the value of which identifies a "degree of separation" from the
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" NSS value MAY include an additional segment consisting
of one or more semicolon ";" delimited TOKENs whose values identify
application and context specific dimensions (or attributes) an application
can use to determine commonality. For instance, the URN
"urn:social:common:gender;age" could be used to refer to a subset
of the total population that share both the same gender and approximate
age.
</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 ";"
delimited TOKENs 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" role. 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 "familial" NSS value limits results to the subset of the
population sharing a direct familial relationship with the context.
Familial URNs MAY contain one or more semicolon ";" delimited TOKENs
whose values identify specific named "family roles" (i.e. "father",
"mother", "grandparents", etc). Each role is considered individually.
That is, for instance, the URN "urn:social:familiar:father;mother"
identifies all members of the relevant population who fulfill either
the father or mother familial roles relative to the context resource.
Family URNs MAY include a single non-zero "distance" specifier that
identifies a "degree of separation" from the context.
</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:public">
<t>
The "urn:social:public" URN identifies the subset of the total
population that is both visible to the context and shares a
publicly known or visible relationship with the context.
</t>
</section>
<section title="urn:social:private">
<t>
The "urn:social:private" URN identifies the subset of the total
population that is both visible to the context and shares a
private or publicly invisible relationship with 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:{distance}">
<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:{distance}">
<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:{distance}">
<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:{distance}">
<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:{dimensions}:{confidence}">
<t>
The "urn:social:common:{dimensions}:{confidence} 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>
<figure><preamble>Examples:</preamble><artwork>
urn:social:common:gender;age
urn:social:common:likes;65
urn:social:common:likes;gender
urn:social:common:employer
</artwork></figure>
</section>
<section title="urn:social:interested:{confidence}">
<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:{tokens}" URN identifies the subset of
the total population that is both visible to the context 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>
<figure><preamble>Examples:</preamble><artwork>
urn:social:role:reader;writer
urn:social:role:administrator
urn:social:role:editor
urn:social:role:moderator
</artwork></figure>
</section>
<section title="urn:social:familial:{tokens}:{distance}">
<t>
The "urn:social:familial:{tokens}:{distance}" URN identifies the subset of
the total population that is both visible to the context and
has fulfills at least one of the individual familial 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>
<figure><preamble>Examples:</preamble><artwork>
urn:social:familial:father;mother
urn:social:familial:siblings
urn:social:familial
</artwork></figure>
</section>
</section>
<section title="IANA Considerations">
<t>
This document defines a URN NID registration of "social", which
is to be added to the "Formal URN Namespaces" registry.
</t>
<section title="Namespace Definition Template">
<section title="Namespace ID">
<t>The Namespace ID "social" has been assigned.</t>
</section>
<section title="Registration Information">
<t>Version 1.0</t>
<t>Date: 2014-03-11</t>
</section>
<section title="Declared Registrant of the Namespace">
<t>Individual: James M Snell (jasnell@gmail.com)</t>
</section>
<section title="Declaration of Syntatic Structure">
<t>
URNs that use the "social" NID shall have the following
structure:
</t>
<t>
urn:social:{NSS}
</t>
<t>
The Namespace Specific String (NSS) is a mandatory string of
ASCII characters that conform to the rules described in
<xref target="urn-social"/> of this document.
</t>
</section>
<section title="Relevant Ancillary Documentation">
<t>None.</t>
</section>
<section title="Identifier Uniqueness Considerations">
<t>None.</t>
</section>
<section title="Identifier Persistence Considerations">
<t>Social URN's are immutable.</t>
</section>
<section title="Process of Identifier Assignment">
<t>
This document defines the full range of possible NSS
constructions with specific exception given to the
dimension, role, confidence and distance parameters
that are accepted on some Social URN constructions.
Assignment for those fields is considered to be
completely open.
</t>
</section>
<section title="Process for Identifier Resolution">
<t>
Social URNs are designed to be resolvable relative to
some fixed social context. Outside such a context,
Social URNs retain meaning relative to general abstract
social roles and relationships. For instance, the Social
URN "urn:social:self" will always resolve to identify
the currently relevant social context, while the Social
URN "urn:social:role:reader" will always resolve to
identify members of a population who share the "reader"
role.
</t>
</section>
<section title="Rules for Lexical Equivalence">
<t>
No special considerations; the rules for lexical equivalence
specified in <xref target="RFC2141"/> apply.
</t>
</section>
<section title="Conformance with URN Syntax">
<t>No special considerations.</t>
</section>
<section title="Validation Mechanism">
<t>None.</t>
</section>
<section title="Scope">
<t>
The scope of a Social URN depends entirely on the context
against which it is being resolved.
</t>
</section>
</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;
&rfc2141;
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 05:44:30 |