One document matched: draft-snell-social-urn-00.txt





Individual Submission                                         J.M. Snell
Internet-Draft                                            March 12, 2014
Intended status: Informational
Expires: September 13, 2014


                       The 'urn:social' Namespace
                       draft-snell-social-urn-00

Abstract

   This document defines a Uniform Resource Name (URN) namespace
   identifier for generating URN's suitable for use in a variety of
   social constructs.

Status of This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 13, 2014.

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.  The 'social' URN Namespace  . . . . . . . . . . . . . . . . .   3



Snell                  Expires September 13, 2014               [Page 1]

Internet-Draft                 Social URN                     March 2014


     2.1.  urn:social:everyone . . . . . . . . . . . . . . . . . . .   4
     2.2.  urn:social:public . . . . . . . . . . . . . . . . . . . .   5
     2.3.  urn:social:private  . . . . . . . . . . . . . . . . . . .   5
     2.4.  urn:social:direct . . . . . . . . . . . . . . . . . . . .   5
     2.5.  urn:social:extended:{distance}  . . . . . . . . . . . . .   5
     2.6.  urn:social:peer:{distance}  . . . . . . . . . . . . . . .   5
     2.7.  urn:social:subordinate:{distance} . . . . . . . . . . . .   5
     2.8.  urn:social:superior:{distance}  . . . . . . . . . . . . .   6
     2.9.  urn:social:common:{dimensions}:{confidence} . . . . . . .   6
     2.10. urn:social:interested:{confidence}  . . . . . . . . . . .   6
     2.11. urn:social:self . . . . . . . . . . . . . . . . . . . . .   6
     2.12. urn:social:role:{tokens}  . . . . . . . . . . . . . . . .   7
     2.13. urn:social:familial:{tokens}:{distance} . . . . . . . . .   7
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
     3.1.  Namespace Definition Template . . . . . . . . . . . . . .   7
       3.1.1.  Namespace ID  . . . . . . . . . . . . . . . . . . . .   7
       3.1.2.  Registration Information  . . . . . . . . . . . . . .   8
       3.1.3.  Declared Registrant of the Namespace  . . . . . . . .   8
       3.1.4.  Declaration of Syntatic Structure . . . . . . . . . .   8
       3.1.5.  Relevant Ancillary Documentation  . . . . . . . . . .   8
       3.1.6.  Identifier Uniqueness Considerations  . . . . . . . .   8
       3.1.7.  Identifier Persistence Considerations . . . . . . . .   8
       3.1.8.  Process of Identifier Assignment  . . . . . . . . . .   8
       3.1.9.  Process for Identifier Resolution . . . . . . . . . .   8
       3.1.10. Rules for Lexical Equivalence . . . . . . . . . . . .   9
       3.1.11. Conformance with URN Syntax . . . . . . . . . . . . .   9
       3.1.12. Validation Mechanism  . . . . . . . . . . . . . . . .   9
       3.1.13. Scope . . . . . . . . . . . . . . . . . . . . . . . .   9
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   5.  Informative References  . . . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   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.

   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



Snell                  Expires September 13, 2014               [Page 2]

Internet-Draft                 Social URN                     March 2014


   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.

2.  The 'social' URN Namespace

   This specification defines the 'social' URN namespace having the
   following structure:

   ABNF Grammar:

   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 ]) /


   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.

   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"



Snell                  Expires September 13, 2014               [Page 3]

Internet-Draft                 Social URN                     March 2014


   indicates six degrees of separation from the context.  If the
   distance is omitted from the NSS, no limit to the distance is
   assumed.

   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.

   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.

   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.

   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.

   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.

2.1.  urn:social:everyone





Snell                  Expires September 13, 2014               [Page 4]

Internet-Draft                 Social URN                     March 2014


   The "urn:social:everyone" URN identifies the subset of the total
   population that is visible to the context.

2.2.  urn:social:public

   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.

2.3.  urn:social:private

   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.

2.4.  urn:social:direct

   The "urn:social:direct" URN identifies the subset of the total
   population that is both visible to and directly connected to the
   context.

2.5.  urn:social:extended:{distance}

   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.

2.6.  urn:social:peer:{distance}

   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".

   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.

2.7.  urn:social:subordinate:{distance}

   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.

   Subordinate relationships exist only within populations in which
   there exists a hierarchical division of members in the population.



Snell                  Expires September 13, 2014               [Page 5]

Internet-Draft                 Social URN                     March 2014


   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.

2.8.  urn:social:superior:{distance}

   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.

   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.

2.9.  urn:social:common:{dimensions}:{confidence}

   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.

   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.

   Examples:

   urn:social:common:gender;age
   urn:social:common:likes;65
   urn:social:common:likes;gender
   urn:social:common:employer


2.10.  urn:social:interested:{confidence}

   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.

2.11.  urn:social:self





Snell                  Expires September 13, 2014               [Page 6]

Internet-Draft                 Social URN                     March 2014


   The "urn:social:self" URN identifies the context resource itself as a
   member of the total population.

2.12.  urn:social:role:{tokens}

   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.

   The values of the role tokens are specific to the context in which
   they are being used.

   Examples:

   urn:social:role:reader;writer
   urn:social:role:administrator
   urn:social:role:editor
   urn:social:role:moderator


2.13.  urn:social:familial:{tokens}:{distance}

   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.

   The values of the role tokens are specific to the context in which
   they are being used.

   Examples:

   urn:social:familial:father;mother
   urn:social:familial:siblings
   urn:social:familial


3.  IANA Considerations

   This document defines a URN NID registration of "social", which is to
   be added to the "Formal URN Namespaces" registry.

3.1.  Namespace Definition Template

3.1.1.  Namespace ID

   The Namespace ID "social" has been assigned.




Snell                  Expires September 13, 2014               [Page 7]

Internet-Draft                 Social URN                     March 2014


3.1.2.  Registration Information

   Version 1.0

   Date: 2014-03-11

3.1.3.  Declared Registrant of the Namespace

   Individual: James M Snell (jasnell@gmail.com)

3.1.4.  Declaration of Syntatic Structure

   URNs that use the "social" NID shall have the following structure:

   urn:social:{NSS}

   The Namespace Specific String (NSS) is a mandatory string of ASCII
   characters that conform to the rules described in Section 2 of this
   document.

3.1.5.  Relevant Ancillary Documentation

   None.

3.1.6.  Identifier Uniqueness Considerations

   None.

3.1.7.  Identifier Persistence Considerations

   Social URN's are immutable.

3.1.8.  Process of Identifier Assignment

   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.

3.1.9.  Process for Identifier Resolution










Snell                  Expires September 13, 2014               [Page 8]

Internet-Draft                 Social URN                     March 2014


   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.

3.1.10.  Rules for Lexical Equivalence

   No special considerations; the rules for lexical equivalence
   specified in [RFC2141] apply.

3.1.11.  Conformance with URN Syntax

   No special considerations.

3.1.12.  Validation Mechanism

   None.

3.1.13.  Scope

   The scope of a Social URN depends entirely on the context against
   which it is being resolved.

4.  Security Considerations

   There are no additional security concerns introduced by this
   document.

5.  Informative References

   [RFC2141]  Moats, R., "URN Syntax", RFC 2141, May 1997.

   [RFC5988]  Nottingham, M., "Web Linking", RFC 5988, October 2010.

Author's Address

   James M Snell

   Email: jasnell@gmail.com








Snell                  Expires September 13, 2014               [Page 9]

PAFTECH AB 2003-20262026-04-24 04:19:00