idnits 2.17.1 draft-snell-more-link-relations-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 115: '...dinate", and "superior" NSS values MAY...' RFC 2119 keyword, line 126: '...ommon" NSS value MAY include an additi...' RFC 2119 keyword, line 134: '...sted" NSS values MAY include a two-dig...' RFC 2119 keyword, line 142: '..."role" NSS value MUST include one or m...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 04, 2013) is 3797 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 5988 (Obsoleted by RFC 8288) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snell 3 Internet-Draft 4 Intended status: Informational November 04, 2013 5 Expires: May 08, 2014 7 Additional Link Relations and the 'urn:social' Namespace 8 draft-snell-more-link-relations-03 10 Abstract 12 This specification defines the 'social' URN namespace and a handful 13 of socially-related Link Relation types. 15 Status of This Memo 17 This Internet-Draft is submitted to IETF in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at http://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on May 08, 2014. 32 Copyright Notice 34 Copyright (c) 2013 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. 44 Table of Contents 46 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 47 2. The 'social' URN Namespace . . . . . . . . . . . . . . . . . 2 48 2.1. urn:social:everyone . . . . . . . . . . . . . . . . . . . 4 49 2.2. urn:social:direct . . . . . . . . . . . . . . . . . . . . 4 50 2.3. urn:social:extended . . . . . . . . . . . . . . . . . . . 4 51 2.4. urn:social:peer . . . . . . . . . . . . . . . . . . . . . 4 52 2.5. urn:social:subordinate . . . . . . . . . . . . . . . . . 5 53 2.6. urn:social:superior . . . . . . . . . . . . . . . . . . . 5 54 2.7. urn:social:common . . . . . . . . . . . . . . . . . . . . 5 55 2.8. urn:social:interested . . . . . . . . . . . . . . . . . . 5 56 2.9. urn:social:self . . . . . . . . . . . . . . . . . . . . . 5 57 2.10. urn:social:role:{tokens} . . . . . . . . . . . . . . . . 6 58 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 59 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 60 5. Informative References . . . . . . . . . . . . . . . . . . . 7 61 Appendix A. Relationship of 'to', 'bto', 'cc', 'bcc', 'from', 62 'bfrom' and 'scope' . . . . . . . . . . . . . . . . 7 63 Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 7 64 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 66 1. Introduction 68 This specification defines and adds the following additional link 69 relation types to the IANA Registry of Link Relations established by 70 [RFC5988]: to, bto, cc, bcc, from, bfrom, source, scope, generator, 71 provider, location, alias and mentioned-by. Further, this 72 specification proposes a new 'social' URN namespace. 74 Note that this document is a work-in-progress draft specification 75 that does not yet represent a "standard". It is the intention of 76 this specification to propose a few new ideas and openly solicit 77 feedback on their definition and use. While this document might 78 eventually evolve into an RFC the ideas described herein have not yet 79 been broadly implemented and have definitions that may evolve through 80 successive iterations of this draft. 82 2. The 'social' URN Namespace 84 This specification defines the 'social' URN namespace having the 85 following structure: 87 ABNF Grammar: 89 social-url = "urn:social:" social-nss 90 NZDIGIT = %x31-39 91 distance = ":" NZDIGIT 92 confidence = ":" 2DIGIT 93 roles = ":" (TOKEN *( ";" TOKEN ) ) 94 dimensions = ":" (TOKEN *( ";" TOKEN ) ) 95 social-nss = "self" / 96 "everyone" / 97 "direct" / 98 ( "extended" [ distance ] ) / 99 ( "peer" [ distance ] ) / 100 ( "subordinate" [ distance ] ) / 101 ( "superior" [ distance ] ) / 102 ( "common" [ dimensions ] [ confidence ] ) / 103 ( "interested" [ confidence ] ) / 104 ( "role" roles ) 106 Within any given social networking system, there is an available 107 population of entities. Each NSS term represent specific subsets of 108 this population and are defined in terms of these subsets relative to 109 a fixed context. For example, if the fixed context is a person, the 110 "urn:social:direct" URN identifies the subset of the total population 111 that is directly connected to the context person within the social 112 graph, while the "urn:social:extended" URN identifies the subset that 113 is directly or indirectly connected to the context person. 115 The "extended", "peer", "subordinate", and "superior" NSS values MAY 116 include an additional single digit non-zero "distance" specifier, 117 whose value identifies a "degree of separation" from the link 118 context. For instance, the URN "urn:social:extended:1" would 119 identify members of the context's extended network that are only 1 120 degree of separation from the context (which is equivalent to the 121 "urn:social:direct" URN). The value "urn:social:extended:6" 122 indicates six degrees of separation from the context. If the 123 distance is omitted from the NSS, no limit to the distance is 124 assumed. 126 The "common" NSS value MAY include an additional segment consisting 127 of one or more semicolon ";" delimited TOKENs whose values identify 128 application and context specific dimensions or attributes an 129 application can use to determine commonality. For instance, the URN 130 "urn:social:common:gender;age" could be used to refer to a subset of 131 the total population that shares both the same gender and approximate 132 age. 134 The "common" and "interested" NSS values MAY include a two-digit 135 "confidence factor" whose value specifies a confidence interval an 136 implementation can apply when determining which members of the total 137 population ought to be considered. The values range from 00-99, 138 corresponding to confidence intervals between 0% to 99%. If the 139 confidence factor is omitted from the NSS, a confidence interval of 140 100% is assumed. 142 The "role" NSS value MUST include one or more semicolon ";" delimited 143 TOKENs whose values identify specific named "roles" within the 144 population. For instance, the URN "urn:social:role:editor" 145 identifies all members of the relevant population who are assigned to 146 the "editor" rolel. The URN "urn:social:role:reader;writer" 147 identifes all members of the relevant population who are assigned to 148 both the "reader" and "writer" roles. 150 The 'social' URN namespace is defined to be intentionally ambiguous 151 and highly dependent on context. The specific interpretation of each 152 NSS, including any distance or confidence specifiers, depend entirely 153 on how and where the NSS is being used. 155 2.1. urn:social:everyone 157 The "urn:social:everyone" URN identifies the subset of the total 158 population that is visible to the context. 160 2.2. urn:social:direct 162 The "urn:social:direct" URN identifies the subset of the total 163 population that is both visible to and directly connected to the 164 context. 166 2.3. urn:social:extended 168 The "urn:social:extended" URN identifies the subset of the total 169 population that is visible to and connected either directly or 170 indirectly to the context. 172 2.4. urn:social:peer 174 The "urn:social:peer" URN identifies the subset of the total 175 population that is both visible to the context and considered to be a 176 "peer". 178 Peer relationships exist only within populations in which there 179 exists a hierarchical division of members in the population. An 180 example of such a network would be a company or similarly structured 181 organization. Peers might be directly or indirectly connected to the 182 target resource but are considered to share the same hierarchical 183 position. 185 2.5. urn:social:subordinate 187 The "urn:social:subordinate" URN identifies the subset of the total 188 population that is both visible to the context and considered to be 189 "subordinate" to the context. 191 Subordinate relationships exist only within populations in which 192 there exists a hierarchical division of members in the population. 193 An example of such a network would be a company or similarly 194 structured organization. Subordinates might be directly or 195 indirectly connected to the target resource but are considered to 196 share a lower hierarchical position. 198 2.6. urn:social:superior 200 The "urn:social:superior" URN identifies the subset of the total 201 population that is both visible to the context and considered to be 202 "superior" to the context. 204 Superior relationships exist only within populations in which there 205 exists a hierarchical division of members in the population. An 206 example of such a network would be a company or similarly structured 207 organization. Superiors might be directly or indirectly connected to 208 the target resource but are considered to have a higher hierarchical 209 position. 211 2.7. urn:social:common 213 The "urn:social:common" URN identifies the subset of the total 214 population that is both visible to the context and is determined to 215 share common attributes with the context. 217 Determination of "common attributes" is dependent entirely on the 218 application. For example, an application might choose to use shared 219 interests in a given topic as the "common attribute" binding a 220 particular grouping of members. 222 2.8. urn:social:interested 224 The "urn:social:interested" URN identifies the subset of the total 225 population that is both visible to the context and has an express 226 interest in the context. Examples of members of the "interested" 227 subset are those who have elected to "follow" the activity of the 228 context resource. 230 2.9. urn:social:self 231 The "urn:social:self" URN identifies the context resource itself as a 232 member of the total population. 234 2.10. urn:social:role:{tokens} 236 The "urn:social:role:{token}" URN identifies the subset of the total 237 population that is both visible to the contexst and has been assigned 238 to each of the individual roles identified within by the URN. 240 The values of the role tokens are specific to the context in which 241 they are being used. 243 3. IANA Considerations 245 The following Link Relations are added to the IANA Registry of Link 246 Relations. 248 +-----------------+-------------------------------------------------+ 249 | Name | Description | 250 +-----------------+-------------------------------------------------+ 251 | to | Refers to a resource that is considered to be | 252 | | part of the public primary audience of the | 253 | | link's context. | 254 | bto | Refers to a resource that is considered to be | 255 | | part of the private primary audience of the | 256 | | link's context. | 257 | cc | Refers to a resource that is considered to be | 258 | | part of the public secondary audience of the | 259 | | link's context. | 260 | bcc | Refers to a resource that is considered to be | 261 | | part of the private secondary audience of the | 262 | | link's context. | 263 | from | Refers to a resource that is publicly | 264 | | considered to be the originator of the link's | 265 | | context. | 266 | bfrom | Refers to a resource that is privately | 267 | | considered to be the orignator of the link's | 268 | | context. | 269 | scope | Refers to a resource that identifies the total | 270 | | population of entities to which the context is | 271 | | relevant. | 272 | source | Refers to the original source of information | 273 | | contained by the context resource. | 274 | provider | Refers to the resource that provided the | 275 | | context resource. Typically, this would be | 276 | | used to identify the entity publishing the | 277 | | resource. | 278 | generator | Refers to the resource that generated the | 279 | | context resource. Typically, this would be | 280 | | used to identify the software application that | 281 | | created the context resource. | 282 | mentioned-by | Refers to a resource that mentions the context | 283 | | resource in some fashion. This, for example, | 284 | | would be used when an article mentions another | 285 | | article, or a social status update mentions a | 286 | | particular user, etc. | 287 | location | References a URI/IRI that represents a physical | 288 | | or logical location with which the context | 289 | | resource is associated. | 290 +-----------------+-------------------------------------------------+ 292 4. Security Considerations 294 There are no additional security concerns introduced by this 295 document. 297 5. Informative References 299 [RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010. 301 Appendix A. Relationship of 'to', 'bto', 'cc', 'bcc', 'from', 'bfrom' 302 and 'scope' 304 The "scope" link relation is closely aligned with the so-called 305 "audience targeting" link relations "to", "bto", "cc", "bcc", "from", 306 and "bfrom" in that "scope" links identify the total population from 307 which the audience is drawn. 309 Appendix B. Examples 311 Using targeting link relations and the urn:social namespace: 313 POST /alerts HTTP/1.1 314 Host: example.org 315 Content-Type: text/plain 316 Authorization: Basic {Base64 Credentials} 317 Link: ; rel="to" 318 Link: ; rel="cc" 319 Link: ; rel="bfrom" 320 Link: ; rel="scope" 322 Test message 324 Using the targeting link relations with urn:social:role: 326 POST /alerts HTTP/1.1 327 Host: example.org 328 Content-Type: text/plain 329 Authorization: Basic {Base64 Credentials} 330 Link: ; rel="to" 331 Link: ; rel="cc" 333 Test message 335 Using publication link relations: 337 338 339 ... 340 343 346 349 ... 350 351 ... 352 354 Using the location relation: 356 Link: ; rel="location" 358 Using the mentioned-by relation: 360 LINK /articles/1 HTTP/1.1 361 Host: example.org 362 Link: ; rel="mentioned-by" 364 Author's Address 365 James M Snell 367 Email: jasnell@gmail.com