ldp.html
author sspeiche
Sat, 01 Mar 2014 13:38:42 -0500
changeset 511 6dc593f44155
parent 510 c398cec256bd
parent 509 3b515a98338d
child 512 28fb37e65361
permissions -rw-r--r--
Tweak in wording no inferencing and todo cleanup
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     1
<!DOCTYPE html>
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
     2
<!-- 
480
96f2d9c4a742 Updated LDPC DELETE language and cleanup todos
sspeiche
parents: 479
diff changeset
     3
	TODO: Search for them within this document.
96f2d9c4a742 Updated LDPC DELETE language and cleanup todos
sspeiche
parents: 479
diff changeset
     4
	TODO: Once companion documents (best practices, primer) have URLs, link to them.  Search on "companion".
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
     5
	TODO: Add new "discovery of server capabilities" non-norm section
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
     6
    TODO: Missing namespace definition clause?
505
7c9fc6642481 Minor editorial tweaks
sspeiche
parents: 504
diff changeset
     7
    TODO: Consider folding LDP Clients section, feels a bit out of place
510
c398cec256bd Tweak in wording no inferencing and todo cleanup
sspeiche
parents: 508
diff changeset
     8
    TODO: Consider creating LDPR sub sections R, RS, NR like LDPCs
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
     9
 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    10
<html>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    11
  <head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    12
    <title>Linked Data Platform 1.0</title>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
    13
    <!-- Changed by: , 28-Feb-2014 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    14
    <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    15
    <!-- 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    16
      === NOTA BENE ===
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    17
      For the three scripts below, if your spec resides on dev.w3 you can check them
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    18
      out in the same tree and use relative links so that they'll work offline,
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    19
     -->
443
02e1a65a8776 Set maxTocLevel=2 properly with fix from respec
sspeiche
parents: 439
diff changeset
    20
    <script src='https://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script> 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    21
    <script class='remove'>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    22
      var respecConfig = {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    23
          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
274
8db905ebe0ba Basic preparation for edits unto LC draft
sspeiche
parents: 238
diff changeset
    24
          specStatus:           "ED",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    25
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    26
          // the specification's short name, as in http://www.w3.org/TR/short-name/
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    27
          shortName:            "ldp",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    28
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    29
          // if your specification has a subtitle that goes below the main
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    30
          // formal title, define it here
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    31
          // subtitle   :  "an excellent document",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    32
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    33
          // if you wish the publication date to be other than today, set this
384
adfc713130ec add status code 209, change existing 303 usage to use it
John Arwe
parents: 374
diff changeset
    34
          publishDate:  "",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    35
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    36
          // if the specification's copyright date is a range of years, specify
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    37
          // the start date here:
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    38
          // copyrightStart: "2005"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    39
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    40
          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    41
          // and its maturity status
274
8db905ebe0ba Basic preparation for edits unto LC draft
sspeiche
parents: 238
diff changeset
    42
          previousPublishDate:  "2013-07-30",
8db905ebe0ba Basic preparation for edits unto LC draft
sspeiche
parents: 238
diff changeset
    43
          previousMaturity:  	"LC",
8db905ebe0ba Basic preparation for edits unto LC draft
sspeiche
parents: 238
diff changeset
    44
          previousURI: 			"http://www.w3.org/TR/2013/WD-ldp-20130730/",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    45
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    46
          // if there a publicly available Editor's Draft, this is the link
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    47
          edDraftURI:           "http://www.w3.org/2012/ldp/hg/ldp.html",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    48
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    49
          // if this is a LCWD, uncomment and set the end of its review period
234
992015a0d3cd Setting all LC status items for prep for publication
sspeiche
parents: 233
diff changeset
    50
          lcEnd: "2013-09-02",
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
    51
          
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
    52
          // Only include h1 and h2 level
443
02e1a65a8776 Set maxTocLevel=2 properly with fix from respec
sspeiche
parents: 439
diff changeset
    53
          maxTocLevel: 2,
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    54
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    55
          // if you want to have extra CSS, append them to this list
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    56
          // it is recommended that the respec.css stylesheet be kept
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    57
          //extraCSS:             ["https://dvcs.w3.org/hg/ldpwg/css/respec.css"],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    58
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    59
          // editors, add as many as you like
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    60
          // only "name" is required
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    61
          editors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    62
              { name: "Steve Speicher", url: "http://stevespeicher.blogspot.com",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    63
                company: "IBM Corporation", companyURL: "http://ibm.com/" },
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
    64
              { name: "John Arwe", url: "https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/allcommunities?userid=120000CAW7",
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
    65
                company: "IBM Corporation", companyURL: "http://ibm.com/" },
237
6871b9ac5339 Fixed various link checker bugs
sspeiche
parents: 235
diff changeset
    66
			  {name: "Ashok Malhotra", url: "mailto:ashok.malhotra@oracle.com",
99
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    67
			    company: "Oracle Corporation", companyURL: "http://www.oracle.com" },
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    68
          ],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    69
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    70
          // authors, add as many as you like. 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    71
          // This is optional, uncomment if you have authors as well as editors.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    72
          // only "name" is required. Same format as editors.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    73
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    74
          //authors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    75
          //    { name: "Your Name", url: "http://example.org/",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    76
          //      company: "Your Company", companyURL: "http://example.com/" },
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    77
          //],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    78
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    79
          // name of the WG
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    80
          wg:           "Linked Data Platform Working Group",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    81
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    82
          // URI of the public WG page
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    83
          wgURI:        "http://www.w3.org/2012/ldp",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    84
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    85
          // name (without the @w3c.org) of the public mailing to which comments are due
234
992015a0d3cd Setting all LC status items for prep for publication
sspeiche
parents: 233
diff changeset
    86
          wgPublicList: "public-ldp-comments",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    87
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    88
          // URI of the patent status for this WG, for Rec-track documents
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    89
          // !!!! IMPORTANT !!!!
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    90
          // This is important for Rec-track documents, do not copy a patent URI from a random
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    91
          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    92
          // Team Contact.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    93
          wgPatentURI:  "http://www.w3.org/2004/01/pp-impl/55082/status",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    94
          doRDFa: "1.1",
386
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
    95
			localBiblio:  {
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
    96
				"HTTPBIS-SEMANTICS": {
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
    97
					title:    "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
    98
				,   href:     "http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics/"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
    99
				,   authors:  [
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   100
						"R. Fielding"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   101
					,   "J. Reschke"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   102
					]
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   103
				,   status:   "In Last Call"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   104
				,   publisher:  "IETF"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   105
				},
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   106
				"RFC2817": {
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   107
					title:    "Upgrading to TLS Within HTTP/1.1"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   108
				,   href:     "http://tools.ietf.org/html/rfc2817"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   109
				,   authors:  [
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   110
						"R. Khare"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   111
					,   "S. Lawrence"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   112
					]
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   113
				,   status:   "Proposed Standard"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   114
				,   publisher:  "IETF"
412
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   115
				},
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   116
				"RFC5005": {
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   117
					title:    "Feed Paging and Archiving"
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   118
				,   href:     "http://tools.ietf.org/html/rfc5005"
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   119
				,   authors:  [
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   120
						"M. Nottingham"
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   121
					]
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   122
				,   status:   "Proposed Standard"
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   123
				,   publisher:  "IETF"
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   124
				},
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   125
				"LDP-PAGING": {
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   126
					title:    "Linked Data Platform Paging"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   127
				,   href:     "https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp.html"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   128
				,   authors:  [
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   129
						"S. Speicher", "J. Arwe", "A. Malhotra"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   130
					]
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   131
				,   status:   "Editor's Working Draft"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   132
				,   publisher:  "W3C"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   133
				},
386
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   134
			},
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   135
      };
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   136
    </script>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   137
    <style type="text/css">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   138
    	div.rule {padding-top: 1em;}
124
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   139
    	div.ldp-issue-open {
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   140
	    	border-color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   141
			background: #FBE9E9;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   142
			padding: 0.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   143
			margin: 1em 0;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   144
			position: relative;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   145
			clear: both;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   146
			border-left-width: .5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   147
			border-left-style: solid;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   148
    	}
124
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   149
    	div.ldp-issue-pending {
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   150
	    	border-color: #FAF602;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   151
			background: #F7F6BC;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   152
			padding: 0.5em;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   153
			margin: 1em 0;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   154
			position: relative;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   155
			clear: both;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   156
			border-left-width: .5em;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   157
			border-left-style: solid;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   158
    	}
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   159
    	div.ldp-issue-closed {
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   160
	    	border-color: #009900;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   161
			background: #BCF7CF;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   162
			padding: 0.5em;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   163
			margin: 1em 0;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   164
			position: relative;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   165
			clear: both;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   166
			border-left-width: .5em;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   167
			border-left-style: solid;
6f1d7304f03f create different styles to differentiate issues based on their status: open, pending, closed
Arnaud Le Hors <lehors@us.ibm.com>
parents: 122
diff changeset
   168
    	}
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   169
    	div.ldp-issue-title {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   170
    	    color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   171
    	    padding-right: 1em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   172
            min-width: 7.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   173
    	}
184
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   174
		.atrisk {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   175
			padding:    1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   176
			margin: 1em 0em 0em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   177
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   178
			background: #ffc;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   179
		}
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   180
		.atrisktext {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   181
			/* content:    "Feature At Risk"; */
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   182
			display:    block;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   183
			width:  150px;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   184
			margin: -1.5em 0 0.5em 0;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   185
			font-weight:    bold;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   186
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   187
			background: #fff;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   188
			padding:    3px 1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   189
		}
437
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   190
		.normal { 
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   191
			font-weight: normal;
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   192
			font: normal 100% sans-serif;
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   193
		}
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   194
		.indented { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   195
			margin-left: +3em;
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   196
		}
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   197
		tr:nth-of-type(odd),.oddrow { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   198
			background:#F2F2F2; /* light grey, just enough to differentiate from white */
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   199
		}
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   200
		td { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   201
			padding:0 +1ex 0 +1ex; /* add a bit of space from rule/edge to text */
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   202
		}
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   203
		
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   204
    </style>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   205
    <style type="text/css" media="all">
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   206
    	code {
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   207
    	    font-weight:bold;
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   208
			font-size:larger;
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   209
    	}
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   210
		 /* ReSpec uses color ff4500 for code elements, which does not print well on some black & white printers
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   211
		    and is a little hard to read for some folks even on-line. 
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   212
			The default code font size was also somewhat too small/hard to read.
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   213
		*/
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   214
    </style>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   215
  </head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   216
<body>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   217
<section id='abstract'>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   218
This document describes a set of best practices and simple approach for a read-write Linked Data architecture, based on
78
539b6b098ee8 Comments received from David Woods: abstract, paging informative (part 1)
sspeiche
parents: 77
diff changeset
   219
HTTP access to web resources that describe their state using the <abbr title="Resource Description Framework">RDF</abbr>
539b6b098ee8 Comments received from David Woods: abstract, paging informative (part 1)
sspeiche
parents: 77
diff changeset
   220
data model.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   221
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   222
 
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   223
<section class="informative" id="intro">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   224
<h1>Introduction</h1>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   225
	<p>This specification describes the use
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   226
	of HTTP for accessing, updating, creating and deleting resources from
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   227
	servers that expose their resources as Linked Data.  It provides clarifications
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   228
	and extensions of the rules of Linked Data [[LINKED-DATA]]:</p>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   229
	<ol>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   230
		<li>Use URIs as names for things</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   231
		<li>Use HTTP URIs so that people can look up those names</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   232
		<li>When someone looks up a URI, provide useful information, using the standards
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   233
			(RDF*, <abbr title="SPARQL Protocol and RDF Query Language">SPARQL</abbr>)
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   234
		</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   235
		<li>Include links to other URIs, so that they can discover more things</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   236
	</ol>
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   237
	<p>This specification discusses standard HTTP and RDF techniques  
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   238
	used when constructing clients and servers that 
395
0408e1e5bbf8 ACTION-105: Update spec to reflect 9/30 resolution moving Paging links to HTTP headers (partial: does not include sort criteria changes yet)
John Arwe
parents: 393
diff changeset
   239
	create, read, and write <a title="Linked Data Platform Resource">Linked Data Platform Resources</a>.
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   240
	A companion document discusses best practices that you 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   241
	should use, and anti-patterns you should avoid, when constructing these clients and servers.
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   242
	</p> 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   243
	<p>This specification defines a special type of <a>Linked Data Platform Resource</a>: a 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   244
	<a title="Linked Data Platform Container">Container</a>.  Containers are very useful 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   245
	in building application models involving collections of resources, often homogeneous ones. 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   246
	For example, universities offer a collection of classes 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   247
	and have a collection of faculty members, each faculty member teaches a collection of courses, and so on. 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   248
	This specification discusses how to work with containers.  Resources can be added to containers  
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   249
	using standard HTTP operations like 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   250
	POST (see <a href="#ldpc-HTTP_POST" class="sectionRef"></a>).</p>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   251
	<p>The intention of this specification is to enable additional rules and layered groupings of rules as 
204
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   252
	additional specifications.  The scope is intentionally narrow to provide a set of key rules for 
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   253
	reading and writing Linked Data that most, if not all, other specifications will depend upon and 
208
0cd38b1b5d41 Various editorial cleanups in intro
sspeiche
parents: 207
diff changeset
   254
	implementations will support.</p>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   255
	<p>This specification provides some approaches to deal with large resources.  An extension to this specification
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   256
	provides the ability to break large resource representations into multiple paged responses [[LDP-PAGING]].</p>
439
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   257
	<p>For context and background, it could be useful to read <a href="#bib-LDP-UCR">Linked Data Platform Use Case and Requirements</a> [[LDP-UCR]] 
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   258
	and <a href="#base-specs" class="sectionRef"></a>.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   259
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   260
	
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   261
<section id="terms">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   262
<h1>Terminology</h1>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   263
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   264
<p>Terminology is based on W3C's Architecture of the World Wide Web [[WEBARCH]] and Hyper-text Transfer Protocol [[HTTP11]].
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   265
</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   266
  <dl class="glossary">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   267
	<dt>Link</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   268
	<dd>A relationship between two resources when one resource (representation) refers to the other resource by means
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   269
		of a URI [[WEBARCH]].
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   270
		<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   271
							
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   272
	<dt>Linked Data</dt>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   273
	<dd>As defined by Tim Berners-Lee [[LINKED-DATA]].<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   274
	
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   275
	<dt>Client</dt>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   276
	<dd>A program that establishes connections for the purpose of sending requests [[HTTP11]].<p></p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   277
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   278
	<dt>Server</dt>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   279
	<dd>An application
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   280
		program that accepts connections in order to service requests by
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   281
		sending back responses. 
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   282
		<p>Any given program may be capable of being
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   283
		both a client and a server; our use of these terms refers only to
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   284
		the role being performed by the program for a particular
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   285
		connection, rather than to the program's capabilities in general.
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   286
		Likewise, any server may act as an origin server, proxy, gateway,
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   287
		or tunnel, switching behavior based on the nature of each request
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   288
		[[HTTP11]]. </p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   289
	
331
2e0bbaef0442 fixed a few minor respec errors
sspeiche
parents: 325
diff changeset
   290
	<dt><dfn>Linked Data Platform Resource</dfn> (<abbr title="Linked Data Platform Resource">LDPR</abbr>)</dt>
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   291
	<dd>A HTTP resource whose state is represented in any way that conforms to the simple lifecycle
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   292
		patterns and conventions in <a href="#ldpr" class="sectionRef"></a>.<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   293
		
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   294
	<dt><dfn>Linked Data Platform RDF Source</dfn> (<abbr title="Linked Data Platform RDF Source">LDP-RS</abbr>)</dt>
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   295
	<dd>An <a title="Linked Data Platform Resource">LDPR</a> whose state is fully represented in RDF, corresponding to
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   296
	an RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a>. See also the term
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   297
	<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF Source</a> from [[!rdf11-concepts]].
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   298
	<p></p></dd>	
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   299
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   300
	<dt><dfn>Linked Data Platform Non-RDF Source</dfn> (<abbr title="Linked Data Platform Non-RDF Source">LDP-NR</abbr>)</dt>
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   301
	<dd>A <a title="Linked Data Platform Resource">LDPR</a> whose state is <em>not</em> represented in RDF.
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   302
	These are binary or text documents that do not have useful RDF representations.
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   303
	<p></p></dd>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   304
		
331
2e0bbaef0442 fixed a few minor respec errors
sspeiche
parents: 325
diff changeset
   305
	<dt><dfn>Linked Data Platform Container</dfn> (<abbr title="Linked Data Platform Container">LDPC</abbr>)</dt>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   306
	<dd>An LDP-RS representing a collection of linked
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   307
	documents (<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-document">RDF Document</a> [[!rdf11-concepts]] or information resources [[!WEBARCH]])
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   308
	that responds to client requests for creation, modification, and/or enumeration of its linked members and documents, 
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   309
	and that conforms to the simple lifecycle
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   310
	patterns and conventions in <a href="#ldpc" class="sectionRef"></a>.
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   311
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   312
	
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   313
	<dt><dfn>Linked Data Platform Basic Container</dfn> (<abbr title="Linked Data Platform Basic Container">LDP-BC</abbr>)</dt>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   314
	<dd>A <a title="Linked Data Platform Container">LDPC</a> that defines a simple link to
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   315
	its <a title="Containment">contained</a> documents (information resources) [[!WEBARCH]].
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   316
	<p></p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   317
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   318
	<dt><dfn>Linked Data Platform Direct Container</dfn> (<abbr title="Linked Data Platform Direct Container">LDP-DC</abbr>)</dt>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   319
	<dd>A <a title="Linked Data Platform Container">LDPC</a> adds the concept <a title="Membership">membership</a>, allows the flexibility of choosing what form its 
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   320
	<a title="Membership triples">membership triples</a> take, and allows <a title="Membership">members</a> to be 
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   321
	any resources [[!WEBARCH]], not only documents.
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   322
	<p></p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   323
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   324
	<dt><dfn>Linked Data Platform Indirect Container</dfn> (<abbr title="Linked Data Platform Indirect Container">LDP-IC</abbr>)</dt>
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   325
	<dd>A <a title="Linked Data Platform Container">LDPC</a> that is similar to a <a title="Linked Data Platform Direct Container">LDP-DC</a>
483
ebfb1abdf1cb Updated LDP-IC definition per email thread
John Arwe
parents: 482
diff changeset
   326
	and is capable of having <a title="Membership">members</a> whose URIs are based
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   327
	on the content of its <a title="Containment">contained</a> documents rather than the URIs assigned to those documents.
451
f68e4a59fba1 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 450
diff changeset
   328
	<p></p></dd>
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
   329
		 
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   330
	<dt><dfn>Membership</dfn></dt>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   331
	<dd>The relationship linking an LDP-RS (LDPCs are also LDP-RSs) and its member LDPRs.  
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   332
	There often is a linked LDPC that assists with managing the member LDPRs.<p></p></dd>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   333
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   334
	<dt><dfn>Membership triples</dfn></dt>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   335
	<dd>A set of triples in an LDP-RS's state that lists its members.
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   336
		An LDP-RS's membership triples all have one of the following patterns:
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   337
		<table class="indented">
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   338
		<tr>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   339
		<td style="background:#DDDDDD"> <var>membership-constant-URI</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   340
		<td style="background:#FFFFFF"> <var>membership-predicate</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   341
		<td style="background:#CCFFFF"> <var>member-derived-URI</var> </td>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   342
		</tr>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   343
		<tr>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   344
		<td style="background:#CCFFFF"> <var>member-derived-URI</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   345
		<td style="background:#FFFFFF"> <var>membership-predicate</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   346
		<td style="background:#DDDDDD"> <var>membership-constant-URI</var> </td>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   347
		</tr>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   348
		</table>
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   349
		The difference between the two is simply which position member-derived-URI occupies, which is usually
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   350
		driven by the choice of <var>membership-predicate</var>.  Most predicates have a natural forward direction
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   351
		inherent in their name, and existing vocabularies contain useful examples that read naturally in
453
a70c321daf12 ACTION-120 (Part 3) Added ldp:member
sspeiche
parents: 452
diff changeset
   352
		each direction.  <code>ldp:member</code> and <code>dcterms:isPartOf</code> are representative examples.
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   353
		<p>
503
d13ec755f468 Adjusted term membership triples and membership predicate
sspeiche
parents: 502
diff changeset
   354
		Each linked container exposes properties (see <a href="#ldpc-general" class="sectionRef"></a>)
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   355
		that allow clients to determine which pattern it
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   356
		uses, what the actual <var>membership-predicate</var> and <var>membership-constant-URI</var> values are, 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   357
		and (for containers that allow the creation of new members) what value is used
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   358
		for the <var>member-derived-URI</var> based on the client's input to the 
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   359
		creation process.</p>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   360
	<p></p></dd>
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   361
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   362
	<dt><dfn>Membership predicate</dfn></dt>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   363
	<dd>The predicate of all an LDP-RS's <a title="Membership triples">membership triples</a>.
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   364
	<p></p></dd>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   365
	
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   366
	<dt><dfn>Containment</dfn></dt>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   367
	<dd>The relationship binding an LDPC to LDPRs whose lifecycle it controls and is aware of.  The
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   368
	lifecycle of the contained LDPR is limited by the lifecycle of the containing LDPC;
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   369
	that is, a contained LDPR cannot be created (through LDP-defined means) before its containing LDPC exists.
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   370
	<p></p></dd>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   371
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   372
	<dt><dfn>Containment triples</dfn></dt>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   373
	<dd>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   374
	A set of triples in an LDPC's state, maintained by the LDPC, that lists documents created by the LDPC but not yet deleted.
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   375
	These triples <strong>always</strong> have the form: <var>( LDPC URI, ldp:contains , document-URI )</var>.
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   376
	<p></p></dd>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   377
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   378
	<dt><dfn>Empty-container triples</dfn></dt>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   379
	<dd>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   380
	The portion of an LDPC's state that would be present when the container is empty.  Currently, this definition
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   381
	is equivalent to all the LDPC's triples minus its containment triples and minus its membership
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   382
	triples, but if future versions of LDP define additional classes of triples then this definition
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   383
	would expand to subtract out those classes as well.
412
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   384
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   385
  </dl>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   386
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   387
<section id="conventions">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   388
<h2>Conventions Used in This Document</h2>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   389
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   390
	<p>Sample resource representations are provided in <code>text/turtle</code>
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   391
		format [[turtle]].</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   392
	<p>Commonly used namespace prefixes:</p>
93
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   393
	<pre style="word-wrap: break-word; white-space: pre-wrap;">	@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   394
	@prefix foaf:     &lt;http://xmlns.com/foaf/0.1/&gt;.
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   395
	@prefix rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   396
	@prefix ldp:     &lt;http://www.w3.org/ns/ldp#&gt;.
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   397
	@prefix xsd:     &lt;http://www.w3.org/2001/XMLSchema#&gt;.</pre>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   398
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   399
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   400
    
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   401
<section id='conformance'>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   402
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   403
<p>The status of the sections of Linked Data Platform 1.0 (this document) is as follows:</p>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   404
<ul>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   405
  <li>1. Introduction: <b>non-normative</b></li>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   406
  <li>2. Terminology: <b>normative</b></li>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   407
  <li>3. Conformance: <b>normative</b></li>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   408
  <!-- TODO: section numbering is OFF - LDP clients -->
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   409
  <li>4. Linked Data Platform Resources: <b>normative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   410
  <li>5. Linked Data Platform Containers: <b>normative</b></li>
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   411
  <li>6. HTTP Header Definitions: <b>normative</b></li>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   412
  <li>A. Acknowledgements: <b>non-normative</b></li> 
234
992015a0d3cd Setting all LC status items for prep for publication
sspeiche
parents: 233
diff changeset
   413
  <li>B.1 Normative references: <b>normative</b></li>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   414
  <li>B.2 Non-normative references: <b>non-normative</b></li>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   415
</ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   416
447
f7f6d5fe3313 Fix up conformance section to use new LDP client section
sspeiche
parents: 443
diff changeset
   417
<p>A conforming <b><dfn>LDP client</dfn></b> is a conforming HTTP client [[!HTTP11]] that follows the rules defined by LDP in
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   418
<a href="#ldpclient" class="sectionRef"></a>.
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   419
</p>
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   420
447
f7f6d5fe3313 Fix up conformance section to use new LDP client section
sspeiche
parents: 443
diff changeset
   421
<p>A conforming <b><dfn>LDP server</dfn></b> is a conforming HTTP server [[!HTTP11]] that follows the rules defined by LDP in 
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   422
<a href="#ldpr" class="sectionRef"></a> when it is serving LDPRs, and also
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   423
<a href="#ldpc" class="sectionRef"></a> when it is serving LDPCs.
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   424
LDP does not constrain its behavior when serving other HTTP resources.
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   425
</p>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   426
</section>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   427
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   428
<section id="ldpclient">
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   429
<h1>Linked Data Platform Clients</h1>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   430
<p>All of the following are conformance rules for <a title="LDP client">LDP Clients</a>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   431
</p>
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   432
<section><h2>General</h2>
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   433
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   434
	<section id="ldp-cli-multitype"><h2 class="normal">In the absence of special knowledge of the application or domain, 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   435
		<a title="LDP client">LDP clients</a> MUST assume that any LDP-RS can have multiple values for <code>rdf:type</code>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   436
	</h2></section> <!-- Was 4.3.5 / #ldpr-4_3_5 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   437
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   438
	<section id="ldpr-cli-typeschange"><h2 class="normal">In the absence of special knowledge of the application or domain, 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   439
		<a title="LDP client">LDP clients</a> MUST assume that the <code>rdf:type</code> values
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   440
		of a given LDP-RS can change over time.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   441
	</h2></section> <!-- Was 4.3.6 / #ldpr-4_3_6 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   442
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   443
	<section id="ldpr-cli-openpreds"><h2 class="normal"><a title="LDP client">LDP clients</a> SHOULD always assume that the set of predicates for a
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   444
		LDP-RS of a particular type at an arbitrary server is open, in the
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   445
		sense that different resources of the same type may not all have the
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   446
		same set of predicates in their triples, and the set of predicates that
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   447
		are used in the state of any one LDP-RS is not limited to any pre-defined
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   448
		set.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   449
	</h2></section> <!-- Was 4.5.3 / #ldpr-ldpr-4_5_3 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   450
	
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   451
	<section id="ldpr-cli-preservetriples"><h2 class="normal">
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   452
		A <a title="LDP client">LDP client</a> MUST preserve all triples retrieved from an LDP-RS using HTTP <code>GET</code> that
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   453
		it doesn’t change whether it understands the predicates or not, when
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   454
		its intent is to perform an update using HTTP <code>PUT</code>.  The use of HTTP
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   455
		<code>PATCH</code> instead of HTTP <code>PUT</code> for update avoids this burden for clients
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   456
		[[RFC5789]].
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   457
	</h2></section> <!-- Was 4.5.5 / #ldpr-ldpr-4_5_5 -->
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   458
	
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   459
	<section id="ldpr-cli-can-hint"><h2 class="normal">
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   460
		<a title="LDP client">LDP clients</a> MAY 
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   461
		provide LDP-defined hints that allow servers to optimize the content of responses.
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   462
		<a href="#prefer-parameters" class="sectionRef"></a> defines hints that apply to 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   463
		<a title="Linked Data Platform RDF Source">LDP-RSs</a>.
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   464
	</h2></section> 
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   465
	
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   466
	<section id="ldpr-cli-hints-ignorable"><h2 class="normal">
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   467
		<a title="LDP client">LDP clients</a> MUST 
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   468
		be capable of processing responses formed by an LDP server that ignores hints,
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   469
		including LDP-defined hints.
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   470
	</h2></section>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   471
	
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   472
	<section id="ldpr-cli-paging"><h2 class="normal">
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   473
	<div class="atrisk" id="atrisk-paging"><p class="atrisktext">Feature At Risk</p>
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   474
	<p>The LDP Working Group proposes incorporation of the following clause to make LDP clients paging aware:</p>
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   475
		<a title="LDP client">LDP clients</a> SHOULD 
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   476
		be capable of processing successful HTTP <code>GET</code> responses formed by an LDP server
498
9ab1339e0013 Simple grammatical cleanup and improved wording
sspeiche
parents: 497
diff changeset
   477
		that independently initiated paging, returning a page of representation instead of full resource
9ab1339e0013 Simple grammatical cleanup and improved wording
sspeiche
parents: 497
diff changeset
   478
		representation [[!LDP-PAGING]].
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   479
	</div></h2>
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   480
	</section> 
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   481
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
   482
	
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   483
</section>
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   484
</section> <!-- Client constraints -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   485
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   486
<section id="ldpr">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   487
<h1>Linked Data Platform Resources</h1>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   488
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   489
<section class="informative" id="ldpr-informative">
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   490
<h2>Introduction</h2>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   491
	<p>Linked Data Platform Resources (<dfn><abbr title="Linked Data Platform Resources">LDPRs</abbr></dfn>) are HTTP resources
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   492
		that conform to the simple patterns and conventions in this section.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   493
		HTTP requests to access, modify, create or delete LDPRs are accepted
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   494
		and processed by <a title="LDP server">LDP servers</a>. Most LDPRs are domain-specific resources
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   495
		that contain data for an entity in some domain, which could be
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   496
		commercial, governmental, scientific, religious, or other.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   497
	<p>Some of the rules defined in this document provide
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   498
		clarification and refinement of the base Linked Data rules [[LINKED-DATA]];
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   499
		others address additional needs.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   500
	<p>The rules for Linked Data Platform Resources address basic
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   501
		questions such as:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   502
	<ul>
231
38d1a7faf1c4 Various editorial comments from PA
sspeiche
parents: 230
diff changeset
   503
		<li>What resource representations should be used?</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   504
		<li>How is optimistic collision detection handled for updates?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   505
		<li>What should client expectations be for changes to linked-to resources,
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   506
				such as type changes?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   507
		<li>What can servers do to ease the burden of constraints for resource
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   508
				creation?</li>
464
77fd28c9eb94 action-127 use tag [23]xx status code for paging; also change paging to be for LDP-RRs as a consequence of issue-89 vocab changes
John Arwe
parents: 463
diff changeset
   509
		<li>How	do I GET the representation of a large resource broken up into pages?</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   510
	</ul>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   511
	<p>Additional non-normative guidance is available in the <a
439
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   512
			href="https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html"
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   513
			class="external"
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   514
			title="LDP Best Practices and Guidelines"
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   515
			rel="nofollow">LDP Best Practices and Guidelines editor's draft</a> that addresses
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   516
		questions such as:</p>
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   517
	<ul>
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   518
		<li>What literal value types should be used?</li>
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   519
		<li>Are there some typical vocabularies that should be reused?</li>
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   520
	</ul>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   521
	<p>The following sections define the conformance rules for LDP servers when serving LDPRs.
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   522
	Companion non-normative documents describe additional guidelines for use when interacting with LDPRs. 
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   523
	</p>
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   524
	<p>LDP-RS's representations may be too big, one strategy is to break up the response representation
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   525
	into client consumable chunks called pages. A separate LDP specification outlines the conformance
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   526
	rules around pagination [[LDP-PAGING]].
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   527
	</p>
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   528
	<p>An LDP server manages two kinds of <a title="Linked Data Platform Resources">LDPRs</a>, those resources who whose state 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   529
	is represented using RDF (LDP-RS) and those using other formats (LDP-NR).  LDP-RSs have the unique
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   530
	quality that their representation is based on RDF, which addresses a number of use cases from web metadata, open data 
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   531
	models, machine processable information, and automated processing by software agents [[!rdf11-concepts]].  LDP-NRs are almost anything
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   532
	on the Web today: images, HTML pages, word processing documents, spreadsheets, etc. and LDP-RSs hold 
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   533
	metadata associated with LDP-NRs in some cases.
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   534
	</p>
451
f68e4a59fba1 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 450
diff changeset
   535
    <figure id="fig-ldpr-types">
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   536
        <img src="images/ldpr1.png" alt="Sample separation of Linked Data Platform Resource" />
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   537
        <figcaption>Samples of different types of LDPRs</figcaption>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   538
    </figure>
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   539
    <p>The LDP-NRs and LDP-RSs are simply sub-types of LDPRs, as illustrated in <a href="#fig-ldpr-class"></a>.</p>  
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   540
    <figure id="fig-ldpr-class">
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   541
       <img src="images/ldpr2.png" alt="Class Diagram of Linked Data Platform Resource" />
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
   542
       <figcaption>Class relationship of types of Linked Data Platform Resources</figcaption>
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   543
     </figure>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   544
	
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   545
</section>
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   546
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   547
<section id="ldpr-general">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   548
<h2>General</h2>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   549
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   550
	<section id="ldpr-gen-http"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST at least be HTTP/1.1 conformant servers [[!HTTP11]].
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   551
	</h2></section><!-- Was 4.2.1 / #ldpr-4_2_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   552
	
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   553
	<section id="ldpr-gen-rdf"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST provide an RDF representation for <a title="Linked Data Platform RDF Source">LDP-RSs</a>. 
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   554
	The HTTP <code>Request-URI</code> of the LDP-RS is typically the subject of most triples in the response.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   555
	</h2></section><!-- Was 4.2.2 / #ldpr-4_2_2 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   556
	
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   557
	<section id="ldpr-gen-binary"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY host a mixture of LDPRs, <a title="Linked Data Platform RDF Source">LDP-RSs</a>
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   558
	and <a title="Linked Data Platform Non-RDF Source">LDP-NRs</a>. For example, it
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   559
		is common for <a title="LDP server">LDP servers</a> to need to host binary or text resources
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   560
		that do not have useful RDF representations.</h2></section><!-- Was 4.2.3 / #ldpr-4_2_3 -->
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   561
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   562
	<section id="ldpr-gen-reusevocab"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> SHOULD reuse existing vocabularies instead of creating
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   563
		their own duplicate vocabulary terms.  In addition to this general rule, some specific cases are
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   564
		covered by other conformance rules.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   565
	</h2></section><!-- Was 4.2.4 / #ldpr-4_2_4 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   566
	
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   567
	<section id="ldpr-gen-reusevocabsuchas"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> predicates SHOULD use standard vocabularies such as Dublin Core
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   568
		[[!DC-TERMS]], RDF [[!rdf11-concepts]] and RDF Schema [[!rdf-schema]], whenever
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   569
		possible.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   570
	</h2></section><!-- Was 4.2.4.1 / #ldpr-4_2_4_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   571
	
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   572
	<section id="ldpr-gen-atleast1rdftype"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> representations SHOULD have at least one <code>rdf:type</code>
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   573
		set explicitly.  This makes the representations much more useful to
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   574
		client applications that don’t support inferencing.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   575
	</h2></section><!-- Was 4.2.5 / #ldpr-4_2_5 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   576
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   577
	<section id="ldpr-gen-etags"><h2 class="normal"><a title="LDP server">LDP server</a> responses MUST use entity tags (either 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   578
		weak or strong ones) as response <code>ETag</code> header values.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   579
	</h2></section><!-- Was 4.2.8 / #ldpr-4_2_8 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   580
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   581
	<section id="ldpr-gen-linktypehdr"><h2 class="normal"><a title="LDP server">LDP servers</a>
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   582
		exposing LDPRs 
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   583
		MUST advertise their LDP support by exposing a HTTP <code>Link</code> header
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
   584
		with a target URI of <code>http://www.w3.org/ns/ldp#Resource</code>, and
402
935e1e08d2bb Fix some typos around paging, move to single quotes for link relations per 5988
John Arwe
parents: 395
diff changeset
   585
		a link relation type of <code>type</code> (that is, <code>rel='type'</code>)
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   586
		in all responses to requests made 
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   587
		to the LDPR's HTTP <code>Request-URI</code>. 
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   588
	</h2></section><!-- Was 4.2.10 / #ldpr-4_2_10 -->
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   589
	<blockquote>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   590
		<p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   591
		Note: 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   592
		The HTTP <code>Link</code> header is the method by which servers assert their support for the LDP specification 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   593
		on a specific resource in a way that clients can inspect dynamically at run-time.   
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   594
		This is <strong>not</strong> equivalent to the
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   595
		presence of a <var>(subject-URI, <code>rdf:type</code>, <code>ldp:Resource</code>)</var> triple in an LDP-RS.
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   596
		The presence of this header asserts that the server complies with the LDP specification's constraints on 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   597
		HTTP interactions with LDPRs, that is
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   598
		it asserts that the resource <a href="#ldpr-gen-tags">has Etags</a>, <a href="#ldpr-gen-rdf">has an RDF representation</a>, and so on,
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   599
		which is not true of all Web resources served as RDF media types.
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   600
		</p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   601
		<p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   602
		Note: 
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   603
		<a href="#ldpr-gen-binary">An LDP server can host a mixture of LDPRs and other resources</a>, and therefore there is no implication
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   604
		that LDP support advertised on one HTTP <code>Request-URI</code> means that other 
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   605
		resources on the same server are also LDPRs.  Each HTTP <code>Request-URI</code> needs to be 
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   606
		individually inspected, in the absence of outside information.
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   607
		</p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   608
	</blockquote>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   609
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   610
	<section id="ldpr-gen-noinferencing"><h2 class="normal"><a title="LDP server">LDP servers</a>
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   611
		MUST NOT require LDP clients to implement inferencing in order to recognize the subset
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   612
		of content defined by LDP.  Other specifications built on top of LDP may require clients
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   613
		to implement inferencing [[!rdf11-concepts]].  The practical implication is that all content defined by LDP
510
c398cec256bd Tweak in wording no inferencing and todo cleanup
sspeiche
parents: 508
diff changeset
   614
		must be explicitly represented, unless noted otherwise within this document.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   615
	</h2></section><!-- Was 4.2.11 / #ldpr-4_2_11 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   616
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   617
	<section id="ldpr-gen-defbaseuri"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST assign the default 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   618
		base-URI for [[!RFC3987]] relative-URI resolution to be the HTTP 
224
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   619
		<code>Request-URI</code> when the resource already exists, and to the URI of the created resource when the request results 
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   620
		in the creation of a new resource.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   621
	</h2></section><!-- Was 4.2.12 / #ldpr-4_2_12 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   622
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   623
	<section id="ldpr-gen-pubclireqs"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   624
		publish any constraints on <a title="LDP client">LDP clients’</a> ability to 
402
935e1e08d2bb Fix some typos around paging, move to single quotes for link relations per 5988
John Arwe
parents: 395
diff changeset
   625
		create or update LDPRs, by adding a Link header with <code>rel='describedby'</code> 
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   626
		[[!RFC5988]] to all responses to requests which fail due to violation of 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   627
		those constraints.  For example, a server that refuses resource creation 
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   628
		requests via HTTP PUT, POST, or PATCH would return this <code>Link</code> header on its 
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   629
		4xx responses to such requests.
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   630
		The same <code>Link</code> header MAY be provided on other responses.  LDP neither 
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   631
		defines nor constrains the representation of the link's target resource.  Natural language 
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   632
		constraint documents are therefore permitted, 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   633
		although machine-readable ones facilitate better client interactions.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   634
	</h2></section><!-- Was 4.2.13 / #ldpr-4_2_13 -->
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   635
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   636
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   637
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   638
<section id="ldpr-HTTP_GET">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   639
<h2>HTTP GET</h2>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   640
	<section id="ldpr-get-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>GET</code> Method for LDPRs.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   641
	</h2></section><!-- Was 4.3.1 / #ldpr-4_3_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   642
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   643
	<section id="ldpr-get-options"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP response headers defined in 
228
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   644
		<a href="#ldpr-HTTP_OPTIONS" class="sectionRef"></a>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   645
	</h2></section><!-- Was 4.3.2 / #ldpr-4_3_2 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   646
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   647
	<section id="ldpr-get-turtle"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST provide a <code>text/turtle</code>
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   648
		representation of the requested <a title="Linked Data Platform RDF Source">LDP-RS</a> [[!turtle]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   649
	</h2></section><!-- Was 4.3.3 / #ldpr-4_3_3 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   650
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   651
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   652
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   653
<section id="ldpr-HTTP_POST">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   654
<h2>HTTP POST</h2>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   655
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   656
		Per [[HTTP11]], this HTTP method is optional and 
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   657
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   658
		When an LDP server supports this method, 
485
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   659
		this specification imposes no new requirements for LDPRs.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   660
	</p>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   661
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   662
	<p>Clients can create LDPRs via <code>POST</code> (<a href="#ldpc-HTTP_POST" class="sectionRef"></a>) to an LDPC, 
485
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   663
		via <code>PUT</code> (<a href="#ldpr-HTTP_PUT" class="sectionRef"></a>), or any other methods allowed
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   664
		for HTTP resources.  Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   665
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
480
96f2d9c4a742 Updated LDPC DELETE language and cleanup todos
sspeiche
parents: 479
diff changeset
   666
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   667
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   668
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   669
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   670
<section id="ldpr-HTTP_PUT">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   671
<h2>HTTP PUT</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   672
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   673
		Per [[HTTP11]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   674
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   675
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   676
		this specification imposes the following new requirements for LDPRs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   677
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   678
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   679
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   680
		Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   681
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   682
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   683
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   684
	<section id="ldpr-put-replaceall"><h2 class="normal">If a HTTP <code>PUT</code> is accepted on an existing resource, 
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   685
		<a title="LDP server">LDP servers</a> MUST
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   686
		replace the entire persistent state of the identified resource with
61
2f8a2d58e65c ISSUE-11 - 4.4.1 Relaxed the MUST ignore dc:modified/creator to MAY
sspeiche
parents: 60
diff changeset
   687
		the entity representation in the body of the request. 
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   688
		<a title="LDP server">LDP servers</a> MAY ignore server managed properties such as <code>dcterms:modified</code> 
61
2f8a2d58e65c ISSUE-11 - 4.4.1 Relaxed the MUST ignore dc:modified/creator to MAY
sspeiche
parents: 60
diff changeset
   689
		and <code>dcterms:creator</code> if they are not under
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   690
		client control. Any <a title="LDP server">LDP servers</a> that wish
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   691
		to support a more sophisticated merge of data provided by the client
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   692
		with existing state stored on the server for a resource MUST use HTTP
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   693
		<code>PATCH</code>, not HTTP <code>PUT</code>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   694
	</h2></section><!-- Was 4.5.1 / #ldpr-4_5_1 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   695
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   696
	<section id="ldpr-put-servermanagedprops"><h2 class="normal">
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   697
		If an otherwise valid HTTP <code>PUT</code> request is received 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   698
		that attempts to change triples the server does not allow clients to modify, 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   699
		<a title="LDP server">LDP servers</a> MUST 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   700
		respond with a 4xx range status code (typically
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   701
		409 Conflict). 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   702
		<a title="LDP server">LDP servers</a> SHOULD provide a corresponding response body containing
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   703
		information about which triples could not be
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   704
		persisted.
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   705
		The format of the 4xx response body is not constrained by LDP.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   706
	</h2></section><!-- Was 4.5.1.1 / #ldpr-4_5_1_1 -->
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   707
	<blockquote>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   708
		Non-normative note: Clients might provide triples equivalent to those already in the resource's state,
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   709
		e.g. as part of a GET/update representation/PUT sequence, and those PUT requests are intended to work as long as the 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   710
		server-controlled triples are identical on the GET response and the subsequent PUT request.
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   711
	</blockquote>
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   712
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   713
	<section id="ldpr-put-precond"><h2 class="normal"><a title="LDP client">LDP clients</a> SHOULD use the HTTP <code>If-Match</code>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   714
		header and HTTP <code>ETags</code> to ensure it isn’t
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   715
		modifying a resource that has changed since the client last retrieved
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   716
		its representation. <a title="LDP server">LDP servers</a> SHOULD require the HTTP <code>If-Match</code> header and HTTP <code>ETags</code>
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   717
		to detect collisions. <a title="LDP server">LDP servers</a> MUST respond with status code 412
122
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   718
		(Condition Failed) if <code>ETag</code>s fail to match when there are no other
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   719
		errors with the request [[!HTTP11]].  <a title="LDP server">LDP servers</a> that require conditional requests MUST respond with status code 428
122
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   720
		(Precondition Required) when the absence of a precondition is the only reason for rejecting the request [[!RFC6585]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   721
	</h2></section><!-- Was 4.5.2 / #ldpr-4_5_2 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   722
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   723
	<section id="ldpr-put-failed"><h2 class="normal">
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   724
		If an otherwise valid HTTP <code>PUT</code> request is received that contains triples the server 
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   725
		chooses not to persist, e.g. unknown content,
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   726
		<a title="LDP server">LDP servers</a> MUST respond with an appropriate 4xx range status code
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   727
		[[HTTP11]].  
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   728
		<a title="LDP server">LDP servers</a> SHOULD provide a corresponding response body containing
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   729
		information about which triples could not be
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   730
		persisted.
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   731
		The format of the 4xx response body is not constrained by LDP. LDP servers
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   732
		expose these application-specific constraints as described in <a href="#ldpr-general" class="sectionRef"></a>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   733
	</h2></section><!-- Was 4.5.4 / #ldpr-4_5_4 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   734
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   735
	<section id="ldpr-put-create"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY choose to allow the creation of new resources using HTTP <code>PUT</code>.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   736
	</h2></section><!-- Was 4.5.6 / #ldpr-4_5_6 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   737
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   738
	<section id="ldpr-put-simpleupdate"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD allow clients to update resources without
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   739
		requiring detailed knowledge of server-specific constraints.  
451
f68e4a59fba1 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 450
diff changeset
   740
		This is a consequence of the requirement to enable simple creation and modification of LDPRs.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   741
	</h2></section><!-- Was 4.5.7 / #ldpr-4_5_7 -->	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   742
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   743
		
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   744
<section id="ldpr-HTTP_DELETE">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   745
<h2>HTTP DELETE</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   746
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   747
		Per [[HTTP11]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   748
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   749
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   750
		this specification imposes the following new requirements for LDPRs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   751
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   752
		
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   753
	<p>Additional requirements on HTTP <code>DELETE</code> of LDPRs within containers can be found in
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   754
	<a href="#ldpc-HTTP_DELETE" class="sectionRef"></a>.
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   755
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   756
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   757
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   758
<section id="ldpr-HTTP_HEAD">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   759
<h2>HTTP HEAD</h2>
395
0408e1e5bbf8 ACTION-105: Update spec to reflect 9/30 resolution moving Paging links to HTTP headers (partial: does not include sort criteria changes yet)
John Arwe
parents: 393
diff changeset
   760
	<p>Note that certain LDP mechanisms, such as <a href="#ldpr-Paging">paging</a>, rely on HTTP headers, and HTTP generally requires that
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   761
		<code>HEAD</code> responses include the same headers as <code>GET</code> responses.  
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   762
		Thus, implementers should also carefully read sections <a href="#ldpr-HTTP_GET"></a> 
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   763
		and <a href="#ldpr-HTTP_OPTIONS"></a>.</p>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   764
	<section id="ldpr-head-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>HEAD</code> method.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   765
	</h2></section><!-- Was 4.7.1 / #ldpr-4_7_1 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   766
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   767
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   768
<section id="ldpr-HTTP_PATCH">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   769
<h2>HTTP PATCH</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   770
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   771
		Per [[RFC5789]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   772
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   773
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   774
		this specification imposes the following new requirements for LDPRs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   775
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   776
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   777
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   778
		Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   779
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   780
	</p>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   781
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   782
	<section id="ldpr-patch-acceptpatch"><h2 class="normal"><a title="LDP server">LDP servers</a> that support <code>PATCH</code> MUST
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   783
		include an <code>Accept-Patch</code> HTTP response header [[!RFC5789]] on HTTP <code>OPTIONS</code>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   784
		requests, listing patch document media type(s) supported by the server.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   785
	</h2></section><!-- Was 4.8.4 / #ldpr-4_8_4 -->
186
a3471f4667d8 Removed closed issues that required no new spec changes: 50, 56, 16, 19, 17
sspeiche
parents: 185
diff changeset
   786
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   787
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   788
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   789
<section id="ldpr-HTTP_OPTIONS">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   790
<h2>HTTP OPTIONS</h2>
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   791
	<p>This specification imposes the following new requirements on HTTP <code>OPTIONS</code> for LDPRs 
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   792
		beyond those in [[!HTTP11]].  Other sections of this specification, for example 
167
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
   793
		<a href="#ldpr-HTTP_PATCH">PATCH</a>,
481
beb136ede044 Removed LDPR Paging HTTP OPTIONS section (no longer needed) and more cleanup of todos
sspeiche
parents: 480
diff changeset
   794
		<a href="#header-accept-post">Accept-Post</a>,
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   795
		add other requirements on <code>OPTIONS</code> responses.
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   796
		</p>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   797
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   798
	<section id="ldpr-options-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>OPTIONS</code> method.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   799
	</h2></section><!-- Was 4.9.1 / #ldpr-4_9_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   800
		
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   801
	<section id="ldpr-options-allow"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST indicate their support for HTTP Methods by
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   802
		responding to a HTTP <code>OPTIONS</code> request on the LDPR’s URL with the HTTP
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   803
		Method tokens in the HTTP response header <code>Allow</code>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   804
	</h2></section><!-- Was 4.9.2 / #ldpr-4_9_2 -->
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   805
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   806
</section> <!-- h2 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   807
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   808
</section> <!-- h1 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   809
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   810
<section id="ldpc">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   811
<h1>Linked Data Platform Containers</h1>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   812
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   813
<section class="informative" id="ldpc-informative">		
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   814
<h2>Introduction</h2>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   815
	<p>Many HTTP applications and sites have organizing
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   816
		concepts that partition the overall space of resources into smaller
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   817
		containers. Blog posts are grouped into blogs, wiki pages are grouped
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   818
		into wikis, and products are grouped into catalogs. Each resource
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   819
		created in the application or site is created within an instance of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   820
		one of these container-like entities, and users can list the existing
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   821
		artifacts within one. Containers answer some basic questions, which
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   822
		are:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   823
	<ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   824
		<li>To which URLs can I POST to create new resources?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   825
		<li>Where can I GET a list of existing resources?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   826
		<li>How do I get information about the members along with the container?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   827
		<li>How	can I ensure the resource data is easy to query?</li>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   828
		<li>How	is the order of the container entries expressed? [[LDP-PAGING]]</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   829
	</ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   830
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   831
		This document defines the representation and behavior of containers
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   832
		that address these issues. There are multiple types of containers defined
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   833
		to support a variety of use cases, all that support a base set of capabilities.
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   834
		The contents of a container is
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   835
		defined by a set of triples in its representation (and state) called
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   836
		the <a title="Containment triples">containment triples</a> that follow a fixed pattern.
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   837
		Additional types of containers allow for the set of members of a container to be
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   838
		defined by a set of triples in its representation called
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   839
		the <a title="Membership triples">membership triples</a> that follow a consistent pattern
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   840
		(see the linked-to definition for the possible patterns). 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   841
		The membership triples of a container all
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   842
		have the same predicate, called the membership predicate, 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   843
		and either the subject or the object is also a consistent value
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   844
		– the remaining position of the membership
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   845
		triples (the one that varies) define the members of the container. 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   846
		In the simplest cases, the
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   847
		consistent value will be the LDPC resource's URI, but it does not
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   848
		have to be. The membership predicate is also variable and will often
453
a70c321daf12 ACTION-120 (Part 3) Added ldp:member
sspeiche
parents: 452
diff changeset
   849
		be a predicate from the server application vocabulary or the <code>ldp:member</code> predicate.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   850
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   851
	<p>This document includes a set of guidelines for
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   852
		creating new resources and adding them to the list of
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   853
		resources linked to a container. It goes on to explain how to learn about a set of related
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   854
		resources, regardless of how they were created or added to the container's membership.
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   855
		It also defines behavior when resources created using a container are later deleted;
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   856
		deleting containers removes membership information and
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   857
		possibly performs some cleanup tasks on unreferenced member resources.</p>
104
78fd14175304 ISSUE-59 5.3.2 limited rdf:type of ldp:Container, removed 5.6.3, reworded 5.6.2, updated 1.
sspeiche
parents: 102
diff changeset
   858
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   859
	<p>The following illustrates a very simple
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   860
		container with only three members and some information about the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   861
		container (the fact that it is a container and a brief title):</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   862
419
afe7bcda2e56 + ids on remaining examples
Eric Prud'hommeaux <eric@w3.org>
parents: 418
diff changeset
   863
<pre class="example" id="ldpc-ex-simple"># The following is the representation of
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   864
#    http://example.org/c1/
309
ea3cce737943 Get examples to validate, per http://lists.w3.org/Archives/Public/public-ldp-wg/2013Aug/0002.html and messages that came up once those noted were fixed.
John Arwe
parents: 274
diff changeset
   865
<!-- @base is here only so it's easier to paste into validators for checking -->
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   866
# @base &lt;http://example.org/c1/&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   867
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   868
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   869
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   870
&lt;&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   871
   a ldp:BasicContainer;
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   872
   dcterms:title "A very simple container";
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   873
   ldp:contains &lt;r1&gt;, &lt;r2&gt;, &lt;r3&gt;.</pre>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   874
 
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   875
   	<figure id="fig-ldpc-basic">
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   876
        <img src="images/ldpc-basic.png" alt="Sample Linked Data Platform Basic Container" />
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   877
        <figcaption>Sample of Linked Data Platform Basic Container</figcaption>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   878
    </figure>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   879
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   880
	<p>This example is very straightforward - there is the containment triple
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   881
	with subject of the container, predicate of  
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   882
	<code>ldp:contains</code> and objects indicating the URIs of the contained resources. 
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   883
	A POST to this container will create a new resource
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   884
	and add it to the list of contained resources by adding a new containment triple
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   885
	to the container.  This type of container is also referred to as
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   886
	<a title="">Linked Data Platform Basic Container</a>.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   887
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   888
	<p>Sometimes it is useful to use a subject
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   889
	other than the container itself as the consistent membership value, and/or to use
467
0eed67a3db4e Simplified some of the container examples
sspeiche
parents: 466
diff changeset
   890
	a  predicate from an application's domain model as the membership predicate. Let's
88
a02636c16f05 Fixed typo in new text
sspeiche
parents: 87
diff changeset
   891
	start with a domain resource for a person's net worth, as illustrated below:</p>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   892
			
233
37842c77d995 Fixed dup id problem in example
sspeiche
parents: 232
diff changeset
   893
<pre class="example" id="ldpc-ex-membership-partial"># The following is a partial representation of
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   894
#   http://example.org/netWorth/nw1
309
ea3cce737943 Get examples to validate, per http://lists.w3.org/Archives/Public/public-ldp-wg/2013Aug/0002.html and messages that came up once those noted were fixed.
John Arwe
parents: 274
diff changeset
   895
<!-- @base is here only so it's easier to paste into validators for checking -->
ea3cce737943 Get examples to validate, per http://lists.w3.org/Archives/Public/public-ldp-wg/2013Aug/0002.html and messages that came up once those noted were fixed.
John Arwe
parents: 274
diff changeset
   896
# @base &lt;http://example.org/netWorth/nw1/&gt;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   897
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   898
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   899
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   900
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   901
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   902
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   903
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   904
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   905
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   906
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   907
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   908
      &lt;liabilityContainer/l3&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   909
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   910
	<p>From this example, there is a <code>rdf:type</code> of <code>o:NetWorth</code> indicating the
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   911
	resource represents an instance of a person's net worth and <code>o:netWorthOf</code> predicate indicating 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   912
	the associated person.  There are two sets of same-subject, same-predicate pairings; one for assets and
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   913
	one for liabilities.  It would be helpful to be able to associate these multi-valued sets using a URL
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   914
	for them to assist with managing these, this is done by associating containers with them as 
484
3b857f66ed6d Updated containerResource on examples 6 and 7, section 6.1, in resp to public-ldp email
John Arwe
parents: 483
diff changeset
   915
	illustrated in the set of related examples (one example per HTTP resource) below:
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   916
	</p>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   917
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   918
<pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of LDPR
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   919
#   http://example.org/netWorth/nw1
309
ea3cce737943 Get examples to validate, per http://lists.w3.org/Archives/Public/public-ldp-wg/2013Aug/0002.html and messages that came up once those noted were fixed.
John Arwe
parents: 274
diff changeset
   920
<!-- @base is here only so it's easier to paste into validators for checking -->
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   921
# @base &lt;http://example.org/netWorth/nw1/&gt;.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   922
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
231
38d1a7faf1c4 Various editorial comments from PA
sspeiche
parents: 230
diff changeset
   923
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   924
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   925
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   926
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   927
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   928
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   929
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   930
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   931
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   932
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   933
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   934
      &lt;liabilityContainer/l3&gt;.
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   935
</pre>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   936
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   937
<pre class="example" id="ldpc-ex-membership-subj"># The following is an elaborated representation of LDPC
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   938
#   http://example.org/netWorth/nw1/assetContainer/
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   939
<!-- @base is here only so it's easier to paste into validators for checking -->
484
3b857f66ed6d Updated containerResource on examples 6 and 7, section 6.1, in resp to public-ldp email
John Arwe
parents: 483
diff changeset
   940
# @base &lt;http://example.org/netWorth/nw1/assetContainer/&gt;.
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   941
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   942
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   943
@prefix o: &lt;http://example.org/ontology/&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   944
&lt;&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   945
   a ldp:DirectContainer;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   946
   dcterms:title "The assets of JohnZSmith";
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
   947
   ldp:membershipResource &lt;http://example.org/netWorth/nw1/&gt;;
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
   948
   ldp:hasMemberRelation o:asset;
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   949
   ldp:contains &lt;a1&gt;, &lt;a2&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   950
</pre>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   951
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   952
<pre class="example" id="ldpc-ex-membership-full-liabcont"># The following is an elaborated representation of LDPC
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   953
#   http://example.org/netWorth/nw1/liabilityContainer/
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   954
<!-- @base is here only so it's easier to paste into validators for checking -->
484
3b857f66ed6d Updated containerResource on examples 6 and 7, section 6.1, in resp to public-ldp email
John Arwe
parents: 483
diff changeset
   955
# @base &lt;http://example.org/netWorth/nw1/liabilityContainer/&gt;.
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   956
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   957
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   958
@prefix o: &lt;http://example.org/ontology/&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   959
&lt;&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   960
   a ldp:DirectContainer;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   961
   dcterms:title "The liabilities of JohnZSmith";
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
   962
   ldp:membershipResource &lt;http://example.org/netWorth/nw1/&gt;;
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
   963
   ldp:hasMemberRelation o:liability;
460
1f6e06fd7272 typo: added missing brackets in example 7
Arnaud Le Hors <lehors@us.ibm.com>
parents: 459
diff changeset
   964
   ldp:contains &lt;l1&gt;, &lt;l2&gt;, &lt;l3&gt;.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   965
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   966
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   967
	<p>The essential structure of the container is
484
3b857f66ed6d Updated containerResource on examples 6 and 7, section 6.1, in resp to public-ldp email
John Arwe
parents: 483
diff changeset
   968
	the same, but in this example, the consistent membership value 
3b857f66ed6d Updated containerResource on examples 6 and 7, section 6.1, in resp to public-ldp email
John Arwe
parents: 483
diff changeset
   969
	(<a title="Membership triples">membership-constant-URI</a>, still in the subject position) is not the
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   970
	container itself – it is a separate net worth resource. The
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   971
	membership predicates are <code>o:asset</code> and <code>o:liability</code> – predicates
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   972
	from the domain model. A POST of an asset representation to the asset container will create a new
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   973
	asset and add it to the list of	members by adding a new membership triple
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   974
	to the resource and containment triple to the container. You might wonder why
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   975
	<code>http://example.org/netWorth/nw1</code> isn't made a container itself and POST
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   976
	the new asset directly there. That would be a fine design if <code>http://example.org/netWorth/nw1</code>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   977
	had only assets, but if it has separate predicates for assets and liabilities,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   978
	that design will not work because it is unspecified to which predicate the POST
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   979
	should add a membership triple. Having separate <code>http://example.org/netWorth/nw1/assetContainer/</code> 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   980
	and <code>http://example.org/netWorth/nw1/liabilityContainer/</code> container
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   981
	resources allows both assets and liabilities to be created.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   982
	</p>
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   983
	<p>This type of container is referred to as an <a title="Linked Data Platform Direct Container">LDP Direct Container</a>.  
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   984
	<a title="Linked Data Platform Direct Container">LDP Direct Container</a> adds the concept of <a title="Membership">membership</a>
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   985
	and flexibilty on how to specify the <a title="Membership triples">membership triples</a>.
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   986
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   987
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   988
	<p>As seen in the <a href="#ldpc-ex-membership-subj"><code>assetContainer/</code> example</a>, 
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   989
	clients cannot correctly guess
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   990
	at the membership triples, so the example includes this information in
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   991
	triples whose subject is the LDPC resource itself.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   992
	</p>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
   993
	
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   994
	<p>Alternatively, servers may provide the net worth resource and supporting containers in a single response
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   995
	representations.  When doing this, a preference would be for RDF formats that support multiple named graphs, one
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   996
	named graph for the net worth resource and then two others for asset and liability containers.  This allows for
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
   997
	the membership triples to be represented with the named graph for the net worth resource, while the containment triples
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   998
	would be represented within the liability and asset containers [[rdf11-concepts]].  Generally, the membership triples belong
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   999
	to the representation of an LDP-RS and the containment triples belong to the representation of the LDPC.
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1000
	</p>
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1001
	
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1002
	<p>Additionally, we could extend our net worth example to include a container for
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1003
	advisors (people) that have managed the assets and liabilities.  We have decided
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1004
	to identify these advisors with URLs that contain a fragment (hash) to represent
462
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1005
	these real-world resources, not the documents that describe them.</p>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1006
	
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1007
<pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1008
#   http://example.org/netWorth/nw1
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1009
# Adding o:advisor but eaving off o:asset and o:liability for brevity.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1010
<!-- @base is here only so it's easier to paste into validators for checking -->
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1011
# @base &lt;http://example.org/netWorth/nw1/&gt;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1012
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1013
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1014
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1015
@prefix o: &lt;http://example.org/ontology/&gt;.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1016
&lt;&gt;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1017
   a o:NetWorth;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1018
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1019
   o:advisor
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1020
   	 &lt;advisorContainer/bob#me&gt;,
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1021
   	 &lt;advisorContainer/marsha#me&gt;.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1022
   	 
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1023
&lt;advisorContainer/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1024
   a ldp:IndirectContainer;
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1025
   dcterms:title "The asset advisors of JohnZSmith";
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1026
   ldp:membershipResource &lt;&gt;;
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1027
   ldp:hasMemberRelation o:advisor;
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1028
   ldp:insertedContentRelation foaf:primaryTopic;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1029
   ldp:contains
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1030
   	 &lt;advisorContainer/bob&gt;,
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1031
   	 &lt;advisorContainer/marsha&gt;.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1032
</pre>	
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1033
	
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1034
	<p>To handle this type of indirection, the triple with predicate of <code>ldp:insertedContentRelation</code> and object of 
468
f960af656afb Simplified some of the container examples
sspeiche
parents: 467
diff changeset
  1035
	<code>foaf:primaryTopic</code> informs clients that when POSTing to this container, they need to include a triple of the
462
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1036
	form <code>(&lt;&gt;, foaf:primaryTopic, topic-URI)</code> to inform the server which URI to use 
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1037
	(<code>topic-URI</code>) in the new membership triple.</p>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1038
	
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1039
	<p>This type of container is also referred to as a <a title="Linked Data Platform Indirect Container">LDP Indirect Container</a>. 
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1040
	It is similar to a an <a title="Linked Data Platform Direct Container">LDP Direct Container</a> 
468
f960af656afb Simplified some of the container examples
sspeiche
parents: 467
diff changeset
  1041
	but it provides an indirection to add (via a create request) as member any resource, 
462
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1042
	such as a URI representing a real-world object,
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1043
	that is different from the document that is created.</p>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1044
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
  1045
	<p><a href="#fig-ldpc-types"></a> illustrates the 3 types: Container, Basic Container and Direct Container, along
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
  1046
	with their class relationship to types of LDPRs.</p>
450
e8d84dbc86dc ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 449
diff changeset
  1047
	
e8d84dbc86dc ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 449
diff changeset
  1048
	 <figure id="fig-ldpc-types">
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1049
        <img src="images/ldpc-hierarchy.png" alt="Types of Linked Data Platform Containers" />
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
  1050
        <figcaption>Class relationship of types of Linked Data Platform Containers</figcaption>
450
e8d84dbc86dc ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 449
diff changeset
  1051
    </figure>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1052
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1053
	<p>The following table illustrates some differences between <a title="membership">membership</a> and 
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1054
	<a title="containment">containment</a> triples.  For details on the normative behavior, see appropriate sections
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1055
	below.
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1056
	</p>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1057
	<table border="1" id="ldpc-mbrcntdiff">
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1058
		<thead><tr><th rowspan="2">Completed Request</th><th colspan="2">Effects</th></tr>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
  1059
		       <tr class="oddrow"><th>Membership</th><th>Containment</th></tr></thead>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1060
		<tr><td>LDPR created in LDP-BC</td><td>New triple: (LDPC, ldp:contains, LDPR)</td><td>Same</td></tr>
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1061
		<tr><td>LDPR created in LDP-DC</td><td>New triple links LDP-RS to created LDPR. LDP-RS URI may be same as LDP-DC</td>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1062
			<td>New triple: (LDPC, ldp:contains, LDPR)</td></tr>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1063
		<tr><td>LDPR created in LDP-IC</td><td>New triple links LDP-RS to content indicated URI</td>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1064
			<td>New triple: (LDPC, ldp:contains, LDPR)</td></tr>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1065
		<tr><td>LDPR is deleted</td><td>Membership triple may be removed</td><td>(LDPC, ldp:contains, LDPR) triple is removed
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1066
			</td></tr>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1067
		<tr><td>LDPC is deleted</td><td>Triples and member resources may be removed</td><td>Triples of form 
476
330d6aac4572 Updated membership info table
sspeiche
parents: 475
diff changeset
  1068
			(LDPC, ldp:contains, LDPR) and contained LDPRs may be removed</td></tr>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1069
	</table>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1070
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1071
<section id="ldpc-get_empty-container_props"><h2 class="normal">Retrieving Only Empty-Container Triples
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1072
	</h2><!-- Was 5.1.1 / #ldpc-get_empty-container_props -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1073
	<p>The representation of a container
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1074
		that has many members will be large. There are several important
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1075
		cases where clients need to access only the subset of the container's properties 
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1076
		that are unrelated to member resources and unrelated to contained documents, for
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1077
		example to determine the membership triple pattern and membership predicate of a 
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1078
		LDP-DC.  LDP calls these <a title="Empty-container triples">empty-container triples</a>,
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1079
		because they are what remains when the container has zero members and zero contained resources.
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1080
		Since retrieving the whole container representation to
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1081
		get this information may be onerous for clients and cause unnecessary
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1082
		overhead on servers, we define a way to retrieve only
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1083
		these property values (and more generally, a way to retrieve only the 
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1084
		subset of properties used to address other major clusters of use cases).
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1085
		LDP adds parameters to the HTTP <code>Prefer</code> header's 
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1086
		<code>return=representation</code> preference for this 
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1087
		(see <a href="#prefer-parameters" class="sectionRef"></a> for details).
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1088
	</p>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1089
	<p>The example listed here only shows
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1090
		a simple case where few empty-container triples are
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1091
		retrieved. In real world situations more complex cases are likely, such as those that add other predicates to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1092
		containers, for example providing validation information and
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
  1093
		associating SPARQL endpoints. [[sparql11-query]]</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1094
	<p>
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1095
		Here is an example requesting the empty-container triples of a
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1096
		container identified by the URL <code>http://example.org/container1/</code>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1097
	</p>
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1098
<p id="ldpc-ex-empty-container">Request:</p>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1099
<pre class="example">GET /container1 HTTP/1.1
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1100
Host: example.org
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1101
Accept: text/turtle; charset=UTF-8
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1102
Prefer: return=representation; include="http://www.w3.org/ns/ldp#PreferEmptyContainer"
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1103
</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1104
<p>Response:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1105
<pre class="example">HTTP/1.1 200 OK
13
eea17080fdf2 Minor typo fix and some notes
sspeiche
parents: 12
diff changeset
  1106
Content-Type: text/turtle; charset=UTF-8
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1107
ETag: "_87e52ce291112"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1108
Content-Length: 325
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
  1109
Link: &lt;http://www.w3.org/ns/ldp#Container&gt;; rel="type"
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1110
Preference-Applied: return=representation 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1111
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1112
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1113
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1114
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
  1115
&lt;http://example.org/container1/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1116
   a ldp:DirectContainer;
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1117
   dcterms:title "A Linked Data Platform Container of Acme Resources";
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1118
   ldp:membershipResource &lt;http://example.org/container1/&gt;;
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1119
   ldp:hasMemberRelation ldp:member;
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1120
   ldp:insertedContentRelation ldp:MemberSubject;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1121
   dcterms:publisher &lt;http://acme.com/&gt;.</pre>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1122
   
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1123
	<p>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1124
		LDP recommends using PATCH to update these properties, if necessary.  It provides no facility
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1125
		for updating them via PUT without replacing the entire container's state.
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1126
	</p>
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
  1127
	</section><!-- ldpc-get_empty-container_props -->
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1128
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1129
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1130
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1131
<section id="ldpc-container">
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1132
<h2>Container</h2>
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1133
<p>The following section contains normative clauses for <a title="">Linked Data Platform Container</a>.</p>
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1134
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1135
<section id="ldpc-general">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1136
<h2>General</h2>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
  1137
	<p>The Linked Data Platform does not define how clients
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
  1138
		discover <dfn><abbr title="Linked Data Platform Containers">LDPCs</abbr></dfn>.</p>
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
  1139
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1140
	<section id="ldpc-isldpr"><h2 class="normal">Each <a title="">Linked Data Platform Container</a> MUST also be 
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1141
		a conforming <a title="">Linked Data Platform RDF Source</a>. <a title="">LDP client</a>s MAY infer the following triple:
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1142
	whose subject is <code>ldp:Container</code>, 
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1143
	whose predicate is <code>rdfs:subClassOf</code>, 
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1144
	and whose object is <code>ldp:RDFSource</code>, 
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1145
	but there is no requirement to materialize this triple in the LDPC representation.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1146
	</h2></section><!-- Was 5.2.1 / #ldpc-5_2_1 -->
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1147
		
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1148
	<section id="ldpc-typecontainer"><h2 class="normal">The representation of an LDPC MAY have an <code>rdf:type</code>
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1149
		of only one of <code>ldp:Container</code> for <a title="">Linked Data Platform Container</a>.
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
  1150
		Non-normative note: <a href="#ldp-rdfconcepts-extra-triples-types">LDPCs
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1151
		might have additional types</a>, like any <a title="Linked Data Platform RDF Source">LDP-RS</a>.
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1152
	</h2></section><!-- Was 5.2.7 / #ldpc-5_2_7 -->
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1153
	
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1154
	<section id="ldpc-nordfcontainertypes"><h2 class="normal">LDPC representations SHOULD NOT use RDF container types <code>rdf:Bag</code>,
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1155
		<code>rdf:Seq</code> or <code>rdf:List</code>.
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1156
	</h2></section><!-- Was 5.2.8 / #ldpc-5_2_8 -->
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1157
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1158
	<section id="ldpc-linktypehdr"><h2 class="normal"><a title="LDP server">LDP servers</a>
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1159
		exposing LDPCs
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1160
		MUST advertise their LDP support by exposing a HTTP <code>Link</code> header
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1161
		with a target URI of <code>http://www.w3.org/ns/ldp#Container</code>, and
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1162
		a link relation type of <code>type</code> (that is, <code>rel='type'</code>)
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1163
		in all responses to requests made 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1164
		to the LDPC's HTTP <code>Request-URI</code>. 
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1165
		<a title="LDP server">LDP servers</a> MAY provide additional HTTP <code>Link: rel='type'</code> headers
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1166
		to advertise their support for <a href="#ldpc-typecontainer">specific LDPC types</a>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1167
		The <a href="#ldpr-gen_linktypehdr">notes on the corresponding LDPR constraint</a> apply
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1168
		equally to LDPCs.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1169
	</h2></section><!-- Was 5.2.11 / #ldpc-5_2_11 -->
176
60b0a09af2c4 Just a sample for respec bug, will remove
sspeiche
parents: 175
diff changeset
  1170
	
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1171
	<section id="ldpc-prefer"><h2 class="normal"><a title="LDP server">LDP servers</a>
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1172
		SHOULD respect all of a client's LDP-defined hints, for example 
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1173
		<a href="#prefer-parameters">which subsets of LDP-defined state</a>
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1174
		the client is interested in processing,
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1175
		to influence the set of triples returned in representations of an LDPC, 
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
  1176
		particularly for large LDPCs.  See also [[LDP-PAGING]].
470
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1177
	</h2></section>
eb040e50a66f ACTION-126: Add Prefer header, adjusted for TallTed's results
John Arwe
parents: 469
diff changeset
  1178
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1179
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1180
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1181
<section id="ldpc-HTTP_GET">	
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1182
<h2>HTTP GET</h2>
502
ee14a8abdb2e Removed 6.3.1 LDPC GET requirement and put in general clause
sspeiche
parents: 501
diff changeset
  1183
	<p>
ee14a8abdb2e Removed 6.3.1 LDPC GET requirement and put in general clause
sspeiche
parents: 501
diff changeset
  1184
		Per <a href="#ldpr-HTTP_GET" class="sectionRef"></a> the HTTP GET method is required and 
ee14a8abdb2e Removed 6.3.1 LDPC GET requirement and put in general clause
sspeiche
parents: 501
diff changeset
  1185
		additional requirements can be found in <a href="#ldpc-general" class="sectionRef"></a>.
ee14a8abdb2e Removed 6.3.1 LDPC GET requirement and put in general clause
sspeiche
parents: 501
diff changeset
  1186
	</p>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1187
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1188
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1189
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1190
<section id="ldpc-HTTP_POST">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1191
<h2>HTTP POST</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1192
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
  1193
		Per [[HTTP11]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1194
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1195
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1196
		this specification imposes the following new requirements for LDPCs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1197
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1198
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1199
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
  1200
		Any server-imposed constraints on creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1201
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
  1202
	</p>
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
  1203
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1204
	<section id="ldpc-post-created201"><h2 class="normal">LDPC clients SHOULD create member resources by submitting a representation as
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
  1205
		the entity body of the HTTP <code>POST</code> to a known LDPC. If the resource was created successfully, <a title="LDP server">LDP servers</a> MUST
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1206
		respond with status code 201 (Created) and the <code>Location</code>
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1207
		header set to the new resource’s URL. Clients shall not expect any representation in the response
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1208
		entity body on a 201 (Created) response.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1209
	</h2></section><!-- Was 5.4.1 / #ldpc-5_4_1 -->
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1210
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1211
	<section id="ldpc-post-createdmbr-contains"><h2 class="normal">
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1212
		When a successful HTTP <code>POST</code> request to an LDPC results in the creation of an LDPR, a 
508
f67d8f5f458b Combined rules for container triples
sspeiche
parents: 506
diff changeset
  1213
		<a title="Containment triple">containmemt triple</a> MUST be added to the state of LDPC.  The
f67d8f5f458b Combined rules for container triples
sspeiche
parents: 506
diff changeset
  1214
		<a title="Containment triple">containmemt triple</a> whose subject is the LDPC URI, 
f67d8f5f458b Combined rules for container triples
sspeiche
parents: 506
diff changeset
  1215
		whose predicate is <code>ldp:contains</code> and whose object is the URI for the newly created document (LDPR).
f67d8f5f458b Combined rules for container triples
sspeiche
parents: 506
diff changeset
  1216
		The newly created LDPR appears as a contained resource of the LDPC until the
f67d8f5f458b Combined rules for container triples
sspeiche
parents: 506
diff changeset
  1217
		newly created document is deleted or removed by other methods. Other triples may be added as well.
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1218
	</h2></section>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1219
	
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
  1220
	<section id="ldpc-post-createbins"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY accept an HTTP <code>POST</code> of non-RDF representations 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1221
	<a title="Linked Data Platform Non-RDF Source">(LDP-NRs)</a> for
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1222
		creation of any kind of resource, for example binary resources.  See <a href="#ldpc-post-acceptposthdr">the Accept-Post section</a> for 
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1223
		details on how clients can discover whether an LDPC supports this behavior.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1224
	</h2></section><!-- Was 5.4.3 / #ldpc-5_4_3 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1225
	
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
  1226
	<section id="ldpc-post-createrdf"><h2 class="normal"><a title="LDP server">LDP servers</a> that successfully create a resource from a
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1227
		RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
  1228
		can be thought of as an RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a> [[!rdf11-concepts]].
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1229
		If any model cannot be honored, the server MUST fail the request.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1230
	</h2><!-- Was 5.4.4 / #ldpc-5_4_4 -->
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1231
	<ul>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1232
	<li>If the request header <a href="#ldpr-gen-linktypehdr">specifies an LDPR interaction model</a>, then the server MUST create an LDPR.</li>
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1233
	<li>If the request header <a href="#ldpc-linktypehdr">specifies an LDPC interaction model</a>, then the server MUST create an LDPC.
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1234
	</li>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1235
	<li>This specification does not constrain the server's behavior in other cases.</li>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1236
	<p>Note: A consequence of this is that LDPCs can be used to create LDPCs, if the server supports doing so.</p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
  1237
	</ul>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1238
	</section>
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1239
	
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1240
	<section id="ldpc-post-turtle"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST accept a request entity body with a request header
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
  1241
	    of <code>Content-Type</code> with value of <code>text/turtle</code> [[!turtle]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1242
	</h2></section><!-- Was 5.4.5 / #ldpc-5_4_5 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1243
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1244
	<section id="ldpc-post-contenttype"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD use the <code>Content-Type</code> request header 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1245
		to determine the representation format when the request has an entity body. 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1246
	</h2></section><!-- Was 5.4.6 / #ldpc-5_4_6 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1247
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1248
	<section id="ldpc-post-rdfnullrel"><h2 class="normal">In RDF representations, <a title="LDP server">LDP servers</a> MUST interpret the null relative
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1249
		URI for the subject of triples in the LDPR representation in the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1250
		request entity body as referring to the entity in the request body.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1251
		Commonly, that entity is the model for the “to be created” LDPR, so
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1252
		triples whose subject is the null relative URI will usually result in
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1253
		triples in the created resource whose subject is the created
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1254
		resource.  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1255
	</h2></section><!-- Was 5.4.7 / #ldpc-5_4_7 -->	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1256
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1257
	<section id="ldpc-post-serverassignuri"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD assign the URI for the resource to be
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1258
		created using server application specific rules in the absence of a <a href="#ldpc-post-slug">client hint</a>.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1259
	</h2></section><!-- Was 5.4.8 / #ldpc-5_4_8 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1260
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1261
	<section id="ldpc-post-mincontraints"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD allow clients to create new resources without
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1262
		requiring detailed knowledge of application-specific constraints.
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
  1263
		This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
  1264
		expose these application-specific constraints as described in <a href="#ldpr-general" class="sectionRef"></a>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1265
	</h2></section><!-- Was 5.4.9 / #ldpc-5_4_9 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1266
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1267
	<section id="ldpc-post-slug"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY allow clients to suggest the URI for a resource
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1268
		created through <code>POST</code>, using the HTTP <code>Slug</code> header as defined in [[!RFC5023]].  LDP adds
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1269
		no new requirements to this usage, so its presence functions as a client hint to the server 
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1270
		providing a desired string to be incorporated into the server's final choice of resource URI.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1271
	</h2></section><!-- Was 5.4.10 / #ldpc-5_4_10 -->
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1272
	
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1273
	<section id="ldpc-post-dontreuseuris"><h2 class="normal"><a title="LDP server">LDP servers</a> that allow member creation via <code>POST</code> 
416
166375df8bf8 Various editorial and validation fixes
sspeiche
parents: 415
diff changeset
  1274
		SHOULD NOT re-use URIs.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1275
	</h2></section><!-- Was 5.4.11 / #ldpc-5_4_11 -->
170
4bba75f6d0af ISSUE-15 Inserted 5.4.12, 5.6.4, 5.7.2 to describe link-relation meta usage
sspeiche
parents: 169
diff changeset
  1276
	
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1277
	<section id="ldpc-post-createbinlinkmetahdr"><h2 class="normal">Upon successful creation of a  
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1278
	<a title="Linked Data Platform Non-RDF Source">LDP-NR</a> (HTTP status code of 
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
  1279
	201-Created and URI indicated by <code>Location</code> response header), <a title="LDP server">LDP servers</a> MAY create an associated 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1280
	<a title="Linked Data Platform RDF Source">LDP-RS</a>
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1281
	to contain data about the newly created LDP-NR.  If an LDPC server creates this associated <a title="Linked Data Platform RDF Source">LDP-RS</a> it MUST indicate
505
7c9fc6642481 Minor editorial tweaks
sspeiche
parents: 504
diff changeset
  1282
	its location on the HTTP response using the HTTP <code>Link</code> response header with link relation <code>describedby</code>
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
  1283
	and <code>href</code> to be the URI of the associated LDP-RS resource [[!RFC5988]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1284
	</h2></section><!-- Was 5.4.12 / #ldpc-5_4_12 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1285
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1286
	<section id="ldpc-post-acceptposthdr"><h2 class="normal"><a title="LDP server">LDP servers</a> that support <code>POST</code> MUST
167
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1287
		include an <a href="#header-accept-post"><code>Accept-Post</code> response header</a> on HTTP <code>OPTIONS</code>
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1288
		responses, listing post document media type(s) supported by the server.
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1289
		LDP only specifies the use of <code>POST</code> for the purpose of creating new resources, but a server
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1290
		can accept <code>POST</code> requests with other semantics.  
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1291
		While "POST to create" is a common interaction pattern, LDP clients are not guaranteed, even when 
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1292
		making requests to an LDP server, that every successful <code>POST</code> request will result in the 
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1293
		creation of a new resource; they must rely on out of band information for knowledge of which <code>POST</code> requests,
231
38d1a7faf1c4 Various editorial comments from PA
sspeiche
parents: 230
diff changeset
  1294
		if any, will have the "create new resource" semantics.
167
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1295
		This requirement on LDP servers is intentionally stronger than the one levied in the
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1296
		<a href="#header-accept-post">header registration</a>; it is unrealistic to expect all existing resources
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1297
		that support <code>POST</code> to suddenly return a new header or for all new specifications constraining
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1298
		<code>POST</code> to be aware of its existence and require it, but it is a reasonable requirement for new
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
  1299
		specifications such as LDP.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1300
	</h2></section><!-- Was 5.4.13 / #ldpc-5_4_13 -->
169
9bff8b24692d issue-79 ldp:contains
John Arwe
parents: 167
diff changeset
  1301
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1302
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1303
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1304
<section id="ldpc-HTTP_PUT">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1305
<h2>HTTP PUT</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1306
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
  1307
		Per [[HTTP11]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1308
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1309
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1310
		this specification imposes the following new requirements for LDPCs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1311
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1312
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1313
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
  1314
		Any server-imposed constraints on creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1315
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
  1316
	</p>
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
  1317
		
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1318
	<section id="ldpc-put-mbrprops"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD NOT allow HTTP <code>PUT</code> to update an LDPC’s <a>containment triples</a>; 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1319
		if the server receives such a request, it SHOULD respond with a 409
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1320
		(Conflict) status code.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1321
	</h2></section><!-- Was 5.5.1 / #ldpc-5_5_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1322
	
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1323
	<section id="ldpc-put-create"><h2 class="normal"><a title="LDP server">LDP servers</a> that allow LDPR creation via <code>PUT</code> 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1324
		SHOULD NOT re-use URIs.  For RDF representations (LDP-RSs),the created resource
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
  1325
		can be thought of as a RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a> [[!rdf11-concepts]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1326
	</h2></section><!-- Was 5.5.4 / #ldpc-5_5_4 -->
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1327
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1328
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1329
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1330
<section id="ldpc-HTTP_DELETE">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1331
<h2>HTTP DELETE</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1332
	<p>
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
  1333
		Per [[HTTP11]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1334
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1335
		When an LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1336
		this specification imposes the following new requirements for LDPCs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
  1337
	</p>
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
  1338
		
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1339
	<section id="ldpc-del-contremovesconttriple"><h2 class="normal">
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1340
		When an LDPR identified by the object of a <a title="containment triples">containment triple</a> is deleted, the LDPC server MUST also remove 
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1341
		the LDPR from the containing LDPC by removing the corresponding containment triple.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1342
	</h2>
388
63e9c5b73aa2 Resolve ACTION-107 Update spec to reflect 10/07 resolution on 5.6.2 LDPC deletion
John Arwe
parents: 387
diff changeset
  1343
	<blockquote>
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
  1344
		Non-normative note: The <a>LDP server</a> might perform additional actions, 
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
  1345
		as described in the <a href="#ldp-http-method-side-effects">normative references</a> like [[HTTP11]]. 
169
9bff8b24692d issue-79 ldp:contains
John Arwe
parents: 167
diff changeset
  1346
		For example, the server could perform additional cleanup tasks for resources it knows are no longer referenced or have not
104
78fd14175304 ISSUE-59 5.3.2 limited rdf:type of ldp:Container, removed 5.6.3, reworded 5.6.2, updated 1.
sspeiche
parents: 102
diff changeset
  1347
		been accessed for some period of time.
388
63e9c5b73aa2 Resolve ACTION-107 Update spec to reflect 10/07 resolution on 5.6.2 LDPC deletion
John Arwe
parents: 387
diff changeset
  1348
	</blockquote>
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
  1349
	</section><!-- Was 5.6.1 / #ldpc-5_6_1 -->
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1350
	
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1351
	<section id="ldpc-del-contremovescontres"><h2 class="normal">
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
  1352
	When an LDPR identified by the object of a <a title="containment triples">containment triple</a> is deleted, and the LDPC server 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
  1353
	created an associated LDP-RS (see the <a href="#ldpc-post-createbinlinkmetahdr">LDPC POST section</a>), the LDPC server MUST also remove the associated LDP-RS it created.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
  1354
	</h2></section><!-- Was 5.6.4 / #ldpc-5_6_4 -->
170
4bba75f6d0af ISSUE-15 Inserted 5.4.12, 5.6.4, 5.7.2 to describe link-relation meta usage
sspeiche
parents: 169
diff changeset
  1355
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1356
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1357
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1358
<section id="ldpc-HTTP_HEAD">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
  1359
<h2>HTTP HEAD</h2>
395
0408e1e5bbf8 ACTION-105: Update spec to reflect 9/30 resolution moving Paging links to HTTP headers (partial: does not include sort criteria changes yet)
John Arwe
parents: 393
diff changeset
  1360
	<p>Note that certain LDP mechanisms, such as <a href="#ldpr-Paging">paging</a>, 
0408e1e5bbf8 ACTION-105: Update spec to reflect 9/30 resolution moving Paging links to HTTP headers (partial: does not include sort criteria changes yet)
John Arwe
parents: 393
diff changeset
  1361
		rely on HTTP headers, and HTTP generally requires that
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
  1362
		<code>HEAD</code> responses include the same headers as <code>GET</code> responses. Also <a title="LDP server">LDP servers</a> must also include HTTP headers
237
6871b9ac5339 Fixed various link checker bugs
sspeiche
parents: 235
diff changeset
  1363
		on response to <code>OPTIONS</code>, see <a href="#ldpr-HTTP_OPTIONS" class="sectionRef"></a>.
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1364
		Thus, implementers supporting <code>HEAD</code> should also carefully read the
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
  1365
		<a href="#ldpc-HTTP_GET" class="sectionRef"></a> and <a href="#ldpc-HTTP_OPTIONS" class="sectionRef"></a>.</p>
171
bfb383feed88 Moved 5.7.* sections out of HEAD and into OPTIONS as 5.9.*, added 4.6.2
sspeiche
parents: 170
diff changeset
  1366
</section>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1367
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset