ldp.html
author John Arwe
Mon, 08 Jul 2013 08:27:49 -0400
changeset 149 3f5f825f1155
parent 134 917946ac571e
child 151 9c3a6a3efd89
permissions -rw-r--r--
issue-57 How can a client determine that it is in communication with an LDP server?
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     1
<!DOCTYPE html>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     2
<html>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     3
  <head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     4
    <title>Linked Data Platform 1.0</title>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     5
    <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
     6
    <!-- 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     7
      === NOTA BENE ===
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     8
      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
     9
      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
    10
     -->
39
f030c0ec5866 Changed to http[s] for script
sspeiche
parents: 36
diff changeset
    11
    <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
    12
    <script class='remove'>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    13
      var respecConfig = {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    14
          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    15
          specStatus:           "ED",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    16
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    17
          // 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
    18
          shortName:            "ldp",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    19
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    20
          // 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
    21
          // formal title, define it here
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    22
          // subtitle   :  "an excellent document",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    23
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    24
          // if you wish the publication date to be other than today, set this
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    25
          // publishDate:  "2009-08-06",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    26
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    27
          // 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
    28
          // the start date here:
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    29
          // copyrightStart: "2005"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    30
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    31
          // 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
    32
          // and its maturity status
83
9dbd17cd4f01 General prep for 3rd draft, cleanup and a little restructure
sspeiche
parents: 82
diff changeset
    33
          previousPublishDate:  "2013-03-07",
58
36b2595db2ff Fixed up previous publication links
sspeiche
parents: 43
diff changeset
    34
          previousMaturity:  	"FPWD",
83
9dbd17cd4f01 General prep for 3rd draft, cleanup and a little restructure
sspeiche
parents: 82
diff changeset
    35
          previousURI: 			"http://www.w3.org/TR/2013/WD-ldp-20130307/",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    36
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    37
          // 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
    38
          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
    39
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    40
          // if this is a LCWD, uncomment and set the end of its review period
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    41
          // lcEnd: "2009-08-05",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    42
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    43
          // 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
    44
          // 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
    45
          //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
    46
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    47
          // 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
    48
          // only "name" is required
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    49
          editors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    50
              { 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
    51
                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
    52
              { 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
    53
                company: "IBM Corporation", companyURL: "http://ibm.com/" },
99
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    54
			  {name: "Ashok Malhotra", url: "ashok.malhotra@oracle.com",
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    55
			    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
    56
          ],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    57
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    58
          // 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
    59
          // 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
    60
          // 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
    61
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    62
          //authors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    63
          //    { 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
    64
          //      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
    65
          //],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    66
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    67
          // name of the WG
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    68
          wg:           "Linked Data Platform Working Group",
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
          // URI of the public WG page
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    71
          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
    72
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    73
          // name (without the @w3c.org) of the public mailing to which comments are due
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    74
          wgPublicList: "public-ldp-wg",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    75
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    76
          // 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
    77
          // !!!! IMPORTANT !!!!
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    78
          // 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
    79
          // 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
    80
          // Team Contact.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    81
          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
    82
          doRDFa: "1.1",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    83
      };
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    84
    </script>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    85
    <style type="text/css">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    86
    	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
    87
    	div.ldp-issue-open {
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    88
	    	border-color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    89
			background: #FBE9E9;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    90
			padding: 0.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    91
			margin: 1em 0;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    92
			position: relative;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    93
			clear: both;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    94
			border-left-width: .5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    95
			border-left-style: solid;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    96
    	}
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
    97
    	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
    98
	    	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
    99
			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
   100
			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
   101
			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
   102
			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
   103
			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
   104
			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
   105
			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
   106
    	}
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
   107
    	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
   108
	    	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
   109
			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
   110
			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
   111
			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
   112
			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
   113
			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
   114
			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
   115
			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
   116
    	}
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   117
    	div.ldp-issue-title {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   118
    	    color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   119
    	    padding-right: 1em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   120
            min-width: 7.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   121
    	}
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   122
    </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
   123
    <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
   124
    	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
   125
    	    font-weight:bold;
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   126
			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
   127
    	}
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
   128
		 /* 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
   129
		    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
   130
			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
   131
		*/
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
   132
    </style>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   133
  </head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   134
<body>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   135
<section id='abstract'>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   136
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
   137
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
   138
data model.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   139
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   140
 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   141
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   142
<h1 id="intro">Introduction</h1>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   143
	<p>This document describes the use
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   144
	of HTTP for accessing, updating, creating and deleting resources from
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   145
	servers that expose their resources as Linked Data.  It provides some
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   146
	new rules as well as clarifications and extensions of the four rules
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
   147
	of Linked Data [[LINKED-DATA]]:</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   148
	<p>1. Use URIs as names for things</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   149
	<p>2. Use HTTP URIs so that people can look up those
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   150
		names</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   151
	<p>3. When someone looks up a URI, provide useful
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
   152
		information, using the standards (RDF*, <abbr title="SPARQL Protocol and RDF Query Language">SPARQL</abbr>)</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   153
	<p>4. Include links to other URIs. so that they can
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   154
		discover more things</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   155
	<p>The best practices and
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   156
		anti-patterns covered in this document are:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   157
	<ul>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   158
		<li><p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   159
			<em>Resources</em> - a summary of the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   160
				HTTP and RDF standard techniques and best practices that you should
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   161
				use, and anti-patterns you should avoid, when constructing clients
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
   162
				and servers that read and write Linked Data.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   163
			</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   164
		</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   165
		<li><p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   166
			<em>Containers</em> - defines resources
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   167
				that allow new resources to be created using HTTP POST and existing
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   168
				resources to be found using HTTP GET. 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   169
			</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   170
		</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   171
	</ul>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   172
	<p>Additionally, it is the intention
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   173
	of this document to enable additional rules and layered groupings of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   174
	rules, such as additional specifications.  The scope is intentionally
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   175
	narrow to provide a set of key rules for reading and writing Linked
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
   176
	Data that most, if not all, other specifications will depend upon and
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   177
	implementations will support.</p>   
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   178
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   179
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   180
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   181
<h1 id="terms">Terminology</h1>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   182
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
   183
<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
   184
</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   185
  <dl class="glossary">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   186
	<dt>Link</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   187
	<dd>A relationship between two resources when one resource (representation) refers to the other resource by means
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
   188
		of a URI [[WEBARCH]].
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
   189
		<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   190
							
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   191
	<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
   192
	<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
   193
	
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
   194
	<dt><dfn>Linked Data Platform Resource</dfn> (<dfn><abbr title="Linked Data Platform Resource">LDPR</abbr></dfn>)</dt>
112
41e5e59c1e26 Tweaks to Terminology section for LDPR and LDPC
sspeiche
parents: 111
diff changeset
   195
	<dd>HTTP resource whose state is represented in RDF that conforms to the simple lifecycle
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
   196
		patterns and conventions in the <a href="#ldpr">LDPRs</a> section.<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   197
		
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
   198
	<dt><dfn>Linked Data Platform Container</dfn> (<dfn><abbr title="Linked Data Platform Container">LDPC</abbr></dfn>)</dt>
112
41e5e59c1e26 Tweaks to Terminology section for LDPR and LDPC
sspeiche
parents: 111
diff changeset
   199
	<dd>An LDPR representing a collection of same-subject, same-predicate triples which is uniquely identified by a URI
86
77b0b00ab6d3 Update LDPC glossary term based on Cody's feedback
sspeiche
parents: 85
diff changeset
   200
	that responds to client requests for creation, modification, and enumeration of its members.
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
   201
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   202
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   203
	<dt>Client</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
   204
	<dd>A program that establishes connections for the purpose of sending requests [[HTTP11]].<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   205
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   206
	<dt>Server</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   207
	<dd>An application
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   208
		program that accepts connections in order to service requests by
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
		sending back responses. 
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
		<p>Any given program may be capable of being
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   211
		both a client and a server; our use of these terms refers only to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   212
		the role being performed by the program for a particular
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   213
		connection, rather than to the program's capabilities in general.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   214
		Likewise, any server may act as an origin server, proxy, gateway,
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
   215
		or tunnel, switching behavior based on the nature of each request
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
   216
		[[HTTP11]]. </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
   217
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   218
	<dt><dfn>Membership triples</dfn></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
   219
	<dd>A set of triples in an LDPC's state that lists its members.
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
   220
		The membership triples of a container all have the same
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
   221
		subject and predicate, and the objects of the membership triples define
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
   222
		the container's members. 
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
   223
	<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
   224
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   225
	<dt><dfn>Membership subject</dfn></dt>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   226
	<dd>The subject of all a LDPC's <a title="Membership triples">membership triples</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
   227
	<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
   228
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   229
	<dt><dfn>Membership predicate</dfn></dt>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   230
	<dd>The predicate of all a LDPC's <a title="Membership triples">membership triples</a>.
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   231
	<p></p></dd>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   232
	
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   233
	<dt><dfn>Non-member resource</dfn></dt>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   234
	<dd>A resource associated with a LDPC by a server for the purpose of enabling clients to
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   235
	retrieve a subset of the LDPC's state, namely the subset that omits the LDPC's membership triples.
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   236
	In other words, the union of the non-member resource's state and the LDPC's membership triples
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   237
	exactly equals the LDPC's state.
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
   238
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   239
  </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
   240
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   241
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   242
<h2 id="conventions">Conventions Used in This Document</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   243
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   244
	<p>Sample resource representations are provided in <code>text/turtle</code>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   245
		format [[TURTLE]].</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   246
	<p>Commonly used namespace prefixes:</p>
93
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   247
	<pre style="word-wrap: break-word; white-space: pre-wrap;">	@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   248
	@prefix rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   249
	@prefix rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
42
2aeef316040a ISSUE-25 made changes for composition model
sspeiche
parents: 40
diff changeset
   250
	@prefix ldp:     &lt;http://www.w3.org/ns/ldp#&gt;.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   251
	@prefix xsd:     &lt;http://www.w3.org/2001/XMLSchema#&gt;.</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   252
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   253
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   254
    
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   255
<section id='conformance'>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   256
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   257
<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
   258
<ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   259
  <li>1. Introduction: <b>informative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   260
  <li>2. Terminology: <b>informative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   261
  <li>3. Conformance: <b>normative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   262
  <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
   263
  <li>5. Linked Data Platform Containers: <b>normative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   264
  <li>A. Acknowledgements: <b>normative</b></li> 
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   265
  <li>B. Change History: <b>normative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   266
  <li>D.1 Normative references: <b>normative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   267
  <li>D.2 Informative references: <b>informative</b></li>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   268
</ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   269
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   270
<p>A conforming <b>LDP Server</b> is an application program that processes HTTP 
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   271
requests and generates HTTP responses that conform to the rules defined in sections on <a href="#linked-data-platform-resources">LDPRs</a>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   272
and <a href="#linked-data-platform-containers">LDPCs</a></p>.
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   273
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   274
<p>A conforming <b>LDP Client</b> is an application program that generates HTTP 
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   275
requests and processes HTTP responses that conform to the rules defined in sections on <a href="#linked-data-platform-resources">LDPRs</a>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   276
and <a href="#linked-data-platform-containers">LDPCs</a></p>.
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   277
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   278
</section>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   279
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   280
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   281
<section>
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
   282
<h1 id="ldpr">Linked Data Platform Resources</h1>
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
   283
	<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
   284
		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
   285
		HTTP requests to access, modify, create or delete LDPRs are accepted
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   286
		and processed by LDPR servers. Most LDPRs are domain-specific resources
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   287
		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
   288
		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
   289
	<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
   290
		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
   291
		others address additional needs.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   292
	<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
   293
		questions such as:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   294
	<ul>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   295
		<li>What resource formats should be used?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   296
		<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
   297
		<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
   298
				such as type changes?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   299
		<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
   300
				creation?</li>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   301
		<li>How	do I GET the entries of a large resources broken up into pages?</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   302
	</ul>
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
   303
	<p>Additional informative guidance is available on the <a
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
   304
			href="http://www.w3.org/2012/ldp/wiki/Deployment_Guide"
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
   305
			class="external "
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
   306
			title="Deployment Guide"
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
   307
			rel="nofollow">working group's wiki</a> that addresses deployment
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
   308
		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
   309
	<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
   310
		<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
   311
		<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
   312
	</ul>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   313
	<p>The following sections define the rules and
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   314
		guidelines for use of LDPRs. This document also explains how to include
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   315
		information about each member in the resource’s own representation
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   316
		and how to paginate the resource representation if it gets too big.</p>
13
eea17080fdf2 Minor typo fix and some notes
sspeiche
parents: 12
diff changeset
   317
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   318
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   319
<h2 id="ldpr-general">General</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   320
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   321
	<div id="ldpr-4_1_1" class="rule">4.1.1 LDPR servers MUST at least be HTTP/1.1 conformant servers [[!HTTP11]].</div>
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
   322
	<div id="ldpr-4_1_2" class="rule">4.1.2 LDPR servers MUST provide an RDF representation for LDPRs. 
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
   323
	The HTTP Request-URI of the LDPR is typically the subject of most triples in the response.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   324
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   325
	<div id="ldpr-4_1_3" class="rule">4.1.3 LDPR servers MAY host a mixture of LDPRs and non-LDPRs. For example, it
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   326
		is common for LDPR servers to need to host binary or text resources
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   327
		that do not have useful RDF representations.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   328
	</div>
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   329
107
e35e3ea7be90 ISSUE-49 Moved section 4.1.4 out of spec to the deployment guide
sspeiche
parents: 105
diff changeset
   330
	<div id="ldpr-4_1_4" class="rule">4.1.4 LDPRs 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
   331
		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
   332
		covered by other conformance rules.
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
   333
	</div>
107
e35e3ea7be90 ISSUE-49 Moved section 4.1.4 out of spec to the deployment guide
sspeiche
parents: 105
diff changeset
   334
	<div id="ldpr-4_1_4_1" class="rule">4.1.4.1 LDPR predicates SHOULD use standard vocabularies such as Dublin Core
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   335
		[[!DC-TERMS]], RDF [[!RDF-PRIMER]] 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
   336
		possible.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   337
	</div>
107
e35e3ea7be90 ISSUE-49 Moved section 4.1.4 out of spec to the deployment guide
sspeiche
parents: 105
diff changeset
   338
	<div id="ldpr-4_1_5" class="rule">4.1.5 LDPRs MUST use the predicate <code>rdf:type</code> to
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   339
		represent the concept of type. The use of non-standard type
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   340
		predicates, as well as <code>dcterms:type</code>, is
64
555e00343af1 Resolve Issue-42 by removing 4.8 (moved to deployment guide on wiki)
jMithrandir@ADMINIB-6VK90F5.pok.ibm.com
parents: 61
diff changeset
   341
		discouraged, as it is not recommended
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
   342
		by the Dublin Core Metadata Initiative for use with RDF resources [[!DC-RDF]]. 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   343
	</div>
107
e35e3ea7be90 ISSUE-49 Moved section 4.1.4 out of spec to the deployment guide
sspeiche
parents: 105
diff changeset
   344
	<div id="ldpr-4_1_6" class="rule">4.1.6 LDPR representations SHOULD have at least one <code>rdf:type</code>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   345
		set explicitly.  This makes the representations much more useful to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   346
		client applications that don’t support inferencing.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   347
	</div>
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   348
	<div id="ldpr-4_1_7" class="rule">4.1.7 LDPRs MUST use at least one RDF triple to represent a link
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   349
		(relationship) to another resource. In other words, having the source
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   350
		resource’s URI as the subject and the target resource’s URI as the
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
   351
		object of the triple representing the link (relationship) is enough and
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   352
		does not require the creation of an intermediate link resource to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   353
		describe the relationship.
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   354
		
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
   355
	<div class="ldp-issue-closed">
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   356
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/44">ISSUE-44</a></div>
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   357
	4.1.9.(now 4.1.7) is obscure or too restrictive
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   358
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   359
	</div>
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   360
	<div id="ldpr-4_1_8" class="rule">4.1.8 LDPR servers MAY support standard representations beyond those
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
   361
		necessary to conform to this specification. These
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   362
		could be other RDF formats, like N3 or NTriples, but non-RDF formats
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   363
		like HTML [[!HTML401]] and JSON [[!RFC4627]] would be likely be common.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   364
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   365
		
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   366
	<div id="ldpr-4_1_9" class="rule">4.1.9 LDPRs MAY be created, updated and deleted using methods not defined in
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   367
		this document, for example through application-specific means, SPARQL
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
   368
		UPDATE, etc. [[!SPARQL-UPDATE]], as long as those methods do not conflict with this specification's 
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
   369
		normative requirements.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   370
	</div>
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   371
	<div id="ldpr-4_1_10" class="rule">4.1.10 LDPR server responses MUST use entity tags (either weak or strong 
60
97516e223fb8 ISSUE-10 - 4.1.12 to be MUST use entity tags (either weak or strong ones)
sspeiche
parents: 58
diff changeset
   372
ones) as response <code>ETag</code> header values.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   373
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   374
	
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
   375
	<div class="ldp-issue-closed">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   376
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/15">ISSUE-15</a></div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   377
	sharing binary resources and metadata
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   378
	</div>
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
   379
	<div class="ldp-issue-open">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   380
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/16">ISSUE-16</a></div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   381
	Redirection of non-information resources to LDPRs
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   382
	</div>
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
   383
	<div class="ldp-issue-pending">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   384
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/19">ISSUE-19</a></div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   385
	Adressing more error cases
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   386
	</div>	
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
   387
	<div class="ldp-issue-open">
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
   388
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/32">ISSUE-32</a></div>
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
   389
	How can clients discover that a resource is an LDPR or LDPC, and what features are supported?
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
   390
	</div>
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
   391
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   392
	<div id="ldpr-4_1_11" class="rule">4.1.11 LDPR
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
   393
		servers SHOULD enable simple creation and modification of LDPRs.
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
   394
		It is
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
   395
		common for LDPR servers to put restrictions on representations – for
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
   396
		example, the range of <code>rdf:type</code> predicates, datatypes of
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
   397
		the objects of predicates, and the number of occurrences of predicates in an LDPR, but
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
   398
		servers SHOULD minimize those restrictions.  Enforcement of
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
   399
		more complex constraints will greatly restrict the set of 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
   400
		that can modify resources. For some server applications, excessive
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
   401
		constraints on modification of resources may be required.
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
   402
	</div>
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   403
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   404
<div class="ldp-issue-pending">
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   405
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/57">ISSUE-57</a></div>
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   406
	How can a client determine that it is in communication with an LDP server?
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   407
	</div>
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   408
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   409
	<div id="ldpr-4_1_12" class="rule">4.1.12 LDPR servers
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   410
		MUST advertise their LDP support by exposing a HTTP <code>Link</code> header
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   411
		with a target URI of <code>http://www.w3.org/ns/ldp/Resource</code>, and
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   412
		a link relation type of <code>type</code> (that is, <code>rel="type"</code>)
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   413
		in all responses to requests made 
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   414
		to the resource's HTTP <code>request-URI</code>. This is notionally equivalent to the
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   415
		presence of a <code>< subject-URI, rdf:type , ldp:Resource ></code> triple in the resource.
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   416
		The HTTP <code>Link</code> header is the method by which servers assert their support for the LDP spec in a way
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   417
		that clients can introspect dynamically at run-time.  Conservative clients should note that 
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   418
		a server can host a mixture of LDPRs and other resources, and therefore there is no implication
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   419
		that LDP support advertised on one HTTP <code>request-URI</code> means that other 
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   420
		resources on the same server are also LDPRs.  Each HTTP <code>request-URI</code> needs to be 
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   421
		individually introspected by a conservative client, in the absence of outside information.
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   422
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   423
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   424
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   425
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   426
<h2 id="ldpr-HTTP_GET">HTTP GET</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   427
	<div id="ldpr-4_2_1" class="rule">4.2.1 LDPR servers MUST support the HTTP GET Method for LDPRs.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   428
	</div>
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
   429
	<div id="ldpr-4_2_2" class="rule">4.2.2 LDPR servers MUST provide a <code>text/turtle</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
   430
		representation of the requested LDPR [[!TURTLE]].
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   431
	</div>
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
   432
	<div id="ldpr-4_2_3" class="rule">4.2.3 LDPR servers MAY provide 
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
   433
		representations of the requested LDPR beyond those
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
   434
		necessary to conform to this specification, using standard HTTP content negotiation. 
14
1d0aec0889c3 Setting mercurial auto model var
sspeiche
parents: 13
diff changeset
   435
		If the client does not indicate a preference, <code>text/turtle</code> MUST be returned.
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   436
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   437
	<div id="ldpr-4_2_4" class="rule">4.2.4 In the absence of special knowledge of the application or domain, LDPR
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
   438
		clients MUST assume that any LDPR can have multiple values for <code>rdf:type</code>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   439
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   440
	<div id="ldpr-4_2_5" class="rule">4.2.5 In the absence of special knowledge of the application or domain, LDPR
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   441
		clients MUST assume that the <code>rdf:type</code> values
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
   442
		of a given LDPR can change over time.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   443
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   444
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   445
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   446
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   447
<h2 id="ldpr-HTTP_POST">HTTP POST</h2>
93
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   448
	<p>This specification adds no new requirements on HTTP POST for LDPRs 
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   449
		only when the LDPR supports that method.  This specification does not impose any
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   450
		new requirement to support that method, and [[!HTTP11]] makes it optional</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   451
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   452
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   453
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   454
<h2 id="ldpr-HTTP_PUT">HTTP PUT</h2>
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
   455
	<p>This specification imposes the following new requirements on HTTP PUT for LDPRs 
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
   456
		only when the LDPR supports that method.  This specification does not impose any
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
   457
		new requirement to support that method, and [[!HTTP11]] makes it optional.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   458
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   459
	<div id="ldpr-4_4_1" class="rule">4.4.1 If HTTP PUT is performed on an existing resource, LDPR servers MUST
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   460
		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
   461
		the entity representation in the body of the request. 
92
18891627c17f Fixed 2 old references to BPR
sspeiche
parents: 91
diff changeset
   462
		LDPR servers 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
   463
		and <code>dcterms:creator</code> if they are not under
2f8a2d58e65c ISSUE-11 - 4.4.1 Relaxed the MUST ignore dc:modified/creator to MAY
sspeiche
parents: 60
diff changeset
   464
		client control. Any LDPR servers that wish
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   465
		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
   466
		with existing state stored on the server for a resource MUST use HTTP
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   467
		PATCH, not HTTP PUT.
61
2f8a2d58e65c ISSUE-11 - 4.4.1 Relaxed the MUST ignore dc:modified/creator to MAY
sspeiche
parents: 60
diff changeset
   468
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   469
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   470
	<div id="ldpr-4_4_2" class="rule">4.4.2 LDPR clients SHOULD use the HTTP <code>If-Match</code>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   471
		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
   472
		modifying a resource that has changed since the client last retrieved
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   473
		its representation. LDPR servers SHOULD require the HTTP <code>If-Match</code> header and HTTP <code>ETags</code>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   474
		to detect collisions. LDPR servers MUST respond with status code 412
122
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   475
		(Condition Failed) if <code>ETag</code>s fail to match when there are no other
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   476
		errors with the request [[!HTTP11]].  LDPR servers that require conditional requests MUST respond with status code 428
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   477
		(Precondition Required) when the absence of a precondition is the only reason for rejecting the request [[!RFC6585]].
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   478
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   479
	<div id="ldpr-4_4_3" class="rule">4.4.3 LDPR clients SHOULD always assume that the set of predicates for 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
   480
		resource of a particular type at an arbitrary server is open, in the
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   481
		sense that different resources of the same type may not all have the
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
   482
		same set of predicates in their triples, and the set of predicates that
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
   483
		are used in the state of any one resource is not limited to any pre-defined
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   484
		set.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   485
	</div>
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
   486
	<div id="ldpr-4_4_4" class="rule">4.4.4 LDPR clients SHOULD assume that an LDPR server could discard triples
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   487
		whose predicates the server does not recognize or otherwise chooses
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   488
		not to persist. In other words, LDPR servers MAY restrict themselves
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   489
		to a known set of predicates, but LDPR clients MUST NOT restrict themselves to a known set of predicates 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   490
		when their intent is to perform a later HTTP PUT to update the resource.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   491
	</div>
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
   492
	<div id="ldpr-4_4_5" class="rule">4.4.5 An LDPR client MUST preserve all triples retrieved using HTTP GET that
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   493
		it doesn’t change whether it understands the predicates or not, when
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   494
		its intent is to perform an update using HTTP PUT.  The use of HTTP
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   495
		PATCH instead of HTTP PUT for update avoids this burden for clients
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   496
		[[RFC5789]].
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   497
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   498
	<div id="ldpr-4_4_6" class="rule">4.4.6 LDPR servers MAY choose to allow the creation of new resources using HTTP PUT.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   499
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   500
	<div id="ldpr-4_4_7" class="rule">4.4.7 LDPR servers SHOULD allow clients to update resources without
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
   501
		requiring detailed knowledge of server-specific constraints.  
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   502
		This is a consequence of the requirement to <a href="#ldpr-4_1_11">enable simple creation and modification</a> of LPDRs.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   503
	</div>		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   504
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   505
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   506
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   507
<h2 id="ldpr-HTTP_DELETE">HTTP DELETE</h2>
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
   508
	<p>This specification imposes the following new requirements on HTTP DELETE for LDPRs 
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
   509
		only when the LDPR supports that method.  This specification does not impose any
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
   510
		new requirement to support that method, and [[!HTTP11]] makes it optional.</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
   511
		
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   512
	<div id="ldpr-4_5_1" class="rule">4.5.1 LDPR servers MUST remove the resource identified by the Request-URI.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   513
		After a successful HTTP DELETE, a subsequent HTTP GET on the same
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   514
		Request-URI MUST result in a 404 (Not found) or 410 (Gone) status
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
   515
		code. Clients SHOULD note that servers MAY reuse a URI under some circumstances.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   516
	</div>
19
52d63fdf6ae8 ISSUE-24: Should DELETED resources remain deleted?
sspeiche
parents: 18
diff changeset
   517
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   518
	<div id="ldpr-4_5_2" class="rule">4.5.2 LDPR servers MAY alter the state of other resources as a result of an
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   519
		HTTP DELETE request. For example, it is acceptable for the server to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   520
		remove triples from other resources whose subject or object is the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   521
		deleted resource. It is also acceptable and common for LDPR servers to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   522
		not do this – behavior is server application specific.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   523
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   524
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   525
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   526
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   527
<h2 id="ldpr-HTTP_HEAD">HTTP HEAD</h2>
114
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
   528
	<p>Note that certain LDP mechanisms, such as paging, rely on HTTP headers, and HTTP generally requires that
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
   529
		HEAD responses include the same headers as GET responses.  
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
   530
		Thus, implementers should also carefully read the
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
   531
		<a href="#ldpr-HTTP_GET">GET section</a>.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   532
	<div id="ldpr-4_6_1" class="rule">4.6.1 LDPR servers MUST support the HTTP HEAD method.</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   533
	<div id="ldpr-4_6_2" class="rule">4.6.2 LDPR servers MUST indicate their support for HTTP Methods by
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   534
		responding to a HTTP HEAD request on the LDPR’s URL with the HTTP
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   535
		Method tokens in the HTTP response header “<code>Allow</code>”.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   536
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   537
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   538
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   539
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   540
<h2 id="ldpr-HTTP_PATCH">HTTP PATCH</h2>
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
   541
	<p>This specification imposes the following new requirements on HTTP PATCH for LDPRs 
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
   542
		only when the LDPR supports that method.  This specification does not impose any
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
   543
		new requirement to support that method, and [[!HTTP11]] makes it optional.</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
   544
		
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   545
	<div id="ldpr-4_7_1" class="rule">4.7.1 LDPR servers MAY implement HTTP PATCH to allow modifications,
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
   546
		especially partial replacement, of their resources [[!RFC5789]]. No
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   547
		minimal set of patch document formats is mandated by this document.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   548
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   549
	<div id="ldpr-4_7_2" class="rule">4.7.2 LDPR servers SHOULD allow clients to update resources without
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
   550
		requiring detailed knowledge of server-specific constraints.  
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
   551
		This is a consequence of the requirement to <a href="#ldpr-4_1_11">enable simple creation and modification</a> of LPDRs.
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
   552
	</div>
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
   553
	<div id="ldpr-4_7_3" class="rule">4.7.3 LDPR servers SHOULD NOT allow clients to create new resources using PATCH.
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
   554
		<a href="#ldpc-HTTP_POST">POST (to an LDPC)</a> and/or <a href="#ldpc-HTTP_PUT">PUT</a> should be used as the standard way to create new LDPRs.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   555
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   556
	
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
   557
	<div class="ldp-issue-pending">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   558
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/17">ISSUE-17</a></div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   559
	changesets as a recommended PATCH format
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   560
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   561
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   562
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   563
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   564
<h2 id="ldpr-Paging">Paging</h2>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   565
<em>Suggest creating a separate "last" section for LDPRs to not clutter everything else</em>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   566
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   567
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   568
<h3 id="ldpr-PagingIntro">Introduction</h3>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   569
	<em>This section is non-normative</em>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   570
	<p>It sometimes happens that a
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   571
		resource is too large to reasonably transmit its representation in a
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   572
		single HTTP response. This will be especially true if the resource
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   573
		representation includes many triples both from its own representation and
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   574
		from the representations of any of its members. A client could anticipate that a resource will be too large -
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   575
		for example, a client tool that accesses defects may assume that an
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   576
		individual defect will usually be of sufficiently constrained size
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   577
		that it makes sense to request all of it at once, but that the
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   578
		container of all the defects ever created will typically be too big.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   579
		Alternatively, a server could recognize that a resource that has been
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   580
		requested is too big to return in a single message.</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   581
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   582
		To address this problem, LDPRs should support a technique called Paging.  Paging can be achieved with a
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   583
		simple RDF pattern. For each resource, <code>&lt;resourceURL&gt;</code>, we define a new
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   584
		'first page' resource.  In this example, its URL will be <code>&lt;containerURL&gt;?firstPage</code>,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   585
		but servers are free to construct the URL as they see fit.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   586
		The triples in the representation of the each page
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   587
		are a subset of the triples in the resource
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   588
		- same subject, predicate and object.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   589
	</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   590
	<p>LDPR servers may respond to requests for a
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   591
		resource by redirecting the client to the first page resource –
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   592
		using a 303 “See Other” redirect to the actual URL for the page
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   593
		resource.</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   594
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   595
		Looking at an example resource representing JohnZSmith's net
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   596
		worth, we’ll split the response across two pages.  
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   597
		To find the URL of the first page, the client makes a <code>OPTIONS</code> request
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   598
		to the resource's URL, and in the response looks for a HTTP <code>Link</code>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   599
		header with <code>rel="first"</code>; the target URI in the header is the URL
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   600
		of the first page resource.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   601
		The client then 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   602
		requests the first page as <code>http://example.org/netWorth/nw1/assetContainer/?firstPage</code>:
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   603
	</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   604
<pre class="example"># The following is the representation of
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   605
#    http://example.org/netWorth/nw1/assetContainer/?firstPage
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   606
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   607
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   608
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   609
@prefix o: &lt;http://example.org/ontology/&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   610
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   611
&lt;http://example.org/netWorth/nw1/assetContainer/&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   612
   a ldp:Container;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   613
   dcterms:title "The assets of JohnZSmith";
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   614
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   615
   ldp:membershipPredicate o:asset.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   616
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   617
&lt;http://example.org/netWorth/nw1/assetContainer/?firstPage&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   618
   a ldp:Page;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   619
   ldp:pageOf &lt;http://example.org/netWorth/nw1/assetContainer/&gt;;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   620
   ldp:nextPage &lt;http://example.org/netWorth/nw1/assetContainer/?p=2&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   621
 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   622
&lt;http://example.org/netWorth/nw1&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   623
    a o:NetWorth;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   624
	o:asset
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   625
	&lt;http://example.org/netWorth/nw1/assetContainer/a1&gt;,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   626
	&lt;http://example.org/netWorth/nw1/assetContainer/a4&gt;,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   627
	&lt;http://example.org/netWorth/nw1/assetContainer/a3&gt;,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   628
	&lt;http://example.org/netWorth/nw1/assetContainer/a2&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   629
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   630
&lt;http://example.org/netWorth/nw1/assetContainer/a1&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   631
   a o:Stock;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   632
   o:value 100.00.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   633
&lt;http://example.org/netWorth/nw1/assetContainer/a2&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   634
   a o:Cash;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   635
   o:value 50.00.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   636
# server initially supplied no data for a3 and a4 in this response</pre>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   637
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   638
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   639
		The following example is the result of retrieving the representation
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   640
		for the next page:
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   641
	</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   642
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   643
<pre class="example"># The following is the representation of
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   644
#  http://example.org/netWorth/nw1/assetContainer/?p=2
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   645
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   646
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   647
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   648
@prefix o: &lt;http://example.org/ontology/&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   649
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   650
&lt;http://example.org/netWorth/nw1/assetContainer/&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   651
   a ldp:Container;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   652
   dcterms:title "The assets of JohnZSmith";
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   653
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   654
   ldp:membershipPredicate o:asset.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   655
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   656
&lt;http://example.org/netWorth/nw1/assetContainer/?p=2&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   657
   a ldp:Page;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   658
   ldp:pageOf &lt;http://example.org/netWorth/nw1/assetContainer/&gt;;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   659
   ldp:nextPage rdf:nil.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   660
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   661
&lt;http://example.org/netWorth/nw1&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   662
   a o:NetWorth;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   663
   o:asset 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   664
      &lt;http://example.org/netWorth/nw1/assetContainer/a5&gt;.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   665
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   666
&lt;http://example.org/netWorth/nw1/assetContainer/a5&gt;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   667
   a o:Stock;
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   668
   dcterms:title "Big Co.";
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   669
   o:value 200.02.</pre>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   670
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   671
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   672
		In this example, there is only one member in the container in the
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   673
		final page.  To indicate this is the last page, a value of <code>rdf:nil</code> is used for the <code>ldp:nextPage</code>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   674
		predicate of the page resource.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   675
	</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   676
	<p>LDPC guarantees that any and all the triples
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   677
		about the members will be on the same page as the membership triple
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   678
		for the member.</p>		
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   679
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   680
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   681
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   682
<h3 id="ldpr-PagingGET">HTTP GET</h3>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   683
<p>In addition to the requirements set forth in section (HTTP GET), LDPR Servers that support paging must also follow the requirements in this section</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   684
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   685
	<div id="ldpr-5_3_4" class="rule">5.3.4 LDPR servers SHOULD allow clients to retrieve large LDPRs in
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   686
		pages. In responses to <code>GET</code> requests with an LDPR as the Request-URI, 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   687
		LDPR servers that support paging SHOULD provide an HTTP <code>Link</code>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   688
		header whose target URI is the first page resource, and whose link relation type is <code>first</code> [[!RFC5988]]. 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   689
		This is the mechanism by which clients discover the URL of the first page.  If no such <code>Link</code>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   690
		header is present, then conservative clients will assume that the LDPR does not support paging.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   691
		For example, if there is a LDPR with URL <code>&lt;resourceURL&gt;</code> that supports paging and whose
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   692
		first page URL is <code>&lt;resourceURL&gt;?theFirstPage</code>, then the corresponding link header
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   693
		would be <code>Link: &lt;?theFirstPage&gt;;rel="first"</code>.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   694
		The representation for any page, including the first, will include
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   695
		the URL for the next page. See section <a href="#ldpr-paging">4.7 Paging</a> for additional details.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   696
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   697
	<div id="ldpc-5_3_5" class="rule">5.3.5 LDPR servers MAY split the response representation of any LDPR. 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   698
		This is known as
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   699
		server-initiated paging. See section  <a href="#ldpr-paging">4.7 Paging</a> for
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   700
		additional details.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   701
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   702
	<div id="ldpc-5_3_5_1" class="rule">5.3.5.1 LDPR servers that initiate paging SHOULD respond to requests for a LDPR
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   703
		by redirecting the client to the first page resource using a <code>303 See
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   704
		Other</code> response with an HTTP <code>Location</code> header providing the first page resource URL.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   705
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   706
	<div id="ldpc-5_3_6" class="rule">5.3.6 LDPR servers that support paging MUST include in the page
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   707
		representation a representation for the LDPR, such that:
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   708
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   709
	<div id="ldpc-5_3_6_1" class="rule">5.3.6.1 The page resource representation SHOULD have one triple to indicate its
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   710
		type, whose subject is the URL of the page, whose predicate is <code>rdf:type</code> and object is <code>ldp:Page</code>.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   711
		It also SHOULD have 1 triple to indicate the resource it is paging,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   712
		whose  subject is the URL of the page, predicate is <code>ldp:pageOf</code>,
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   713
		and object is the URL of the LDPC.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   714
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   715
	<div id="ldpc-5_3_6_2" class="rule">5.3.6.2 The page resource representation MUST have one triple with the subject
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   716
		of the page, predicate of <code>ldp:nextPage</code> and
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   717
		object being the URL for the subsequent page.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   718
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   719
	<div id="ldpc-5_3_6_3" class="rule">5.3.6.3 The last page resource representation MUST have one triple with the subject of the 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   720
	    last page, predicate of <code>ldp:nextPage</code> and object being <code>rdf:nil</code>.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   721
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   722
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   723
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   724
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   725
<h3 id="ldpr-paging-HTTP_OPTIONS">HTTP OPTIONS</h3>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   726
<div id="ldpr-4_8_2_1" class="rule">4.8.2.1 LDPR servers MUST indicate their support for client-initiated paging by
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   727
	responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   728
	response header for link relations using the header name of <code>Link</code> and link relation type is <code>first</code> [[!RFC5988]].
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   729
</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   730
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   731
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   732
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   733
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   734
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   735
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   736
<section>
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
   737
<h1 id="ldpc">Linked Data Platform Containers</h1>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   738
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   739
<section class="informative">		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   740
<h2 id="ldpc-informative">Informative</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   741
	<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
   742
		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
   743
		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
   744
		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
   745
		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
   746
		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
   747
		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
   748
		are:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   749
	<ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   750
		<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
   751
		<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
   752
		<li>How	is the order of the container entries expressed?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   753
		<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
   754
		<li>How	can I ensure the resource data is easy to query?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   755
	</ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   756
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   757
		This document defines the representation and behavior of containers
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   758
		that address these issues. The set of members of a container is
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   759
		defined by a set of triples in its representation (and state) called
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   760
		the membership triples. The membership triples of a container all
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   761
		have the same subject and predicate – the objects of the membership
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   762
		triples define the members of the container. The subject of the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   763
		membership triples is called the membership subject and the predicate
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   764
		is called the membership predicate. In the simplest cases, the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   765
		membership subject will be the LDPC resource itself, but it does not
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   766
		have to be. The membership predicate is also variable and will often
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   767
		be a predicate from the server application vocabulary or the <code>rdfs:member</code> predicate.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   768
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   769
	<p>This document includes a set of guidelines for
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   770
		using POST to create new resources and add them to the list of
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
   771
		members of a container. It goes on to explain how to learn about a set of related
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
   772
		resources, they may have been created using POST or through other means.
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
   773
		It also defines behavior when POST created resources are deleted, to clean up
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
   774
		container membership, and deleting containers removes membership information and
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
   775
		possibly perform some cleanup tasks on unreferenced member resoruces.</p>
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
   776
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   777
	<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
   778
		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
   779
		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
   780
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   781
<pre class="example"># The following is the representation of
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
   782
#    http://example.org/container1/
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   783
@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
   784
@prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   785
@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
   786
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   787
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   788
   a ldp:Container;
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
   789
   ldp:membershipSubject &lt;&gt;
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
   790
   ldp:membershipPredicate rdfs:member;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   791
   dcterms:title "A very simple container";
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   792
   rdfs:member &lt;member1&gt;, &lt;member2&gt;, &lt;member3&gt;.</pre>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   793
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   794
	<p>This example is very straightforward - the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   795
			membership predicate is <code>rdfs:member</code> and the membership subject is the container
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   796
			itself. A POST to this container will create a new resource
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   797
			and add it to the list of members by adding a new membership triple
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   798
			to the container.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   799
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   800
	<p>Sometimes it is useful to use a subject
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   801
	other than the container itself as the membership subject and to use
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   802
	a predicate other than <code>rdfs:member</code> as the membership predicate. Let's
88
a02636c16f05 Fixed typo in new text
sspeiche
parents: 87
diff changeset
   803
	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
   804
			
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   805
<pre class="example" id="ldpc-ex-membership-full"># The following is a partial representation of
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   806
#   http://example.org/netWorth/nw1
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   807
@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
   808
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   809
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   810
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   811
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   812
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   813
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   814
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   815
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   816
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   817
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   818
      &lt;liabilityContainer/l3&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   819
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   820
	<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
   821
	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
   822
	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
   823
	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
   824
	for them to assist with managing these, this is done by associating containers with them as 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   825
	illustrated below:
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   826
	</p>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   827
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   828
<pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   829
#   http://example.org/netWorth/nw1
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   830
@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
   831
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   832
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   833
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   834
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   835
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   836
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   837
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   838
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   839
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   840
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   841
      &lt;liabilityContainer/l3&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   842
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   843
&lt;assetContainer/&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   844
   a ldp:Container;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   845
   dcterms:title "The assets of JohnZSmith";
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   846
   ldp:membershipSubject &lt;.&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   847
   ldp:membershipPredicate o:asset.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   848
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   849
&lt;liabilityContainer/&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   850
   a ldp:Container;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   851
   dcterms:title "The liabilities of JohnZSmith";
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   852
   ldp:membershipSubject &lt;.&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   853
   ldp:membershipPredicate o:liability.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   854
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   855
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   856
	<p>The essential structure of the container is
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   857
	the same, but in this example, the membership subject is not the
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   858
	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
   859
	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
   860
	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
   861
	asset and add it to the list of	members by adding a new membership triple
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   862
	to the container. You might wonder why
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   863
	<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
   864
	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
   865
	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
   866
	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
   867
	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
   868
	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
   869
	resources allows both assets and liabilities to be created.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   870
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   871
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
   872
<pre class="example" id="ldpc-ex-membership-subj">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   873
# The following is the representation of
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
   874
#   http://example.org/netWorth/nw1/assetContainer/
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   875
@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
   876
@prefix o: &lt;http://example.org/ontology/&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   877
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   878
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   879
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   880
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   881
   ldp:membershipPredicate o:asset.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   882
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   883
&lt;http://example.org/netWorth/nw1&gt;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   884
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   885
   o:asset &lt;a1&gt;, &lt;a2&gt;.</pre>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   886
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   887
	<p>In this example, clients cannot simply guess
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   888
			which resource is the membership subject and which predicate is the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   889
			membership predicate, so the example includes this information in
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   890
			triples whose subject is the LDPC resource itself.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   891
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   892
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   893
	<div id="ldpc-member_data" class="rule">5.1.1 Container Member Information</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   894
	<em>This section is non-normative</em>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   895
	<p>In many – perhaps most – applications
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   896
		involving containers, it is desirable for the client to be able to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   897
		get information about each container member without having to do a
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   898
		GET on each one. LDPC allows servers to include this information
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   899
		directly in the representation of the container. The server decides
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   900
		the amount of data about each member that is provided. Some common
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   901
		strategies include providing a fixed number of standard properties,
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   902
		or providing the entire RDF representation of each member resource,
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   903
		or providing nothing. The server application domain and its use-cases
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   904
		will determine how much information is required.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   905
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   906
	<p>Continuing on from the net worth
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   907
		example, there will be additional triples for the member resources
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   908
		(assets) in the representation:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   909
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   910
<pre class="example"># The following is the representation of
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
   911
#	 http://example.org/netWorth/nw1/assetContainer/
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   912
@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
   913
@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
   914
@prefix o:       &lt;http://example.org/ontology/&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   915
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   916
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   917
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   918
   dcterms:title "The assets of JohnZSmith";
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   919
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   920
   ldp:membershipPredicate o:asset.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   921
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   922
&lt;http://example.org/netWorth/nw1&gt;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   923
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   924
   o:asset &lt;a1&gt;, &lt;a3&gt;, &lt;a2&gt;.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   925
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   926
&lt;a1&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   927
   a o:Stock;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   928
   o:value 10000.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   929
&lt;a2&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   930
   a o:Bond;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   931
   o:value 20000.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   932
&lt;a3&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   933
   a o:RealEstateHolding;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   934
   o:value 300000.</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   935
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
   936
<div class="ldp-issue-open">
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
   937
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/58">ISSUE-58</a></div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
   938
	Property for asserting that complete description of members is included in LDPC representation
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
   939
	</div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
   940
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   941
	<div id="ldpc-get_non-member_props" class="rule">5.1.2 Retrieving Only Non-member Properties
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   942
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   943
	<em>This section is non-normative</em>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   944
	<p>The representation of a container
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   945
		that has many members will be large. There are several important
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   946
		cases where clients need to access only the non-member properties of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   947
		the container. Since retrieving the whole container representation to
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   948
		get this information may be onerous for clients and cause unnecessary
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   949
		overhead on servers, it is desired to define a way to retrieve only
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   950
		the non-member property values. Defining for each LDPC a corresponding
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   951
		resource, called the “<a>non-member resource</a>”, whose state is a subset
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   952
		of the state of the container, does this.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   953
	<p>The example listed here only show
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   954
		a simple case where only a few simple non-member properties are
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   955
		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
   956
		containers, for example providing validation information and
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   957
		associating SPARQL endpoints. [[SPARQL-QUERY]]</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   958
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   959
		Here is an example requesting the non-member properties of a
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   960
		container identified by the URL <code>http://example.org/container1/</code>.
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   961
		In this case, the non-member resource is identified by the URL 
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   962
		<code>http://example.org/container1?non-member-properties</code>:
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   963
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   964
<p>Request:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   965
<pre class="example">GET /container1?non-member-properties HTTP/1.1
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   966
Host: example.org
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   967
Accept: text/turtle; charset=UTF-8
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   968
</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   969
<p>Response:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   970
<pre class="example">HTTP/1.1 200 OK
13
eea17080fdf2 Minor typo fix and some notes
sspeiche
parents: 12
diff changeset
   971
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
   972
ETag: "_87e52ce291112"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   973
Content-Length: 325
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   974
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   975
@prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   976
@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
   977
@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
   978
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
   979
&lt;http://example.org/container1/&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   980
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   981
   dcterms:title "A Linked Data Platform Container of Acme Resources";
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
   982
   ldp:membershipSubject http://example.org/container1/;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   983
   ldp:membershipPredicate rdfs:member;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   984
   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
   985
   
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   986
	<p>While the same non-member resource could be used to update the non-member properties via PUT,
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   987
		LDP recommends using PATCH for this purpose.</p>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   988
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   989
	<div id="ldpc-5.1.3" class="rule">5.1.3 <strike>Paging</strike> <em>Was paging, moved to section 4</em></div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   990
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   991
	<div id="ldpc-ordering" class="rule">5.1.4 Ordering</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   992
	<em>This section is non-normative</em>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   993
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   994
		There are many cases where an ordering of the members of the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   995
		container is important. LDPC does not provide any particular support
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   996
		for server ordering of members in containers, because any client can
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   997
		order the members in any way it chooses based on the value of any
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   998
		available property of the members. In the example below, the value of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   999
		the <code>o:value</code> predicate is present for each
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1000
		member, so the client can easily order the members according to the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1001
		value of that property. In this way, LDPC avoids the use of RDF
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1002
		constructs like Seq and List for expressing order.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1003
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1004
	<p>
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1005
		Order becomes more important for LDPC servers when containers are
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1006
		paginated. If the server does not respect ordering when constructing
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1007
		pages, the client would be forced to retrieve all pages before
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1008
		sorting the members, which would defeat the purpose of pagination. 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1009
		In cases where ordering is important, an LDPC server exposes all the
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1010
		members on a page with the proper sort order with relation to all 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1011
		members on the next and previous pages.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1012
		When the sort is ascending, all the members on a current page have a 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1013
		higher sort order than all members on the previous page and 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1014
		lower sort order than all the members on the next page. 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1015
		When the sort is descending, the opposite order is used. 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1016
		Since more than one value may be used to sort members, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1017
		the LDPC specification allows servers to assert the ordered list
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1018
		of sort criteria used to sort the members, using the 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1019
		<code>ldp:containerSortCriteria</code> relation.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1020
		Each member of the ordered list exposes one <code>ldp:containerSortCriterion</code>, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1021
		consisting of a <code>ldp:containerSortPredicate</code>, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1022
		<code>ldp:containerSortPredicate</code>, and 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1023
		optionally a <code>ldp:containerSortCollation</code>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1024
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1025
	<p>Here is an example container described
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1026
		previously, with representation for ordering of the assets:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1027
<pre class="example"># The following is the ordered representation of
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
  1028
#   http://example.org/netWorth/nw1/assetContainer/
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1029
@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
  1030
@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
  1031
@prefix o: &lt;http://example.org/ontology/&gt;.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1032
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1033
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1034
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1035
   dcterms:title "The assets of JohnZSmith";
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1036
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1037
   ldp:membershipPredicate o:asset.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1038
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1039
&lt;?firstPage&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1040
   a ldp:Page;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1041
   ldp:pageOf &lt;&gt;;
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1042
   ldp:ContainerSortCriteria (#SortValueAscending).
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1043
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1044
&lt;#SortValueAscending&gt;
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1045
   a ldp:ContainerSortCriterion;
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1046
   ldp:containerSortOrder ldp:ascendingOrder;
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1047
   ldp:containerSortPredicate o:value.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1048
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1049
&lt;http://example.org/netWorth/nw1&gt;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1050
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1051
   o:asset &lt;a1&gt;, &lt;a3&gt;, &lt;a2&gt;.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1052
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1053
&lt;a1&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1054
   a o:Stock;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1055
   o:value 100.00.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1056
&lt;a2&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1057
   a o:Cash;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1058
   o:value 50.00.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1059
&lt;a3&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1060
   a o:RealEstateHolding;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1061
   o:value 300000.</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1062
		<p>
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1063
			As you can see by the addition of the <code>ldp:ContainerSortCriteria</code> 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1064
			predicate, the <code>o:value</code> predicate is used
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1065
			to order the page members in ascending order.  It is up to the domain model
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1066
			and server to determine the appropriate predicate to indicate the
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1067
			resource’s order within a page, and up to the client receiving this 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1068
			representation to use that order in whatever way is appropriate, for 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1069
			example to sort the data prior to presentation on a user interface.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1070
		</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1071
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1072
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
  1073
<section>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1074
<h2 id="ldpc-general">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
  1075
	<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
  1076
		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
  1077
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1078
	<div id="ldpc-5_2_1" class="rule">5.2.1 LDPC servers MUST also be conformant LDPR servers. A Linked Data Platform
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
  1079
		Container MUST also be a conformant Linked Data Platform Resource.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1080
	</div>
108
075acf700bb9 Updated wording for 5.2.2 from to be more clear
sspeiche
parents: 107
diff changeset
  1081
	<div id="ldpc-5_2_2" class="rule">5.2.2 For an LDPC,
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
  1082
	the same resource which is identified by its canonical URI, MAY be a member of 
108
075acf700bb9 Updated wording for 5.2.2 from to be more clear
sspeiche
parents: 107
diff changeset
  1083
	more than one LDPC.
85
612f57f3b28e Additional fix in 5.2.2 for ISSUE-34
sspeiche
parents: 84
diff changeset
  1084
	</div>
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
  1085
	<div id="ldpc-5_2_3" class="rule">5.2.3 The state of an LDPC includes information about which
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
  1086
		resources are its members. In the simplest cases, the membership subject
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1087
		will be the LDPC resource itself, but it does not have to be. The
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1088
		membership predicate is also variable and will often be a predicate
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1089
		from the server application vocabulary. If there is no obvious
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1090
		predicate from the server application vocabulary to use, LDPC servers
113
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1091
		SHOULD use the <code>rdfs:member</code> predicate. Member resources can be
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1092
		any kind of resource identified by its URI, LDPR or otherwise.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1093
	</div>
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1094
	
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
  1095
	<div class="ldp-issue-open">
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1096
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/51">ISSUE-51</a></div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1097
	Linking from a Resource to its Containers (not the containers the resource is in)
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1098
	</div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1099
	
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1100
	<div id="ldpc-5_2_4" class="rule">5.2.4 An LDPC MUST contain one triple 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1101
		whose subject is the LDPC URI, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1102
		whose predicate is the <code>ldp:membershipSubject</code>, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1103
		and whose object is the LDPC's membership subject URI.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1104
	</div>
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1105
	
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1106
	<div id="ldpc-5_2_5" class="rule">5.2.5 An LDPC MUST contain one triple 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1107
		whose subject is the LDPC URI, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1108
		and whose predicate is either <code>ldp:membershipPredicate</code> or <code>ldp:membershipPredicateInverse</code>. 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1109
		The object of the triple is constrained by other sections, such as
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1110
		<a href="ldpc-5_2_5_1">5.2.5.1</a> or <a href="ldpc-5_2_5_2">5.2.5.2</a>.
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1111
	</div>
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1112
	
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1113
	<div class="ldp-issue-pending">
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1114
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/75">ISSUE-75</a></div>
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1115
	non-monotonic ldp:membershipXXX relations.  Drafted per 2013-06-18 F2F resolution.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1116
	</div>
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1117
	
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1118
	<div id="ldpc-5_2_5_1" class="rule">5.2.5.1 For a given triple <var>T</var> with a subject <var>C</var>
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1119
	of the LDPC and predicate of 
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1120
	<code>ldp:membershipPredicate</code>, the object MUST be the URI of the membership predicate <var>P</var> used to
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1121
	indicate membership to the linked to LDPC, or simply: <var>T = ( C</var>, <code>ldp:membershipPredicate</code>, <var>P)</var>. 
98
63281c5a9a43 ISSUE-21 Continued refinement of text, take 2
sspeiche
parents: 97
diff changeset
  1122
	For the membership predicate URI object used in the triple <var>T</var>, it would be found in a resource's
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1123
	same subject <var>R</var> and same predicate <var>P</var> membership triples of the form: 
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1124
	(<var>R</var>, <var>P</var>, <var>MR</var>), where <var>MR</var> represents URI of
98
63281c5a9a43 ISSUE-21 Continued refinement of text, take 2
sspeiche
parents: 97
diff changeset
  1125
	a member resource.
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1126
	</div>
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1127
	
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1128
	<div id="ldpc-5_2_5_2" class="rule">5.2.5.2  For a given triple <var>T</var> with a subject <var>C</var>
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1129
	of the LDPC and predicate of 
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1130
	<code>ldp:membershipPredicateInverse</code>, the object MUST be the URI of the membership predicate <var>P</var> used to
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1131
	indicate membership to the linked to LDPC, or simply: <var>T = ( C</var>, <code>ldp:membershipPredicateInverse</code>, <var>P)</var>. 
98
63281c5a9a43 ISSUE-21 Continued refinement of text, take 2
sspeiche
parents: 97
diff changeset
  1132
	For the membership predicate URI object used in the triple <var>T</var>, it would be found in a resource's
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1133
	object subject <var>R</var> and same predicate <var>P</var> membership triples of the form: 
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1134
	(<var>MR</var>, <var>P</var>, <var>R</var>), where <var>MR</var> represents URI of
98
63281c5a9a43 ISSUE-21 Continued refinement of text, take 2
sspeiche
parents: 97
diff changeset
  1135
	a member resource.
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1136
	</div>
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1137
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1138
	<div id="ldpc-5_2_6" class="rule">5.2.6 The representation of a LDPC MAY include an arbitrary number of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1139
		additional triples whose subjects are the members of the container,
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1140
		or that are from the representations of the members (if they have RDF
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1141
		representations). This allows a LDPC server to provide clients with
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1142
		information about the members without the client having to do a GET
113
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1143
		on each member individually.  See section <a href="#ldpc-member_data">5.1.1 Container
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1144
		Member Information</a> for additional details.
113
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1145
    </div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1146
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1147
	<div id="ldpc-5_2_7" class="rule">5.2.7 The representation of a LDPC MUST have <code>rdf:type</code>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1148
		of <code>ldp:Container</code>, but it MAY have additional
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1149
		<code>rdf:type</code>s.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1150
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1151
	<div id="ldpc-5_2_8" class="rule">5.2.8 LDPCs SHOULD NOT use RDF container types <code>rdf:Bag</code>,
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
  1152
		<code>rdf:Seq</code> or <code>rdf:List</code>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1153
	</div>
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1154
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1155
	<div id="ldpc-5_2_9" class="rule">5.2.9 LDPC servers SHOULD NOT re-use URIs, 
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1156
		regardless of the mechanism by which members are created (POST, PUT, etc.).
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1157
		Certain specific cases exist where a LDPC server MAY delete a resource and then later re-use the
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1158
		URI when it identifies the same resource, but only when consistent with Web architecture [[WEBARCH]].
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1159
		While it is difficult to provide absolute implementation guarantees of non-reuse in all failure
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1160
		scenarios, re-using URIs creates ambiguities for clients that are best avoided.
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1161
	</div>
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1162
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1163
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1164
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1165
<section>	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1166
<h2 id="ldpc-HTTP_GET">HTTP GET</h2>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1167
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1168
	<div id="ldpc-5_3_1" class="rule">5.3.1 The representation of a LDPC MUST contain a set of triples with a
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1169
		consistent subject and predicate whose objects indicate members of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1170
		the container. The subject of the triples MAY be the container itself
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
  1171
		or MAY be another resource (as in the <a href="#ldpc-ex-membership-subj">example</a>).  See also
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1172
		<a href="#ldpc-5_2_3">5.2.3</a>.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1173
	</div>
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1174
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1175
	<div id="ldpc-5_3_2" class="rule">5.3.2  Empty after resolution of Issue-64,
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1176
		left here for now to avoid renumbering all that follows.  Content moved to <a href="#ldpc-HTTP_HEAD">LDPC HEAD</a>.
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1177
	</div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1178
	
114
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
  1179
	<div id="ldpc-5_3_3" class="rule">5.3.3 Empty after resolution of Issue-65, 
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
  1180
		left here for now to avoid renumbering all that follows.
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
  1181
		Used to be <blockquote><strike>
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
  1182
		An LDPC server that does not support a request to retrieve the first
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
  1183
		page resource representation from a known LDPC whose URL is “<code>&lt;containerURL&gt;</code>” by using
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
  1184
		the Request-URI “<code>&lt;containerURL&gt;?firstPage</code>”, MUST return a HTTP status code 404 (Not
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1185
		Found).
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
  1186
		An LDPC server that supports that request using a different Request-URI than “<code>&lt;containerURL&gt;?firstPage</code>”,
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
  1187
		MUST return a HTTP Redirection 3xx status code such as 301 (Moved Permanently) or 302 (Found).
114
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
  1188
		</strike></blockquote>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1189
	</div>
105
6f2f1329086d Removed closed issues 5, 7, 55 and 38 as the don't require edits. Added 64 and 65.
sspeiche
parents: 104
diff changeset
  1190
	
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1191
	<div id="ldpc-5_3_4" class="rule">5.3.4 <strike>LDPC servers SHOULD allow clients to retrieve large LDPCs in
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1192
		pages.</strike> Moved to section 4</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1193
	<div id="ldpc-5_3_5" class="rule">5.3.5 <strike>LDPC servers MAY split the response representation of any LDPC</strike> moved to section 4</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1194
	<div id="ldpc-5_3_6" class="rule">5.3.6 <strike>LDPC servers that support paging MUST include in the page</strike> moved to section 4</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1195
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1196
	
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
  1197
	<div class="ldp-issue-closed">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1198
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/18">ISSUE-18</a></div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1199
	container membership and robust pagination
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1200
	</div>	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1201
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1202
	<div id="ldpc-5_3_7" class="rule">5.3.7 LDPC servers MAY represent the members of a paged LDPC in a sequential
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1203
		order.  If the server does so, it MUST be specify the order using a triple 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1204
		whose subject is the page URI, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1205
		whose predicate is <code>ldp:containerSortCriteria</code>, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1206
		and whose object is a <code>rdf:List</code> of
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1207
		<code>ldp:containerSortCriterion</code> resources.  
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1208
		The resulting order MUST be as defined by SPARQL SELECT’s ORDER BY clause 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1209
		[[!SPARQL-QUERY]].
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1210
		Sorting criteria MUST be the same for all pages of a representation; if
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1211
		the criteria were allowed to vary, the ordering among members of a container
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1212
		across pages would be undefined. 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1213
		The first list entry provides the primary
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1214
		sorting criterion, any second entry provides a secondary criterion used to order members considered
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1215
		equal according to the primary criterion, and so on.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1216
		See section <a href="#ldpc-ordering">5.1.4 Ordering</a> for
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1217
		an example.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1218
	</div>
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1219
	
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1220
	<div id="ldpc-5_3_8" class="rule">5.3.8 LDPC page representations 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1221
		ordered using <code>ldp:containerSortCriteria</code> MUST contain, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1222
		in every <code>ldp:containerSortCriterion</code> list entry, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1223
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1224
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1225
		whose predicate is <code>ldp:containerSortPredicate</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1226
		and whose object is 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1227
		the predicate whose value is used to order members between pages (the <dfn>page-ordering values</dfn>).
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1228
		The only predicate data types whose behavior LDP constrains are those defined
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1229
		by SPARQL SELECT’s ORDER BY clause [[!SPARQL-QUERY]].  Other data types
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1230
		can be used, but LDP
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1231
		assigns no meaning to them and interoperability will be limited.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1232
	</div>
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1233
	
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1234
	<div id="ldpc-5_3_9" class="rule">5.3.9 LDPC page representations 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1235
		ordered using <code>ldp:containerSortCriteria</code> MUST contain, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1236
		in every <code>ldp:containerSortCriterion</code> list entry, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1237
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1238
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1239
		whose predicate is <code>ldp:containerSortOrder</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1240
		and whose object describes the order used.  LDP defines two values,
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1241
		<code>ldp:ascending</code> and <code>ldp:descending</code>, for use
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1242
		as the object of this triple.  Other values can be used, but LDP
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1243
		assigns no meaning to them and interoperability will be limited.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1244
	</div>
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1245
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1246
	<div class="ldp-issue-pending">
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1247
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/14">ISSUE-14</a></div>
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1248
	Include clarifications about ordering in LDPC representations.
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1249
	The ReSpec SPARQL QUERY link is http://www.w3.org/TR/rdf-sparql-query/ , which has highlighted text
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1250
	referring readers to SPARQL 1.1.  Which normative reference do we want?
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1251
	</div>
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1252
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1253
	<div id="ldpc-5_3_10" class="rule">5.3.10 LDPC page representations 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1254
		ordered using <code>ldp:containerSortCriteria</code> MAY contain, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1255
		in any <code>ldp:containerSortCriterion</code> list entry,
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1256
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1257
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1258
		whose predicate is <code>ldp:containerSortCollation</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1259
		and whose object identifies the collation used.  LDP defines no values for use
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1260
		as the object of this triple.  While it is better for interoperability to use
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1261
		open standardized values, any value can be used.
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1262
		When the <code>ldp:containerSortCollation</code> triple is absent and the 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1263
		<a title="page-ordering values">page-ordering values</a> are strings or simple literals [[!SPARQL-QUERY]], the
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1264
		resulting order is as defined by SPARQL SELECT’s ORDER BY clause 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1265
		[[!SPARQL-QUERY]] using two-argument <code>fn:compare</code>, that is, 
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1266
		it behaves as if <code>http://www.w3.org/2005/xpath-functions/collation/codepoint</code> 
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1267
		was the specified collation.
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1268
		When the <code>ldp:containerSortCollation</code> triple is present and the 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1269
		<a title="page-ordering values">page-ordering values</a> are strings or simple literals 
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1270
		[[!SPARQL-QUERY]], the
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1271
		resulting order is as defined by SPARQL SELECT’s ORDER BY clause 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1272
		[[!SPARQL-QUERY]] using three-argument <code>fn:compare</code>, that is, the 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1273
		specified collation.
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1274
		When the <code>ldp:containerSortCollation</code> triple SHOULD be omitted for comparisons
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1275
		involving <a title="page-ordering values">page-ordering values</a> for which [[!SPARQL-QUERY]] does not use collations.
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1276
	</div>
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1277
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1278
	<div class="ldp-issue-pending">
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1279
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/63">ISSUE-63</a></div>
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1280
	Need to be able to specify collation with container ordering.  Drafted per 2013-06-18 F2F resolution.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1281
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1282
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1283
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1284
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1285
<h2 id="ldpc-HTTP_POST">HTTP POST</h2>
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
  1286
	<p>This specification imposes the following new requirements on HTTP POST for LDPCs 
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
  1287
		only when an LDPC supports that method.  This specification does not impose any
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
  1288
		new requirement to support that method, and [[!HTTP11]] makes it optional.</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
  1289
		
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
  1290
	<div class="ldp-issue-open">
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1291
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/50">ISSUE-50</a></div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1292
	Intuitive Containers: better support for relative URIs
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1293
	</div>	
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1294
		
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
  1295
	<div id="ldpc-5_4_1" class="rule">5.4.1 LDPC clients SHOULD create member resources by submitting a representation as
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1296
		the entity body of the HTTP POST to a known LDPC. If the resource was created successfully, LDPC servers MUST
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1297
		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
  1298
		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
  1299
		entity body on a 201 (Created) response.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1300
	</div>
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1301
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1302
	<div id="ldpc-5_4_2" class="rule">5.4.2 After a successful HTTP POST request to a LDPC, the new resource MUST
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1303
		appear as a member of the LDPC until the new resource is deleted or
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
  1304
		removed by other methods. An LDPC MAY also contain resources that were
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1305
		added through other means - for example through the user interface of
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1306
		the site that implements the LDPC.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1307
	</div>
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1308
	
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
  1309
	<div class="ldp-issue-closed">
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1310
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/35">ISSUE-35</a></div>
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1311
	POSTing to a container MUST yield a fresh URI
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1312
	</div>
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1313
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1314
	<div id="ldpc-5_4_3" class="rule">5.4.3 LDPC servers MAY accept an HTTP POST of non-RDF representations for
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1315
		creation of any kind of resource, for example binary resources.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1316
	</div>
80
de9e15f7d9d5 Comments received from David Wood: 5.3.7 & 5.1.3 clarity, other minor edits (part 2)
sspeiche
parents: 79
diff changeset
  1317
	<div id="ldpc-5_4_4" class="rule">5.4.4 For servers that support create, LDPC servers MUST create an LDPR from a
77
724403b40995 ISSUE-36 - Added informative text regarding creationg of containers in 5.4.4
sspeiche
parents: 76
diff changeset
  1318
		RDF representation in the request entity body.  The LDPR could also be a LDPC, therefore servers may
724403b40995 ISSUE-36 - Added informative text regarding creationg of containers in 5.4.4
sspeiche
parents: 76
diff changeset
  1319
		allow the creations of LDPCs within a LDPC. 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1320
	</div>
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1321
	
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1322
	<div id="ldpc-5_4_5" class="rule">5.4.5 LDPC servers MUST accept a request entity body with a request header
18
b6b72bc4c3cf Minor edits for ISSUE-22,23 to be more inline with HTTP1.1
sspeiche
parents: 17
diff changeset
  1323
	    of <code>Content-Type</code> with value of <code>text/turtle</code> [[!TURTLE]].
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1324
	</div>
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1325
	<div id="ldpc-5_4_6" class="rule">5.4.6 LDPC servers SHOULD use the <code>Content-Type</code> request header 
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
  1326
		to determine the representation format when the request has an entity body.  When the header is absent, 
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
  1327
		LDPC servers MAY infer the content type by inspecting the entity body contents [[!HTTP11]].
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1328
	</div>
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1329
	<div id="ldpc-5_4_7" class="rule">5.4.7 In RDF representations, LDPC servers MUST interpret the null relative
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1330
		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
  1331
		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
  1332
		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
  1333
		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
  1334
		triples in the created resource whose subject is the created
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1335
		resource.  
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1336
		
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
  1337
	<div class="ldp-issue-closed">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1338
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/20">ISSUE-20</a></div>
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1339
	Identifying and naming POSTed resources using &lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1340
	</div>	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1341
	</div>
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1342
	
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1343
	<div id="ldpc-5_4_8" class="rule">5.4.8 LDPC servers SHOULD assign the subject URI for the resource to be
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1344
		created using server application specific rules in the absence of a <a href="#ldpc-5_4_10">client hint</a>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1345
	</div>
125
24853c53dae0 ISSUE-54 New 5.4.8.1 to set base URI on create for relative URI resolution
sspeiche
parents: 124
diff changeset
  1346
	<div id="ldpc-5_4_8_1" class="rule">5.4.8.1 For RDF representations, LDPC servers MUST assign the base-URI for
24853c53dae0 ISSUE-54 New 5.4.8.1 to set base URI on create for relative URI resolution
sspeiche
parents: 124
diff changeset
  1347
	   [[!RFC3987]] relative-URI resolution to be the URI of the created subject resource.
24853c53dae0 ISSUE-54 New 5.4.8.1 to set base URI on create for relative URI resolution
sspeiche
parents: 124
diff changeset
  1348
	</div> 
43
6d2805d7c6bf Added new issues ranging from 26-43. Removed closed/deferred issues: 2 & 3
sspeiche
parents: 42
diff changeset
  1349
	
94
2292ad834245 ISSUE-39 Moved informative text from 5.4.5 into 5.4.1, shifted subsections .6-.10
sspeiche
parents: 93
diff changeset
  1350
	<div id="ldpc-5_4_9" class="rule">5.4.9 LDPC servers 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
  1351
		requiring detailed knowledge of application-specific constraints.
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
  1352
		This is a consequence of the requirement to 
111
7b5387b10b06 ISSUE-9 Moved section 4.1.7 out of spec to the Deployment_Guide
sspeiche
parents: 110
diff changeset
  1353
		<a href="#ldpr-4_1_11">enable simple creation and modification</a> of LPDRs.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1354
	</div>
115
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1355
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1356
	<div id="ldpc-5_4_10" class="rule">5.4.10 LDPC servers MAY allow clients to suggest the URI for a resource
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1357
		created through POST, using the HTTP <code>Slug</code> header as defined in [[!RFC5023]].  LDP adds
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1358
		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
  1359
		providing a desired string to be incorporated into the server's final choice of resource URI.
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1360
	</div>
c8f6c689d373 issue 43 use slug per atompub
John Arwe
parents: 114
diff changeset
  1361
	
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1362
	<div id="ldpc-5_4_11" class="rule">5.4.11 LDPC servers that allow member creation via POST 
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1363
		SHOULD NOT re-use URIs, per the<a href="#ldpc-5_2_9">
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1364
		general requirements on LDPCs</a>.
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1365
	</div>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1366
	<div id="ldpc-5_4_12" class="rule">ISSUE-15 5.4.12 LDPC servers that allow non-LDPR member creation via POST 
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1367
		MAY create a companion LDPR, things to work out:
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1368
		<ul>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1369
		<li>Should this really be in LDPC section since it has to do with LDPR to non-LDPR relationship?  confusion might be with create/POST</li>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1370
		<li>Need to update HEAD for non-LDPRs</li>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1371
		<li>DELETE for LDPRs (client may not have control of this) and non-LDPRs (should remove it + any LDPR)</li>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1372
		<li>Do we need to say anyting about update</li>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1373
		</ul>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
  1374
	</div>	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1375
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1376
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1377
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1378
<h2 id="ldpc-HTTP_PUT">HTTP PUT</h2>
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
  1379
	<p>This specification imposes the following new requirements on HTTP PUT for LDPCs 
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
  1380
		only when an LDPC supports that method.  This specification does not impose any
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
  1381
		new requirement to support that method, and [[!HTTP11]] makes it optional.</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
  1382
		
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
  1383
	<div class="ldp-issue-open">
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1384
	<div class="ldp-issue-title"><a href="http://www.w3.org/2012/ldp/track/issues/56">ISSUE-56</a></div>
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1385
	How can clients discover LDPR PUT URLs?
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1386
	</div>	
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1387
		
65
b0b7c7b7c034 Issue 34 resolution + reordered change history (newest first)
John Arwe
parents: 64
diff changeset
  1388
	<div id="ldpc-5_5_1" class="rule">5.5.1 LDPC servers SHOULD NOT allow HTTP PUT to update a LDPC’s members; 
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1389
		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
  1390
		(Conflict) status code.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1391
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1392
	<div id="ldpc-5_5_2" class="rule">5.5.2 LDPC servers MAY allow updating LDPC non-membership properties using
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1393
		HTTP PUT on a corresponding <a>non-member resource</a>, which
95
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1394
		MAY exclude server-managed properties such as <code>ldp:membershipSubject</code>, <code>ldp:membershipPredicate</code>
68405d7a9fd6 ISSUE-21 Added ldp:membershipPredicateInverse to 5.2.5 &amp; 5.5.2, created 5.2.5.1 &amp; 5.3.5.2 to indicate difference.
sspeiche
parents: 94
diff changeset
  1395
		and <code>ldp:membershipPredicateInverse</code>.
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1396
		Section <a href="#ldpc-5_7_1">5.7.1 HTTP HEAD</a> describes the process by which clients
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1397
		discover whether the server offers such a resource, and if so its URL. 
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1398
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1399
	</div>
113
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1400
	    
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1401
    <div id="ldpc-5_5_3" class="rule">5.5.3 LDPC servers SHOULD NOT allow HTTP PUT requests
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1402
		with member information in the request representation.
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1403
		See section <a href="#ldpc-member_data">5.1.1 Container
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1404
		Member Information</a> for additional details.
6fd1ba20242d ISSUE-13 Updated 5.2.3 to say any resource can be in a LDPC and inserted 5.5.3 on rejecting member data on PUT to LDPC
sspeiche
parents: 112
diff changeset
  1405
	</div>
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1406
	
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1407
	<div id="ldpc-5_5_4" class="rule">5.5.4 LDPC servers that allow member creation via PUT 
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1408
		SHOULD NOT re-use URIs, per the <a href="#ldpc-5_2_9">
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1409
		general requirements on LDPCs</a>.
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1410
	</div>
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1411
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1412
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1413
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1414
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1415
<h2 id="ldpc-HTTP_DELETE">HTTP DELETE</h2>
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
  1416
	<p>This specification imposes the following new requirements on HTTP DELETE for LDPRs 
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
  1417
		only when a LDPC supports that method.  This specification does not impose any
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
  1418
		new requirement to support that method, and [[!HTTP11]] makes it optional.</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
  1419
		
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
  1420
	<div id="ldpc-5_6_1" class="rule">5.6.1 When a LDPC member resource originally created by the LDPC (for example, one whose representation
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
  1421
	    was HTTP POST'd to the LDPC and then referenced by a membership triple) is deleted, and the LDPC server is aware of the member's deletion
65
b0b7c7b7c034 Issue 34 resolution + reordered change history (newest first)
John Arwe
parents: 64
diff changeset
  1422
		(for example, the member is managed by the same server), the LDPC server MUST also remove it from
b0b7c7b7c034 Issue 34 resolution + reordered change history (newest first)
John Arwe
parents: 64
diff changeset
  1423
		the LDPC by removing the corresponding membership triple.
b0b7c7b7c034 Issue 34 resolution + reordered