ldp.html
author sspeiche
Wed, 24 Jul 2013 09:34:52 -0400
changeset 230 b0111e4397ab
parent 229 8ddd81e6113c
child 231 38d1a7faf1c4
permissions -rw-r--r--
Updated normative references in 5.5.1 and 5.5.3
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     1
<!DOCTYPE html>
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
     2
<!-- 
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
     3
 Editor TODO:
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     4
   - The word "canonical" is used twice in the document. Since we do not deal with URI 
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     5
     canonicalization in the specification, I would remove the word and the meaning of 
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     6
     the sentences is the same.
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     7
   - section 4.6...respec is adding extra spaces to the sectionRefs
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     8
	  carefully read section 4.2 .
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
     9
	  ->
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
    10
	  carefully read section 4.2.
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
    11
	
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
    12
	  defined in section 4.8 .
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
    13
	  ->
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
    14
	  defined in section 4.8.
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
    15
    - 	The ReSpec SPARQL QUERY link is http://www.w3.org/TR/rdf-sparql-query/ , which has highlighted text
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
    16
	referring readers to SPARQL 1.1.  Which normative reference do we want?
216
c2913c5cf917 ISSUE-53 4.2.2 changed MUST to SHOULD
sspeiche
parents: 215
diff changeset
    17
 Various pre-LC comments:
229
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
    18
    - 5.2.5.1 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicate, 
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
    19
	  5.2.5.2 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicateInverse, 
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
    20
	  5.2.10 Some LDPC's have membership object's that are not directly URIs minted upon LDPC member creation, 
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
    21
	  (JohnA) I found these particularly hard to read.  And I perpetrated the SortCollation paragraphs.  
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
    22
	  Links to examples might be an 80-20 solution. 
216
c2913c5cf917 ISSUE-53 4.2.2 changed MUST to SHOULD
sspeiche
parents: 215
diff changeset
    23
    - John A's comments http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jul/0054.html
c2913c5cf917 ISSUE-53 4.2.2 changed MUST to SHOULD
sspeiche
parents: 215
diff changeset
    24
                        http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jul/0056.html
c2913c5cf917 ISSUE-53 4.2.2 changed MUST to SHOULD
sspeiche
parents: 215
diff changeset
    25
    - P-A's comments http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jul/0071.html
c2913c5cf917 ISSUE-53 4.2.2 changed MUST to SHOULD
sspeiche
parents: 215
diff changeset
    26
    - Sergio's comments http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jul/0072.html
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
    27
 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    28
<html>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    29
  <head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    30
    <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
    31
    <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
    32
    <!-- 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    33
      === NOTA BENE ===
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    34
      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
    35
      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
    36
     -->
39
f030c0ec5866 Changed to http[s] for script
sspeiche
parents: 36
diff changeset
    37
    <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
    38
    <script class='remove'>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    39
      var respecConfig = {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    40
          // 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
    41
          specStatus:           "ED",
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
          // 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
    44
          shortName:            "ldp",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    45
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    46
          // if 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
    47
          // formal title, define it here
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    48
          // subtitle   :  "an excellent document",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    49
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    50
          // 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
    51
          // publishDate:  "2009-08-06",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    52
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    53
          // 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
    54
          // the start date here:
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    55
          // copyrightStart: "2005"
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
          // 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
    58
          // and its maturity status
83
9dbd17cd4f01 General prep for 3rd draft, cleanup and a little restructure
sspeiche
parents: 82
diff changeset
    59
          previousPublishDate:  "2013-03-07",
58
36b2595db2ff Fixed up previous publication links
sspeiche
parents: 43
diff changeset
    60
          previousMaturity:  	"FPWD",
83
9dbd17cd4f01 General prep for 3rd draft, cleanup and a little restructure
sspeiche
parents: 82
diff changeset
    61
          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
    62
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    63
          // 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
    64
          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
    65
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    66
          // 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
    67
          // lcEnd: "2009-08-05",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    68
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    69
          // 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
    70
          // 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
    71
          //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
    72
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    73
          // 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
    74
          // only "name" is required
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    75
          editors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    76
              { 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
    77
                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
    78
              { 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
    79
                company: "IBM Corporation", companyURL: "http://ibm.com/" },
99
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    80
			  {name: "Ashok Malhotra", url: "ashok.malhotra@oracle.com",
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    81
			    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
    82
          ],
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
          // 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
    85
          // 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
    86
          // 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
    87
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    88
          //authors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    89
          //    { 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
    90
          //      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
    91
          //],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    92
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    93
          // name of the WG
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    94
          wg:           "Linked Data Platform Working Group",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    95
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    96
          // URI of the public WG page
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    97
          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
    98
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    99
          // 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
   100
          wgPublicList: "public-ldp-wg",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   101
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   102
          // 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
   103
          // !!!! IMPORTANT !!!!
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   104
          // 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
   105
          // 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
   106
          // Team Contact.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   107
          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
   108
          doRDFa: "1.1",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   109
      };
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   110
    </script>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   111
    <style type="text/css">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   112
    	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
   113
    	div.ldp-issue-open {
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   114
	    	border-color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   115
			background: #FBE9E9;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   116
			padding: 0.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   117
			margin: 1em 0;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   118
			position: relative;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   119
			clear: both;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   120
			border-left-width: .5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   121
			border-left-style: solid;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   122
    	}
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
   123
    	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
   124
	    	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
   125
			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
   126
			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
   127
			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
   128
			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
   129
			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
   130
			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
   131
			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
   132
    	}
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
   133
    	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
   134
	    	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
   135
			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
   136
			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
   137
			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
   138
			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
   139
			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
   140
			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
   141
			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
   142
    	}
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   143
    	div.ldp-issue-title {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   144
    	    color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   145
    	    padding-right: 1em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   146
            min-width: 7.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   147
    	}
184
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   148
		.atrisk {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   149
			padding:    1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   150
			margin: 1em 0em 0em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   151
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   152
			background: #ffc;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   153
		}
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   154
		.atrisktext {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   155
			/* content:    "Feature At Risk"; */
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   156
			display:    block;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   157
			width:  150px;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   158
			margin: -1.5em 0 0.5em 0;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   159
			font-weight:    bold;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   160
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   161
			background: #fff;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   162
			padding:    3px 1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   163
		}
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   164
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   165
    </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
   166
    <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
   167
    	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
   168
    	    font-weight:bold;
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   169
			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
   170
    	}
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
   171
		 /* 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
   172
		    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
   173
			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
   174
		*/
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
   175
    </style>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   176
  </head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   177
<body>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   178
<section id='abstract'>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   179
This document describes a set of best practices and simple approach for a read-write Linked Data architecture, based on
78
539b6b098ee8 Comments received from David Woods: abstract, paging informative (part 1)
sspeiche
parents: 77
diff changeset
   180
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
   181
data model.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   182
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   183
 
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   184
<section class="informative">
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   185
<h1 id="intro">Introduction</h1>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   186
	<p>This document describes the use
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   187
	of HTTP for accessing, updating, creating and deleting resources from
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   188
	servers that expose their resources as Linked Data.  It provides clarifications
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   189
	and extensions of the four rules 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
   190
	<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
   191
	<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
   192
		names</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   193
	<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
   194
		information, using the standards (RDF*, <abbr title="SPARQL Protocol and RDF Query Language">SPARQL</abbr>)</p>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   195
	<p>4. Include links to other URIs, so that they can
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   196
		discover more things</p>
204
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   197
	<p>This specification discusses standard HTTP and RDF techniques and best practices that you 
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   198
	should use, and anti-patterns you should avoid, when constructing clients and servers that 
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   199
	read and write Linked Data resources.</p> 
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   200
	<p>A special type of <a title="Linked Data Platform Resource">Linked Data Platform Resource</a> is a 
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   201
	<a title="Linked Data Platform Container">Container</a>.  Containers are very useful 
208
0cd38b1b5d41 Various editorial cleanups in intro
sspeiche
parents: 207
diff changeset
   202
	in building application models.  For example, universities offer a collection of classes 
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   203
	and have a collection of faculty members, each faculty member teaches a collection of courses, etc.  
208
0cd38b1b5d41 Various editorial cleanups in intro
sspeiche
parents: 207
diff changeset
   204
	This specification discusses how to work with containers.  Resources can be added to containers in 
0cd38b1b5d41 Various editorial cleanups in intro
sspeiche
parents: 207
diff changeset
   205
	several ways. As a special case, members can both be created and added to a container by overloading 
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   206
	the POST operation (see <a href="#ldpc-HTTP_POST" class="sectionRef"></a>).</p>
204
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   207
	<p>Another contribution of this specification is how to deal with large amounts of data.  
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   208
	Depending on the server’s capabilities, a GET request on a Linked Data Platform Resource 
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   209
	returns a set of pages and uses a convention to access any subsequent page (see <a href="#ldpr-Paging" class="sectionRef"></a>). </p>
204
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   210
	<p>The intention of this document is to enable additional rules and layered groupings of rules as 
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   211
	additional specifications.  The scope is intentionally narrow to provide a set of key rules for 
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   212
	reading and writing Linked Data that most, if not all, other specifications will depend upon and 
208
0cd38b1b5d41 Various editorial cleanups in intro
sspeiche
parents: 207
diff changeset
   213
	implementations will support.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   214
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   215
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   216
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   217
<h1 id="terms">Terminology</h1>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   218
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
<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
   220
</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   221
  <dl class="glossary">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   222
	<dt>Link</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   223
	<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
   224
		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
   225
		<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   226
							
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   227
	<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
   228
	<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
   229
	
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
   230
	<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
   231
	<dd>HTTP resource whose state is represented in RDF that conforms to the simple lifecycle
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   232
		patterns and conventions in <a href="#ldpr" class="sectionRef"></a>.<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   233
		
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
   234
	<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
   235
	<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
   236
	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
   237
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   238
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   239
	<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
   240
	<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
   241
	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   242
	<dt>Server</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   243
	<dd>An application
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   244
		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
   245
		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
   246
		<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
   247
		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
   248
		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
   249
		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
   250
		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
   251
		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
   252
		[[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
   253
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   254
	<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
   255
	<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
   256
		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
   257
		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
   258
		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
   259
	<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
   260
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   261
	<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
   262
	<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
   263
	<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
   264
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   265
	<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
   266
	<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
   267
	<p></p></dd>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   268
	
225
3836f2670382 Added term page resource
sspeiche
parents: 224
diff changeset
   269
	<dt><dfn>Page resource</dfn></dt>
3836f2670382 Added term page resource
sspeiche
parents: 224
diff changeset
   270
	<dd>A type of LDPR that is associated to another LDPR and whose representation 
3836f2670382 Added term page resource
sspeiche
parents: 224
diff changeset
   271
	includes a subset of the triples in the associated LDPR.
3836f2670382 Added term page resource
sspeiche
parents: 224
diff changeset
   272
	<p></p></dd>
3836f2670382 Added term page resource
sspeiche
parents: 224
diff changeset
   273
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   274
	<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
   275
	<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
   276
	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
   277
	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
   278
	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
   279
	<p></p></dd>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   280
	
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   281
	<dt><dfn>Resource inlining</dfn></dt>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   282
	<dd>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   283
		The practice of responding to a HTTP GET request made to a request URI <var>R<sub>0</sub></var> with
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   284
		a representation that includes the state of <var>R<sub>0</sub></var>, the <em>entire</em> state of resources accessed through
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   285
		<em>other</em> request URI(s) <var>R<sub>1</sub></var>...<var>R<sub>n</sub></var>, <em>and assertions</em> from the server 
178
0ec347702232 issue-58 proofing nits
John Arwe
parents: 176
diff changeset
   286
		identifying the additional resources whose
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   287
		entire state has been provided.
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   288
		<var>R<sub>1</sub></var>...<var>R<sub>n</sub></var> identify the inlined resource(s).
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   289
		See <a href="#ldpr-inlining" class="sectionRef"></a> for details.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   290
	<p></p></dd>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   291
	
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   292
	<dt><dfn>Member inlining</dfn></dt>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   293
	<dd>A special case of <a title="Resource inlining">resource inlining</a>, where all members of a container on a given
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   294
		page are inlined.  The response page may or may not include all of the container's members.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   295
		See <a href="#ldpc-inlining" class="sectionRef"></a> for details.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   296
	<p></p></dd>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   297
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   298
  </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
   299
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   300
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   301
<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
   302
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   303
	<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
   304
		format [[TURTLE]].</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   305
	<p>Commonly used namespace prefixes:</p>
93
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   306
	<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
   307
	@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
   308
	@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
   309
	@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
   310
	@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
   311
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   312
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   313
    
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   314
<section id='conformance'>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   315
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   316
<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
   317
<ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   318
  <li>1. Introduction: <b>informative</b></li>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   319
  <li>2. Terminology: <b>normative</b></li>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   320
  <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
   321
  <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
   322
  <li>5. Linked Data Platform Containers: <b>normative</b></li>
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   323
  <li>6. HTTP Header Definitions: <b>normative</b></li>
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   324
  <li>A. Acknowledgements: <b>informative</b></li> 
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   325
  <li>B. Change History: <b>informative</b></li>
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   326
  <li>C.1 Normative references: <b>normative</b></li>
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   327
  <li>C.2 Informative references: <b>informative</b></li>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   328
</ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   329
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   330
<p>A conforming <b>LDP server</b> is an application program that processes HTTP 
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   331
requests and generates HTTP responses that conform to the rules defined in <a href="#linked-data-platform-resources" class="sectionRef"></a>
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   332
and <a href="#linked-data-platform-containers" class="sectionRef"></a>.</p>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   333
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   334
<p>A conforming <b>LDP client</b> is an application program that generates HTTP 
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   335
requests and processes HTTP responses that conform to the rules defined in <a href="#linked-data-platform-resources" class="sectionRef"></a>
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   336
and <a href="#linked-data-platform-containers" class="sectionRef"></a>.</p>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   337
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   338
</section>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   339
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   340
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   341
<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
   342
<h1 id="ldpr">Linked Data Platform Resources</h1>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   343
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   344
<section class="informative">
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   345
<h2 id="ldpr-informative">Informative</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
   346
	<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
   347
		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
   348
		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
   349
		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
   350
		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
   351
		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
   352
	<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
   353
		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
   354
		others address additional needs.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   355
	<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
   356
		questions such as:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   357
	<ul>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   358
		<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
   359
		<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
   360
		<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
   361
				such as type changes?</li>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   362
		<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
   363
				creation?</li>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   364
		<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
   365
	</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
   366
	<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
   367
			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
   368
			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
   369
			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
   370
			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
   371
		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
   372
	<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
   373
		<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
   374
		<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
   375
	</ul>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   376
	<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
   377
		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
   378
		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
   379
		and how to paginate the resource representation if it gets too big.</p>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   380
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   381
</section>
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   382
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   383
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   384
<h2 id="ldpr-general">General</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   385
		
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   386
	<div id="ldpr-4_2_1" class="rule">4.2.1 LDPR servers MUST at least be HTTP/1.1 conformant servers [[!HTTP11]].</div>
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   387
	<div id="ldpr-4_2_2" class="rule">4.2.2 LDPR servers MUST provide an RDF representation for LDPRs. 
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   388
	The HTTP <code>Request-URI</code> 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
   389
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   390
	<div id="ldpr-4_2_3" class="rule">4.2.3 LDPR servers MAY host a mixture of LDPRs and non-LDPRs. For example, it
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   391
		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
   392
		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
   393
	</div>
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   394
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   395
	<div id="ldpr-4_2_4" class="rule">4.2.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
   396
		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
   397
		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
   398
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   399
	<div id="ldpr-4_2_4_1" class="rule">4.2.4.1 LDPR predicates SHOULD use standard vocabularies such as Dublin Core
188
8eaaca309617 Various editorial clean up items from editor todo list
sspeiche
parents: 187
diff changeset
   400
		[[!DC-TERMS]], RDF [[!RDF-CONCEPTS]] and RDF Schema [[!RDF-SCHEMA]], whenever
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   401
		possible.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   402
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   403
	<div id="ldpr-4_2_5" class="rule">4.2.5 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
   404
		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
   405
		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
   406
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   407
	<div id="ldpr-4_2_6" class="rule">4.2.6 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
   408
		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
   409
		could be other RDF formats, like N3 or NTriples, but non-RDF formats
182
08403f15f875 ISSUE-44 move section 4.1.7 (relationships are simple RDF links) to guidance
sspeiche
parents: 181
diff changeset
   410
		like HTML [[!HTML401]] and JSON [[!RFC4627]] would likely be common.
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   411
	</div>		
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   412
	<div id="ldpr-4_2_7" class="rule">4.2.7 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
   413
		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
   414
		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
   415
		normative requirements.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   416
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   417
	<div id="ldpr-4_2_8" class="rule">4.2.8 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
   418
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
   419
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   420
	<div id="ldpr-4_2_9" class="rule">4.2.9 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
   421
		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
   422
		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
   423
		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
   424
		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
   425
		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
   426
		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
   427
		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
   428
		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
   429
		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
   430
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   431
	<div id="ldpr-4_2_10" class="rule">4.2.10 LDPR servers
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   432
		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
   433
		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
   434
		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
   435
		in all responses to requests made 
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   436
		to the resource's HTTP <code>Request-URI</code>. This is notionally equivalent to the
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   437
		presence of a <var>(subject-URI, <code>rdf:type</code>, <code>ldp:Resource</code>)</var> triple in the resource.
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
   438
		The HTTP <code>Link</code> header is the method by which servers assert their support for the LDP specification in a way
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   439
		that clients can introspect dynamically at run-time.  Conservative clients should note that 
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   440
		<a href="#ldpr-4_2_3">a server can host a mixture of LDPRs and other resources</a>, and therefore there is no implication
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   441
		that LDP support advertised on one HTTP <code>Request-URI</code> means that other 
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   442
		resources on the same server are also LDPRs.  Each HTTP <code>Request-URI</code> needs to be 
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   443
		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
   444
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   445
	<div id="ldpr-4_2_11" class="rule">4.2.11 LDPR servers
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   446
		MUST NOT require LDP clients to implement inferencing in order to recognize the subset
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   447
		of content defined by LDP.  Other specifications built on top of LDP may require clients
188
8eaaca309617 Various editorial clean up items from editor todo list
sspeiche
parents: 187
diff changeset
   448
		to implement inferencing [[!RDF-CONCEPTS]].  The practical implication is that all content defined by LDP
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   449
		must be explicitly represented. 
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   450
	</div>
224
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   451
	<div id="ldpr-4_2_12" class="rule">4.2.12 LDPR servers MUST assign the default base-URI for [[!RFC3987]] relative-URI resolution to be the HTTP 
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   452
		<code>Request-URI</code> when the resource already exists, and to the URI of the created resource when the request results 
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   453
		in the creation of a new resource.
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   454
	</div>
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   455
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   456
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   457
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   458
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   459
<h2 id="ldpr-HTTP_GET">HTTP GET</h2>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   460
	<div id="ldpr-4_3_1" class="rule">4.3.1 LDPR servers MUST support the HTTP <code>GET</code> Method for LDPRs.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   461
	</div>
228
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   462
	<div id="ldpr-4_3_2" class="rule">4.3.2 LDPR servers MUST support the HTTP response headers defined in 
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   463
		<a href="#ldpr-HTTP_OPTIONS" class="sectionRef"></a>.
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   464
	</div>
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   465
	<div id="ldpr-4_3_3" class="rule">4.3.3 LDPR servers SHOULD provide a <code>text/turtle</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
   466
		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
   467
	</div>
228
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   468
	<div id="ldpr-4_3_4" class="rule">4.3.4 LDPR servers MAY 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
   469
		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
   470
		necessary to conform to this specification, using standard HTTP content negotiation. 
220
ff8b1635f35a ISSUE-53 4.2.3 changed MUST to SHOULD
sspeiche
parents: 216
diff changeset
   471
		If the client does not indicate a preference, <code>text/turtle</code> SHOULD be returned.
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   472
	</div>
228
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   473
	<div id="ldpr-4_3_5" class="rule">4.3.5 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
   474
		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
   475
	</div>
228
ec118c66c122 Moved 4.7.2 (from HEAD) to 4.3.2 (GET), shifted rest of GET section by one
sspeiche
parents: 227
diff changeset
   476
	<div id="ldpr-4_3_6" class="rule">4.3.6 In the absence of special knowledge of the application or domain, LDPR
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   477
		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
   478
		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
   479
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   480
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   481
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   482
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   483
<h2 id="ldpr-HTTP_POST">HTTP POST</h2>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   484
	<p>This specification adds no new requirements on HTTP <code>POST</code> for LDPRs 
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
   485
		even when the LDPR supports that method.  This specification does not impose any
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   486
		new requirement to support that method, and [[!HTTP11]] makes it optional.</p>
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   487
	<p>Creation of LDPRs can be done via <code>POST</code> (<a href="#ldpc-HTTP_POST" class="sectionRef"></a>) or
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   488
		<code>PUT</code> (<a href="#ldpc-HTTP_PUT" class="sectionRef"></a>) to a LDPC, see those 
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
   489
		sections for more details.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   490
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   491
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   492
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   493
<h2 id="ldpr-HTTP_PUT">HTTP PUT</h2>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   494
	<p>This specification imposes the following new requirements on HTTP <code>PUT</code> for LDPRs 
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
   495
		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
   496
		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
   497
		
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   498
	<div id="ldpr-4_5_1" class="rule">4.5.1 If HTTP <code>PUT</code> is performed on an existing resource, LDPR servers MUST
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   499
		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
   500
		the entity representation in the body of the request. 
92
18891627c17f Fixed 2 old references to BPR
sspeiche
parents: 91
diff changeset
   501
		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
   502
		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
   503
		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
   504
		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
   505
		with existing state stored on the server for a resource MUST use HTTP
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   506
		<code>PATCH</code>, not HTTP <code>PUT</code>.
61
2f8a2d58e65c ISSUE-11 - 4.4.1 Relaxed the MUST ignore dc:modified/creator to MAY
sspeiche
parents: 60
diff changeset
   507
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   508
		
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   509
	<div id="ldpr-4_5_2" class="rule">4.5.2 LDPR clients SHOULD use the HTTP <code>If-Match</code>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   510
		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
   511
		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
   512
		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
   513
		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
   514
		(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
   515
		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
   516
		(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
   517
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   518
	<div id="ldpr-4_5_3" class="rule">4.5.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
   519
		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
   520
		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
   521
		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
   522
		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
   523
		set.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   524
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   525
	<div id="ldpr-4_5_4" class="rule">4.5.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
   526
		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
   527
		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
   528
		to a known set of predicates, but LDPR clients MUST NOT restrict themselves to a known set of predicates 
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   529
		when their intent is to perform a later HTTP <code>PUT</code> to update the resource.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   530
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   531
	<div id="ldpr-4_5_5" class="rule">4.5.5 An LDPR client MUST preserve all triples retrieved using HTTP <code>GET</code> that
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   532
		it doesn’t change whether it understands the predicates or not, when
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   533
		its intent is to perform an update using HTTP <code>PUT</code>.  The use of HTTP
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   534
		<code>PATCH</code> instead of HTTP <code>PUT</code> for update avoids this burden for clients
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   535
		[[RFC5789]].
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   536
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   537
	<div id="ldpr-4_5_6" class="rule">4.5.6 LDPR servers MAY choose to allow the creation of new resources using HTTP <code>PUT</code>.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   538
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   539
	<div id="ldpr-4_5_7" class="rule">4.5.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
   540
		requiring detailed knowledge of server-specific constraints.  
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   541
		This is a consequence of the requirement to <a href="#ldpr-4_2_9">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
   542
	</div>		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   543
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   544
		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   545
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   546
<h2 id="ldpr-HTTP_DELETE">HTTP DELETE</h2>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   547
	<p>This specification imposes the following new requirements on HTTP <code>DELETE</code> for LDPRs 
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
   548
		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
   549
		new requirement to support that method, and [[!HTTP11]] makes it optional.</p>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   550
	<p>Additional requirements on HTTP <code>DELETE</code> of LDPRs within containers can be found in
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   551
	<a href="#ldpc-HTTP_DELETE" class="sectionRef"></a>.</p>
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   552
		
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   553
	<div id="ldpr-4_6_1" class="rule">4.6.1 LDPR servers MUST remove the resource identified by the <code>Request-URI</code>.
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   554
		After a successful HTTP <code>DELETE</code>, a subsequent HTTP <code>GET</code> on the same
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   555
		<code>Request-URI</code> 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
   556
		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
   557
	</div>
19
52d63fdf6ae8 ISSUE-24: Should DELETED resources remain deleted?
sspeiche
parents: 18
diff changeset
   558
	
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   559
	<div id="ldpr-4_6_2" class="rule">4.6.2 LDPR servers MAY alter the state of other resources as a result of an
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   560
		HTTP <code>DELETE</code> request. For example, it is acceptable for the server to
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   561
		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
   562
		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
   563
		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
   564
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   565
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   566
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   567
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   568
<h2 id="ldpr-HTTP_HEAD">HTTP HEAD</h2>
114
1629ff899e0e Issue-65 remove firstPage
John Arwe
parents: 113
diff changeset
   569
	<p>Note that certain LDP mechanisms, such as paging, rely on HTTP headers, and HTTP generally requires that
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   570
		<code>HEAD</code> responses include the same headers as <code>GET</code> responses.  
229
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
   571
		Thus, implementers should also carefully read <a href="#ldpr-HTTP_GET" class="sectionRef"></a> 
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
   572
		and <a href="#ldpr-HTTP_OPTIONS" class="sectionRef"></a>.</p>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   573
	<div id="ldpr-4_7_1" class="rule">4.7.1 LDPR servers MUST support the HTTP <code>HEAD</code> method.</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   574
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   575
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   576
<section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   577
<h2 id="ldpr-HTTP_PATCH">HTTP PATCH</h2>
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   578
	<p>This specification imposes the following new requirements on HTTP <code>PATCH</code> for LDPRs 
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
   579
		only when the LDPR supports that method.  This specification does not impose any
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   580
		new requirement to support that method, and [[!HTTP11]] makes it optional.</p>	
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   581
	<div id="ldpr-4_8_1" class="rule">4.8.1 LDPR servers MAY implement HTTP <code>PATCH</code> 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
   582
		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
   583
		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
   584
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   585
	<div id="ldpr-4_8_2" class="rule">4.8.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
   586
		requiring detailed knowledge of server-specific constraints.  
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   587
		This is a consequence of the requirement to <a href="#ldpr-4_2_9">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
   588
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   589
	<div id="ldpr-4_8_3" class="rule">4.8.3 LDPR servers SHOULD NOT allow clients to create new resources using <code>PATCH</code>.
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   590
		<a href="#ldpc-HTTP_POST"><code>POST</code> (to an LDPC)</a> and/or <a href="#ldpc-HTTP_PUT"><code>PUT</code></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
   591
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   592
	<div id="ldpr-4_8_4" class="rule">4.8.4 LDPR servers that support <code>PATCH</code> MUST
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   593
		include an <code>Accept-Patch</code> HTTP response header [[!RFC5789]] on HTTP <code>OPTIONS</code>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   594
		requests, listing patch document media type(s) supported by the server.
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   595
	</div>
186
a3471f4667d8 Removed closed issues that required no new spec changes: 50, 56, 16, 19, 17
sspeiche
parents: 185
diff changeset
   596
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   597
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   598
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   599
<section>
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   600
<h2 id="ldpr-HTTP_OPTIONS">HTTP OPTIONS</h2>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   601
	<p>This specification imposes the following new requirements on HTTP <code>OPTIONS</code> for LDPRs 
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   602
		beyond those in [[!HTTP11]].  Other sections of this specification, for example 
167
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
   603
		<a href="#ldpr-HTTP_PATCH">PATCH</a>,
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
   604
		<a href="#header-accept-post">Accept-Post</a>
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
   605
		and <a href="#ldpr-paging-HTTP_OPTIONS">Paging</a>,
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   606
		add other requirements on <code>OPTIONS</code> responses.
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   607
		</p>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   608
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   609
	<div id="ldpr-4_9_1" class="rule">4.9.1 LDPR servers MUST support the HTTP <code>OPTIONS</code> method.</div>		
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   610
	<div id="ldpr-4_9_2" class="rule">4.9.2 LDPR servers MUST indicate their support for HTTP Methods by
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   611
		responding to a HTTP <code>OPTIONS</code> request on the LDPR’s URL with the HTTP
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   612
		Method tokens in the HTTP response header <code>Allow</code>.
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   613
	</div>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   614
		
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   615
</section>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   616
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   617
<section>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   618
<h2 id="ldpr-Paging">Paging</h2>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   619
191
ab6b24fcb2b6 Fixed various section marking issues with informative
sspeiche
parents: 190
diff changeset
   620
<section class="informative">
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   621
<h3 id="ldpr-PagingIntro">Introduction</h3>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   622
	<p>It sometimes happens that a
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   623
		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
   624
		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
   625
		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
   626
		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
   627
		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
   628
		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
   629
		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
   630
		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
   631
		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
   632
		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
   633
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   634
		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
   635
		simple RDF pattern. For each resource, <code>&lt;resourceURL&gt;</code>, we define a new
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   636
		'first page' resource.  In this example, its URL will be <code>&lt;resourceURL&gt;?firstPage</code>,
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   637
		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
   638
		The triples in the representation of the each page
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   639
		are typically a subset of the triples in the resource
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   640
		- same subject, predicate and object.
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
	<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
   643
		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
   644
		using a 303 “See Other” redirect to the actual URL for the page
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
   645
		resource.  Alternatively, clients may introspect the resource for a paged representation 
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
   646
		and use it preferentially when available.</p>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   647
	<p>
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   648
		Looking at an example resource representing Example Co.'s customer
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   649
		relationship data, we’ll split the response across two pages.  
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   650
		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
   651
		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
   652
		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
   653
		of the first page resource.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   654
		The client then 
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   655
		requests the first page as <code>http://example.org/customer-relations?firstPage</code>:
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   656
	</p>
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   657
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   658
<pre class="example"># The following is the representation of
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   659
#    http://example.org/customer-relations?firstPage
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   660
@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
   661
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   662
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   663
@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
   664
@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
   665
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   666
&lt;http://example.org/customer-relations&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   667
   a o:CustomerRelations;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   668
   dcterms:title "The customer information for Example Co.";
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   669
   o:client &lt;client#JohnZSmith&gt;, &lt;client#BettyASmith&gt;, &lt;client#JoanRSmith&gt;. 
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   670
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   671
&lt;http://example.org/customer-relations?firstPage&gt;
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   672
   a ldp:Page;
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   673
   ldp:pageOf &lt;http://example.org/customer-relations&gt;;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   674
   ldp:nextPage &lt;http://example.org/customer-relations?p=2&gt;.
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   675
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   676
&lt;client#JohnZSmith&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   677
   a foaf:Person;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   678
   o:status o:ActiveCustomer;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   679
   foaf:name "John Z. Smith".
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   680
&lt;client#BettyASmith&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   681
   a foaf:Person;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   682
   o:status o:PreviousCustomer;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   683
   foaf:name "Betty A. Smith".
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   684
 &lt;client#BettyASmith&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   685
   a foaf:Person;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   686
   o:status o:PotentialCustomer;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   687
   foaf:name "Joan R. Smith".</pre>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   688
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   689
	<p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   690
		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
   691
		for the next page:
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   692
	</p>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   693
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   694
<pre class="example"># The following is the representation of
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   695
#  http://example.org/customer-relations?p=2
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   696
@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
   697
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   698
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   699
@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
   700
@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
   701
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   702
&lt;http://example.org/customer-relations&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   703
   o:client &lt;client#GlenWSmith&gt;, &lt;client#AlfredESmith&gt;. 
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   704
 
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   705
&lt;http://example.org/customer-relations?p=2&gt;
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   706
   a ldp:Page;
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   707
   ldp:pageOf &lt;http://example.org/customer-relations&gt;;
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   708
   ldp:nextPage rdf:nil.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   709
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   710
&lt;client#GlenWSmith&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   711
   a foaf:Person;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   712
   o:status o:ActiveCustomer, o:GoldCustomer;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   713
   foaf:name "Glen W. Smith".
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   714
198
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   715
&lt;client#AlfredESmith&gt;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   716
   a foaf:Person;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   717
   o:status o:ActiveCustomer, o:BronzeCustomer;
8afbf5c571e1 Updated LDPR paging section with new non-container example
sspeiche
parents: 194
diff changeset
   718
   foaf:name "Alfred E. Smith".</pre>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   719
	<p>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   720
		In this example, there are only two customers provided in the
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   721
		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
   722
		predicate of the page resource.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   723
	</p>
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
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   726
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   727
<h3 id="ldpr-PagingGET">HTTP GET</h3>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   728
<p>In addition to the requirements set forth in <a href="#ldpr-HTTP_GET" class="sectionRef"></a> on HTTP <code>GET</code>, LDPR servers that support paging must also follow the requirements in this section</p>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   729
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   730
	<div id="ldpr-pagingGET-1" class="rule">4.10.2.1 LDPR servers SHOULD allow clients to retrieve large LDPRs in
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   731
		pages. In responses to <code>GET</code> requests with an LDPR as the <code>Request-URI</code>, 
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   732
		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
   733
		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
   734
		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
   735
		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
   736
		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
   737
		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
   738
		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
   739
		The representation for any page, including the first, will include
201
45d0825d4dfc fix broken sectionRef to paging
John Arwe
parents: 200
diff changeset
   740
		the URL for the next page. See <a href="#ldpr-Paging" class="sectionRef"></a> for additional details.
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   741
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   742
	<div id="ldpr-pagingGET-2" class="rule">4.10.2.2 LDPR servers MAY split the response representation of any LDPR. 
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   743
		This is known as
201
45d0825d4dfc fix broken sectionRef to paging
John Arwe
parents: 200
diff changeset
   744
		server-initiated paging. See <a href="#ldpr-Paging" class="sectionRef"></a> for
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   745
		additional details.
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   746
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   747
	<div id="ldpr-pagingGET-3" class="rule">4.10.2.3 LDPR servers that initiate paging SHOULD respond to requests for a LDPR
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   748
		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
   749
		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
   750
	</div>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   751
	<div id="ldpr-pagingGET-4" class="rule">4.10.2.4 LDPR servers that support paging MUST include in the page
229
8ddd81e6113c Various minor editorial fixups
sspeiche
parents: 228
diff changeset
   752
		representation a representation for the page resource.
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   753
	</div>
227
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   754
	<div id="ldpr-pagingGET-4_1" class="rule">4.10.2.4.1 The page resource representation MUST have one triple with the subject
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   755
		of the page, predicate of <code>ldp:nextPage</code> and
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   756
		object being the URL for the subsequent page.
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   757
<pre class="example">&lt;http://example.org/customer-relations?firstPage&gt;
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   758
    ldp:nextPage  &lt;http://example.org/customer-relations?p=2&gt; .</pre>
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   759
	</div>
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   760
	<div id="ldpr-pagingGET-4_2" class="rule">4.10.2.4.2 The last page resource representation MUST have one triple with the subject of the 
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   761
	    last page, predicate of <code>ldp:nextPage</code> and object being <code>rdf:nil</code>.
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   762
<pre class="example">&lt;http://example.org/customer-relations?p=2&gt;
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   763
    ldp:nextPage  rdf:nil .</pre>	    
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   764
	</div>
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   765
	<div id="ldpr-pagingGET-4_3" class="rule">4.10.2.4.3 The page resource representation SHOULD have one triple to indicate its
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   766
		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
   767
		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
   768
		whose  subject is the URL of the page, predicate is <code>ldp:pageOf</code>,
206
812d3e1f3412 fix LDPC/LDPR typo
John Arwe
parents: 202
diff changeset
   769
		and object is the URL of the LDPR.
227
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   770
<pre class="example">&lt;http://example.org/customer-relations?firstPage&gt;
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   771
    rdf:type    ldp:Page;
1bb410ec95dd Moved 4.10.2.5->4.10.2.4.3,4.10.2.6->4.10.2.4.1,4.10.2.7->4.10.2.4.2 and added samples
sspeiche
parents: 226
diff changeset
   772
    ldp:pageOf  &lt;http://example.org/customer-relations&gt;.</pre>
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   773
	</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   774
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   775
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   776
<section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   777
<h3 id="ldpr-paging-HTTP_OPTIONS">HTTP OPTIONS</h3>
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   778
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   779
<div id="ldpr-4_10_3_1" class="rule">4.10.3.1 LDPR servers MUST indicate their support for client-initiated paging by
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   780
	responding to a HTTP <code>OPTIONS</code> request on the LDPR’s URL with the HTTP
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   781
	response header for link relations using the header name of <code>Link</code> and link relation type <code>first</code> [[!RFC5988]].
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   782
</div>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   783
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   784
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   785
</section>
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   786
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   787
<section>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   788
<h2 id="ldpr-inlining">Resource Inlining: Representing Multiple Resources in a Response</h2>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   789
184
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   790
	<div class="atrisk"><p class="atrisktext">Feature At Risk</p>
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   791
		<p>The LDP Working Group proposes incorporation of the features described in this section.</p>
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   792
		<ul>
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   793
		<li>The addition of <a>resource inlining</a> to save application latency
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   794
		and server/network load in controlled environments.</li>
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   795
		</ul>
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   796
		<p>Feedback, both positive and negative, is invited by sending email to the mailing list 
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   797
		in <a href="#sotd">Status of This Document</a>.</p>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   798
	</div>
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   799
191
ab6b24fcb2b6 Fixed various section marking issues with informative
sspeiche
parents: 190
diff changeset
   800
<section class="informative">
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   801
<h3 id="ldpr-InliningIntro">Introduction</h3>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   802
	<p>Servers whose resources are relatively granular may wish to optimistically provide more information
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   803
		in a response than what the client actually requested, in order to reduce the average number of client
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   804
		application HTTP flows.  LDP provides some basic building blocks to enable
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   805
		this, that implementations can re-use to build complete solutions, and they may serve as 
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   806
		complete solutions in applications with sufficient controls on resource content.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   807
		These building blocks are <a>resource inlining</a> and <a>member inlining</a>.
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   808
	</p>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   809
	
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   810
	<p>LDP does not provide clients with any way to detect whether or not the server is capable of 
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   811
		inlining (all its resources or any specific resource), nor does it provide clients 
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   812
		with any way to influence which (if any) resources are inlined in any given response.
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   813
	</p>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   814
	
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   815
	<p>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   816
		Servers can return extra triples on any response, but fail to meet the definition of <a>resource inlining</a>, 
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   817
		by either returning a subset of the other resource(s) triples or by failing to assert that
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   818
		all triples were included (even through they were).  Clients might still find the extra
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   819
		information useful, but the only way for clients to be sure they had all available 
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   820
		information would be to make a HTTP <code>GET</code> request against all the other resource(s).
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   821
		In some applications, knowing that these requests are unnecessary saves significant latency
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   822
		and server/network load.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   823
	</p>
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   824
</section> <!-- h3 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   825
191
ab6b24fcb2b6 Fixed various section marking issues with informative
sspeiche
parents: 190
diff changeset
   826
<section class="informative">
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   827
<h3 id="ldpr-InliningWarnings">Use with Care</h3>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   828
	<p>The building blocks LDP provides can only be safely used if certain assumptions hold.  
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   829
	Said another way, resource inlining solves a subset of scenarios, not all scenarios in the general case &mdash;
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   830
	so if you care about any of the following in a given application, your server should avoid returning
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   831
	<em>any</em> triples beyond those found at the HTTP <code>Request-URI</code>.
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   832
	</p>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   833
	<ul>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   834
	<li><p>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   835
		Provenance is lost: because RDF graphs from multiple HTTP resources are merged in the
178
0ec347702232 issue-58 proofing nits
John Arwe
parents: 176
diff changeset
   836
		response without attributing each statement to its originating graph (i.e. without quotation),
0ec347702232 issue-58 proofing nits
John Arwe
parents: 176
diff changeset
   837
		it is impossible for a client to reliably know which
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   838
		triples came from which HTTP resource(s).  A general solution allowing quotation is
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   839
		RDF Datasets; that is expected to be standardized independently, and can be used in these cases
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   840
		once it is available.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   841
	</p></li>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   842
	<li><p>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   843
		The response may contain contradictions that are trivially obvious (or subtle), and those may or 
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   844
		may not be a problem at the application level.  For a trivial example, two triples may have
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   845
		identical subjects and predicates but different objects: "75F is too hot"; "75F is too cold".
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   846
		Again, quotation via RDF Datasets (or any equivalent mechanism) is believed to provide a 
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   847
		long term solution once standardized.
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   848
	</p></li>
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   849
	</ul>
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   850
</section> <!-- h3 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   851
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   852
<section>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   853
<h3 id="ldpr-InliningGET">HTTP GET</h3>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   854
	<p>In addition to the requirements set forth in other sections, 
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
   855
		LDPR servers that support <a>resource inlining</a>
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   856
		must also follow the requirements in this section.</p>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   857
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   858
	<div id="ldpr-4_11_3_1" class="rule">4.11.3.1 LDPR servers that support <a>resource inlining</a> MUST 
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   859
		include a <code>ldp:Page</code> resource in the representation describing the set of inlined resources, 
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   860
		whether or not the representation contains subsequent pages.  The <code>ldp:Page</code> resource conceptually contains
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   861
		metadata about the representation; it is usually not part of the HTTP resource's state, and its presence does not indicate that
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   862
		the LDPR server supports <a href="#ldpr-Paging">paging</a> in general.  
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   863
		LDPR servers that include the <code>ldp:Page</code> resource for inlining and also support 
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   864
		paging MUST use the same <code>ldp:Page</code> resource for the triples required by both,
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   865
		in order to minimize client code complexity.
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   866
		The <code>ldp:Page</code> resource's triples are the LDP-defined means by which the servers communicate to LDP clients 
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   867
		the set of HTTP resources whose state is included in a representation, allowing clients to avoid HTTP <code>GET</code>
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   868
		requests for them.
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   869
	</div>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   870
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   871
	<div id="ldpr-4_11_3_2" class="rule">4.11.3.2 LDPR servers that support <a>resource inlining</a> MUST 
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   872
		include the <code>ldp:Page</code> resource described in <a href="#ldpr-4_11_3_1">section 4.11.3.1</a> 
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   873
		one triple for each inlined resource, 
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   874
		whose subject is the <code>ldp:Page</code> resource URI,
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   875
		whose predicate is <code>ldp:inlinedResource</code>, and
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   876
		whose object is the HTTP <code>Request-URI</code> of an inlined resource [[!HTTP11]].
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   877
	</div>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   878
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   879
	<div id="ldpc-4_11_3_3" class="rule">4.11.3.3 LDPR clients SHOULD avoid making HTTP <code>GET</code> requests
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   880
		against any resource whose HTTP <code>Request-URI</code> is the object of a triple of the form 
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   881
		described in <a href="#ldpc-4_11_3_2">section 4.11.3.2</a>, unless there are application-specific
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   882
		reasons for doing so.  Clients should note that by the time the representation is received, the actual state
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   883
		of any inlined resource(s) may have changed due to subsequent requests.
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   884
	</div>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   885
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   886
	<div id="ldpc-4_11_3_4" class="rule">4.11.3.4 LDPR clients MUST NOT assume that LDPR representations
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   887
		lacking a <code>ldp:Page</code> resource or lacking the triple
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   888
		described in <a href="#ldpc-4_11_3_2">section 4.11.3.2</a> contain all the triples for any resource(s)
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   889
		listed in the representation whose HTTP <code>Request-URI</code> differs from 
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   890
		the HTTP <code>Request-URI</code> used by the client.  
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   891
		The representation might in fact contain all such triples, or some
175
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   892
		subset of them, and that might or might not be completely adequate for the client's intended usage, but
bcc13fba2593 issue-58 action 87 warnings about inlining
John Arwe
parents: 174
diff changeset
   893
		an LDP client has no way to discern from such a representation which interpretation is accurate.
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   894
	</div>
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   895
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   896
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   897
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   898
</section> <!-- h2 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   899
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   900
</section> <!-- h1 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   901
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   902
<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
   903
<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
   904
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   905
<section class="informative">		
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   906
<h2 id="ldpc-informative">Informative</h2>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   907
	<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
   908
		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
   909
		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
   910
		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
   911
		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
   912
		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
   913
		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
   914
		are:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   915
	<ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   916
		<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
   917
		<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
   918
		<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
   919
		<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
   920
		<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
   921
	</ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   922
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   923
		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
   924
		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
   925
		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
   926
		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
   927
		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
   928
		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
   929
		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
   930
		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
   931
		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
   932
		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
   933
		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
   934
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   935
	<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
   936
		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
   937
		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
   938
		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
   939
		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
   940
		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
   941
		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
   942
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   943
	<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
   944
		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
   945
		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
   946
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   947
<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
   948
#    http://example.org/container1/
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   949
@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
   950
@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
   951
@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
   952
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   953
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   954
   a ldp:Container;
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
   955
   ldp:membershipSubject &lt;&gt;
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
   956
   ldp:membershipPredicate rdfs:member;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
   957
   ldp:membershipObject ldp:MemberSubject;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   958
   dcterms:title "A very simple container";
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   959
   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
   960
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   961
	<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
   962
			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
   963
			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
   964
			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
   965
			to the container.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   966
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   967
	<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
   968
	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
   969
	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
   970
	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
   971
			
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   972
<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
   973
#   http://example.org/netWorth/nw1
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   974
@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
   975
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   976
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   977
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   978
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   979
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   980
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   981
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   982
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   983
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   984
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   985
      &lt;liabilityContainer/l3&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   986
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   987
	<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
   988
	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
   989
	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
   990
	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
   991
	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
   992
	illustrated below:
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   993
	</p>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   994
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   995
<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
   996
#   http://example.org/netWorth/nw1
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   997
@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
   998
@prefix o: &lt;http://example.org/ontology/&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
   999
&lt;&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1000
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1001
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1002
   o:asset 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1003
      &lt;assetContainer/a1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1004
      &lt;assetContainer/a2&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1005
   o:liability 
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1006
      &lt;liabilityContainer/l1&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1007
      &lt;liabilityContainer/l2&gt;,
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1008
      &lt;liabilityContainer/l3&gt;.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1009
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1010
&lt;assetContainer/&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1011
   a ldp:Container;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1012
   dcterms:title "The assets of JohnZSmith";
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1013
   ldp:membershipSubject &lt;.&gt;;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1014
   ldp:membershipPredicate o:asset;
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1015
   ldp:membershipObject ldp:MemberSubject.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1016
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1017
&lt;liabilityContainer/&gt;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1018
   a ldp:Container;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1019
   dcterms:title "The liabilities of JohnZSmith";
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1020
   ldp:membershipSubject &lt;.&gt;;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1021
   ldp:membershipPredicate o:liability;
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1022
   ldp:membershipObject ldp:MemberSubject.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1023
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1024
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1025
	<p>The essential structure of the container is
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1026
	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
  1027
	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
  1028
	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
  1029
	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
  1030
	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
  1031
	to the container. You might wonder why
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1032
	<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
  1033
	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
  1034
	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
  1035
	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
  1036
	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
  1037
	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
  1038
	resources allows both assets and liabilities to be created.
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1039
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1040
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
  1041
<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
  1042
# 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
  1043
#   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
  1044
@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
  1045
@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
  1046
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1047
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1048
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1049
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1050
   ldp:membershipPredicate o:asset;
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1051
   ldp:membershipObject ldp:MemberSubject.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1052
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1053
&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
  1054
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1055
   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
  1056
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1057
	<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
  1058
			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
  1059
			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
  1060
			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
  1061
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1062
	
191
ab6b24fcb2b6 Fixed various section marking issues with informative
sspeiche
parents: 190
diff changeset
  1063
	<div id="ldpc-member_data" class="rule informative">5.1.1 Container Member Information</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1064
	<p>In many – perhaps most – applications
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1065
		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
  1066
		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
  1067
		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
  1068
		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
  1069
		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
  1070
		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
  1071
		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
  1072
		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
  1073
		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
  1074
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1075
	<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
  1076
		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
  1077
		(assets) in the representation:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1078
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1079
<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
  1080
#	 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
  1081
@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
  1082
@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
  1083
@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
  1084
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1085
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1086
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1087
   dcterms:title "The assets of JohnZSmith";
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1088
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1089
   ldp:membershipPredicate o:asset;
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1090
   ldp:membershipObject ldp:MemberSubject.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1091
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1092
&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
  1093
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1094
   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
  1095
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1096
&lt;a1&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1097
   a o:Stock;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1098
   o:value 10000.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1099
&lt;a2&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1100
   a o:Bond;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1101
   o:value 20000.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1102
&lt;a3&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1103
   a o:RealEstateHolding;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1104
   o:value 300000.</pre>
185
58f49a8417b8 ISSUE-51 Added how a LDPR can show which LDPC is it in
sspeiche
parents: 184
diff changeset
  1105
	<p>In a similar manner, when the representation for the resource of asset <var>.../&lt;a1&gt;</var> is returned a 
58f49a8417b8 ISSUE-51 Added how a LDPR can show which LDPC is it in
sspeiche
parents: 184
diff changeset
  1106
	server may include the membership triple of the form <var>(.../assetContainer/, o:asset, .../a1).</var></p>
102
04e3e77e4e78 Added open issues 50, 51, 55, 56, 57, 58, 59
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 99
diff changeset
  1107
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1108
	<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
  1109
	</div>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1110
	<p>The representation of a container
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1111
		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
  1112
		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
  1113
		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
  1114
		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
  1115
		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
  1116
		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
  1117
		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
  1118
		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
  1119
	<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
  1120
		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
  1121
		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
  1122
		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
  1123
		associating SPARQL endpoints. [[SPARQL-QUERY]]</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1124
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1125
		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
  1126
		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
  1127
		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
  1128
		<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
  1129
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1130
<p>Request:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1131
<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
  1132
Host: example.org
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1133
Accept: text/turtle; charset=UTF-8
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1134
</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1135
<p>Response:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1136
<pre class="example">HTTP/1.1 200 OK
13
eea17080fdf2 Minor typo fix and some notes
sspeiche
parents: 12
diff changeset
  1137
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
  1138
ETag: "_87e52ce291112"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1139
Content-Length: 325
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1140
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1141
@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
  1142
@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
  1143
@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
  1144
74
30624f0a7534 Adding trailing '/' on Container URLs to help with readability based on WG suggestion
sspeiche
parents: 73
diff changeset
  1145
&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
  1146
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1147
   dcterms:title "A Linked Data Platform Container of Acme Resources";
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1148
   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
  1149
   ldp:membershipPredicate rdfs:member;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1150
   ldp:membershipObject ldp:MemberSubject;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1151
   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
  1152
   
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
  1153
	<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
  1154
		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
  1155
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
  1156
	<div id="ldpc-ordering" class="rule">5.1.3 Ordering</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1157
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1158
		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
  1159
		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
  1160
		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
  1161
		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
  1162
		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
  1163
		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
  1164
		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
  1165
		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
  1166
		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
  1167
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1168
	<p>
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1169
		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
  1170
		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
  1171
		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
  1172
		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
  1173
		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
  1174
		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
  1175
		members on the next and previous pages.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1176
		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
  1177
		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
  1178
		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
  1179
		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
  1180
		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
  1181
		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
  1182
		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
  1183
		<code>ldp:containerSortCriteria</code> relation.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1184
		Each member of the ordered list exposes one <code>ldp:containerSortCriterion</code>, 
212
97ac8b356958 Fixed a couple typos in 5.1.4
sspeiche
parents: 211
diff changeset
  1185
		consisting of a <code>ldp:containerSortOrder</code>, 
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1186
		<code>ldp:containerSortPredicate</code>, and 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1187
		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
  1188
	</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1189
	<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
  1190
		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
  1191
<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
  1192
#   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
  1193
@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
  1194
@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
  1195
@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
  1196
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1197
&lt;&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1198
   a ldp:Container;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1199
   dcterms:title "The assets of JohnZSmith";
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1200
   ldp:membershipSubject &lt;http://example.org/netWorth/nw1&gt;;
210
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1201
   ldp:membershipPredicate o:asset;
c2479399b854 Inserted ldp:membershipObject into examples
sspeiche
parents: 208
diff changeset
  1202
   ldp:membershipObject ldp:MemberSubject.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1203
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1204
&lt;?firstPage&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1205
   a ldp:Page;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1206
   ldp:pageOf &lt;&gt;;
212
97ac8b356958 Fixed a couple typos in 5.1.4
sspeiche
parents: 211
diff changeset
  1207
   ldp:containerSortCriteria (#SortValueAscending).
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1208
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1209
&lt;#SortValueAscending&gt;
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1210
   a ldp:ContainerSortCriterion;
226
0e1efef6e333 Changed ldp:ascending->ldp:Ascending, ldp:descending->ldp:Descending, ldp:non-member-resource ->ldp:nonMemberResource
sspeiche
parents: 225
diff changeset
  1211
   ldp:containerSortOrder ldp:Ascending;
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1212
   ldp:containerSortPredicate o:value.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1213
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1214
&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
  1215
   a o:NetWorth;
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1216
   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
  1217
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1218
&lt;a1&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1219
   a o:Stock;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1220
   o:value 100.00.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1221
&lt;a2&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1222
   a o:Cash;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1223
   o:value 50.00.
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
  1224
&lt;a3&gt;
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1225
   a o:RealEstateHolding;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1226
   o:value 300000.</pre>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1227
		<p>
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1228
			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
  1229
			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
  1230
			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
  1231
			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
  1232
			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
  1233
			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
  1234
			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
  1235
		</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1236
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1237
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
  1238
<section>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1239
<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
  1240
	<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
  1241
		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
  1242
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1243
	<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
  1244
		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
  1245
	</div>
108
075acf700bb9 Updated wording for 5.2.2 from to be more clear
sspeiche
parents: 107
diff changeset
  1246
	<div id="ldpc-5_2_2" class="rule">5.2.2 For an LDPC,
188
8eaaca309617 Various editorial clean up items from editor todo list
sspeiche
parents: 187
diff changeset
  1247
	the same resource (LDPR or not) 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
  1248
	more than one LDPC.
85
612f57f3b28e Additional fix in 5.2.2 for ISSUE-34
sspeiche
parents: 84
diff changeset
  1249
	</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
  1250
	<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
  1251
		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
  1252
		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
  1253
		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
  1254
		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
  1255
		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
  1256
		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
  1257
		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
  1258
	</div>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
  1259
	<div id="ldpc-5_2_4" class="rule">5.2.4 An LDPC representation MUST contain one triple 
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1260
		whose subject is the LDPC URI, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1261
		whose predicate is the <code>ldp:membershipSubject</code>, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1262
		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
  1263
	</div>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
  1264
	<div id="ldpc-5_2_5" class="rule">5.2.5 An LDPC representation MUST contain one triple 
130
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1265
		whose subject is the LDPC URI, 
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1266
		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
  1267
		The object of the triple is constrained by other sections, such as
1e1f91d7effc issue-75 membershipXXX required
John Arwe
parents: 129
diff changeset
  1268
		<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
  1269
	</div>
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1270
	<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
  1271
	of the LDPC and predicate of 
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1272
	<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
  1273
	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
  1274
	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
  1275
	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
  1276
	(<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
  1277
	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
  1278
	</div>
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1279
	<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
  1280
	of the LDPC and predicate of 
97
2299a3fa43b8 ISSUE-21 Continued refinement of text, removed subscripts
sspeiche
parents: 95
diff changeset
  1281
	<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
  1282
	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
  1283
	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
  1284
	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
  1285
	(<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
  1286
	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
  1287
	</div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1288
	<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
  1289
		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
  1290
		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
  1291
		representations). This allows a LDPC server to provide clients with
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1292
		information about the members without the client having to do a <code>GET</code>
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
  1293
		on each member individually.  See sections <a href="#ldpc-member_data">5.1.1 Container
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
  1294
		Member Information</a>, <a href="#ldpr-inlining" class="sectionRef"></a>, and
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
  1295
		<a href="#ldpc-inlining" class="sectionRef"></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
  1296
    </div>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1297
	<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
  1298
		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
  1299
		<code>rdf:type</code>s.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1300
	</div>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
  1301
	<div id="ldpc-5_2_8" class="rule">5.2.8 LDPC representations 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
  1302
		<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
  1303
	</div>
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1304
	<div id="ldpc-5_2_9" class="rule">5.2.9 LDPC servers SHOULD NOT re-use URIs, 
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1305
		regardless of the mechanism by which members are created (<code>POST</code>, <code>PUT</code>, etc.).
116
48fabccf847c Issue-35 resolution: do not re-use URIs on create
John Arwe
parents: 115
diff changeset
  1306
		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
  1307
		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
  1308
		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
  1309
		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
  1310
	</div>
179
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1311
	<div id="ldpc-5_2_10" class="rule">5.2.10 Some LDPC's have membership object's that are not directly
181
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1312
	    URIs minted upon LDPC member creation, for example URIs with non-empty fragment identifier [[RFC3986]]. 
200
aebd1e464817 Small editorial cleanup changes
John Arwe
parents: 199
diff changeset
  1313
	    To determine which object URI to use for the  membership triple, LDPC's MUST contain one triple whose
181
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1314
	    subject is the LDPC URI, predicate is <code>ldp:membershipObject</code>, with an object <var>MO</var>. 
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1315
	    Where <var>MO</var> and the HTTP URI <var>R</var> from <code>POST</code> create (as found in HTTP response <code>Location</code> header) can be 
181
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1316
	    used to locate a triple of the form: <var>(R, MO, N)</var> and 
179
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1317
	    where <var>N</var> can be used to construct the membership triple of the form: <var>(membership subject, membership predicate, N)</var>.
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1318
	    When <code>ldp:membershipPredicateInverse</code> is used instead of <code>ldp:membershipPredicate</code>, the membership triple MUST be
181
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1319
	    of the form: <var>(N, membership predicate, membership subject)</var>. To indicate that the member resource URI is the membership object
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1320
	    (the default or typical case), the object MUST be set to predefined URI <code>ldp:MemberSubject</code> such that it forms the triple: 
1bd6eacbb5a6 ISSUE-72 take 2 - added ldp:MemberSubject to handle default case
sspeiche
parents: 180
diff changeset
  1321
	    <var>(LDPC URI, <code>ldp:membershipObject</code>, <code>ldp:MemberSubject</code>)</var>.
179
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1322
	</div>
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1323
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1324
	<!-- NOTE: Saving this sample to help with future editing/understanding or possible insertion directly.
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1325
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1326
	Let's say this LDPC has a membershipSubject of </people/roger> and membershipPredicate of pets:has_pet. If I POST the following to the LDPC: 
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1327
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1328
	<> foaf:primaryTopic <#this> .
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1329
	<#this> 
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1330
	  a animal:Cat; 
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1331
	  foaf:name "Zaza".
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1332
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1333
	... a new resource is created and there is a new membership triple of 
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1334
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1335
	</people/roger> pets:has_pet </people/roger/zaza>.
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1336
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1337
	but the desired one is:
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1338
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1339
	</people/roger> pets:has_pet </people/roger/zaza#this>.
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1340
		
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1341
	To do this, you'd have to use ldp:membershipObject such as:
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1342
	
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1343
	pets:has_pet 
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1344
	   a ldp:Container;
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1345
	   ldp:membershipPredicate pets:has_pet;
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1346
	   ldp:membershipSubject </people/roger>;
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1347
	   ldp:membershipObject foaf:primaryTopic .
9d563e756b28 ISSUE-72 adding 5.2.10 for ldp:membershipObject
sspeiche
parents: 176
diff changeset
  1348
	 -->
176
60b0a09af2c4 Just a sample for respec bug, will remove
sspeiche
parents: 175
diff changeset
  1349
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1350
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1351
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1352
<section>	
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1353
<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
  1354
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1355
	<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
  1356
		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
  1357
		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
  1358
		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
  1359
		<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
  1360
	</div>
190
fca354408433 Section number fixup: 4.1.8-13->7-12, 4.9.2.* fixup, 5.3.7-10->2-5
sspeiche
parents: 189
diff changeset
  1361
	<div id="ldpc-5_3_2" class="rule">5.3.2 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
  1362
		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
  1363
		whose subject is the page URI, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1364
		whose predicate is <code>ldp:containerSortCriteria</code>, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1365
		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
  1366
		<code>ldp:containerSortCriterion</code> resources.  
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1367
		The resulting order MUST be as defined by SPARQL <code>SELECT</code>’s <code>ORDER BY</code> clause 
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1368
		[[!SPARQL-QUERY]].
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1369
		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
  1370
		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
  1371
		across pages would be undefined. 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1372
		The first list entry provides the primary
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1373
		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
  1374
		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
  1375
		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
  1376
		an example.
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1377
	</div>
190
fca354408433 Section number fixup: 4.1.8-13->7-12, 4.9.2.* fixup, 5.3.7-10->2-5
sspeiche
parents: 189
diff changeset
  1378
	<div id="ldpc-5_3_3" class="rule">5.3.3 LDPC page representations 
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1379
		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
  1380
		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
  1381
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1382
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1383
		whose predicate is <code>ldp:containerSortPredicate</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1384
		and whose object is 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1385
		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
  1386
		The only predicate data types whose behavior LDP constrains are those defined
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
  1387
		by SPARQL <code>SELECT</code>’s <code>ORDER BY</code> clause [[!SPARQL-QUERY]].  Other data types
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1388
		can be used, but LDP
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1389
		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
  1390
	</div>
190
fca354408433 Section number fixup: 4.1.8-13->7-12, 4.9.2.* fixup, 5.3.7-10->2-5
sspeiche
parents: 189
diff changeset
  1391
	<div id="ldpc-5_3_4" class="rule">5.3.4 LDPC page representations 
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1392
		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
  1393
		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
  1394
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1395
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1396
		whose predicate is <code>ldp:containerSortOrder</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1397
		and whose object describes the order used.  LDP defines two values,
226
0e1efef6e333 Changed ldp:ascending->ldp:Ascending, ldp:descending->ldp:Descending, ldp:non-member-resource ->ldp:nonMemberResource
sspeiche
parents: 225
diff changeset
  1398
		<code>ldp:Ascending</code> and <code>ldp:Descending</code>, for use
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1399
		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
  1400
		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
  1401
	</div>
190
fca354408433 Section number fixup: 4.1.8-13->7-12, 4.9.2.* fixup, 5.3.7-10->2-5
sspeiche
parents: 189
diff changeset
  1402
	<div id="ldpc-5_3_5" class="rule">5.3.5 LDPC page representations 
126
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1403
		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
  1404
		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
  1405
		a triple
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1406
		whose subject is the sort criterion identifier, 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1407
		whose predicate is <code>ldp:containerSortCollation</code> 
e4ae46fd5294 Issue-14 Resolution: ascending or descending sort, with optional collations
John Arwe
parents: 125
diff changeset
  1408
		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
  1409
		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
  1410
		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
  1411
		When the <code>ldp:containerSortCollation</code> triple is absent and the 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1412
		<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
  1413
		resulting order is as defined by SPARQL SELECT’s ORDER BY clause 
129
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1414
		[[!SPARQL-QUERY]] using two-argument <code>fn:compare</code>, that is, 
99dfce0c02d9 issue-63 resolution - collations
John Arwe
parents: 126
diff changeset
  1415
		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
  1416