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-20262026-04-24 05:44:30