ldp.html
author Steve Speicher <sspeiche@gmail.com>
Mon, 20 Oct 2014 13:56:02 -0400
changeset 859 336ac8ce294d
parent 857 1aa5e5968ad3
child 860 2c55a36c754e
permissions -rw-r--r--
Removed at-risk feature that clients should be prepared to handle server-initiated paging
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
<!-- 
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
     3
	TODO: Add new "discovery of server capabilities" non-norm section
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
     4
    TODO: Consider adding Venn diagram for differences of LDPCs
194
b6d66196a02d Fixed biblirefs, consistency items and moved editor todo into comments
sspeiche
parents: 192
diff changeset
     5
 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     6
<html>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     7
  <head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
     8
    <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
     9
    <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
719
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    10
        <!-- Test coverage: The following allows the spec to be annotated with information
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    11
         from the test suite to help with understanding the coverage of each requirement. -->
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    12
    <link rel="stylesheet" type="text/css" media="all" href="coverage.css">
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    13
    <style type="text/css" media="print">
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    14
        .coverage {
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    15
            page-break-inside: avoid;
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    16
        }
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    17
    </style>
720
d189b4e804e2 Load JQuery over ssl
Steve Speicher <sspeiche@gmail.com>
parents: 719
diff changeset
    18
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
719
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    19
    <script src="coverage.js"></script>
e3d3c9068612 Added test coverage annotations
Steve Speicher <sspeiche@gmail.com>
parents: 662
diff changeset
    20
    
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    21
    <!-- 
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    22
      === NOTA BENE ===
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    23
      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
    24
      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
    25
     -->
443
02e1a65a8776 Set maxTocLevel=2 properly with fix from respec
sspeiche
parents: 439
diff changeset
    26
    <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
    27
    <script class='remove'>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    28
      var respecConfig = {
522
b3fd53a7b048 Prepare for LC2
sspeiche
parents: 521
diff changeset
    29
          // specification status (e.g. ED, WD, LC, NOTE, etc.). If in doubt use ED.
841
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    30
          specStatus:           "WD",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    31
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    32
          // 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
    33
          shortName:            "ldp",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    34
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    35
          // 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
    36
          // formal title, define it here
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    37
          // subtitle   :  "an excellent document",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    38
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    39
          // if you wish the publication date to be other than today, set this
841
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    40
          //publishDate:  "2014-09-16",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    41
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    42
          // 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
    43
          // the start date here:
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    44
          // copyrightStart: "2005"
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    45
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    46
          // if there 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
    47
          // and its maturity status
841
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    48
          previousPublishDate:  "2014-09-16",
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    49
          previousMaturity:  	"LC",
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    50
          previousURI: 			"http://www.w3.org/TR/2014/WD-ldp-20140916/",
812
558d1a951282 Setting 2005 process due to recent process release and respec default change
Steve Speicher <sspeiche@gmail.com>
parents: 808
diff changeset
    51
          
558d1a951282 Setting 2005 process due to recent process release and respec default change
Steve Speicher <sspeiche@gmail.com>
parents: 808
diff changeset
    52
          processVersion: 		2005,
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    53
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    54
          // 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
    55
          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
    56
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    57
          // if this is a LCWD, uncomment and set the end of its review period
841
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
    58
          //lcEnd: "2014-10-07",
832
e6d7164503af Prep for 3rd Last Call WG
Steve Speicher <sspeiche@gmail.com>
parents: 825
diff changeset
    59
          //crEnd: "2014-07-17",
655
4127dd3a8fea CR prep, gettings test suite URIs aligned
sspeiche
parents: 653
diff changeset
    60
          
4127dd3a8fea CR prep, gettings test suite URIs aligned
sspeiche
parents: 653
diff changeset
    61
          testSuiteURI: "https://dvcs.w3.org/hg/ldpwg/raw-file/tip/tests/ldp-testsuite.html",
4127dd3a8fea CR prep, gettings test suite URIs aligned
sspeiche
parents: 653
diff changeset
    62
          implementationReportURI: "https://dvcs.w3.org/hg/ldpwg/raw-file/tip/tests/reports/ldp.html",
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
    63
          
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
    64
          // Only include h1 and h2 level
443
02e1a65a8776 Set maxTocLevel=2 properly with fix from respec
sspeiche
parents: 439
diff changeset
    65
          maxTocLevel: 2,
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    66
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    67
          // 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
    68
          // 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
    69
          //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
    70
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    71
          // 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
    72
          // only "name" is required
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    73
          editors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    74
              { 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
    75
                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
    76
              { 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
    77
                company: "IBM Corporation", companyURL: "http://ibm.com/" },
237
6871b9ac5339 Fixed various link checker bugs
sspeiche
parents: 235
diff changeset
    78
			  {name: "Ashok Malhotra", url: "mailto:ashok.malhotra@oracle.com",
99
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 98
diff changeset
    79
			    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
    80
          ],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    81
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    82
          // 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
    83
          // 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
    84
          // 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
    85
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    86
          //authors:  [
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    87
          //    { 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
    88
          //      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
    89
          //],
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    90
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    91
          // name of the WG
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    92
          wg:           "Linked Data Platform Working Group",
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    93
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    94
          // URI of the public WG page
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    95
          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
    96
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    97
          // name (without the @w3c.org) of the public mailing to which comments are due
234
992015a0d3cd Setting all LC status items for prep for publication
sspeiche
parents: 233
diff changeset
    98
          wgPublicList: "public-ldp-comments",
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
    99
          
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   100
          // 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
   101
          // !!!! IMPORTANT !!!!
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   102
          // 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
   103
          // 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
   104
          // Team Contact.
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   105
          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
   106
          doRDFa: "1.1",
386
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   107
			localBiblio:  {
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   108
				"RFC2817": {
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   109
					title:    "Upgrading to TLS Within HTTP/1.1"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   110
				,   href:     "http://tools.ietf.org/html/rfc2817"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   111
				,   authors:  [
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   112
						"R. Khare"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   113
					,   "S. Lawrence"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   114
					]
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   115
				,   status:   "Proposed Standard"
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   116
				,   publisher:  "IETF"
412
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   117
				},
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   118
				"LDP-PAGING": {
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   119
					title:    "Linked Data Platform Paging"
525
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   120
				,   href:     "https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-paging.html"
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   121
				,   authors:  [
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   122
						"S. Speicher", "J. Arwe", "A. Malhotra"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   123
					]
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   124
				,   status:   "Editor's Working Draft"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   125
				,   publisher:  "W3C"
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   126
				},
550
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   127
				"POWDER": {
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   128
					title:    "Protocol for Web Description Resources (POWDER): Description Resources"
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   129
				,   href:     "http://www.w3.org/TR/2009/REC-powder-dr-20090901/"
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   130
				,   authors:  [
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   131
						"Phil Archer", "Kevin Smith", "Andrea Perego"
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   132
					]
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   133
				,   status:   "W3C Recommendation"
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   134
				,   publisher:  "W3C"
58d6a84e5f10 add in powder's describedby content
John Arwe
parents: 549
diff changeset
   135
				},
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   136
				"Accept-Post": {
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   137
					title:    "The Accept-Post HTTP Header"
660
a504108d0b51 CR prep, fixing pubrules checker problems- take2
sspeiche
parents: 659
diff changeset
   138
				,   href:     "http://tools.ietf.org/html/draft-wilde-accept-post"
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   139
				,   authors:  [
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   140
						"J. Arwe", "S. Speicher", "E. Wilde"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   141
					]
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   142
				,   status:   "Internet Draft"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   143
				,   publisher:  "IETF"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   144
				},
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   145
				"LDP-Tests": {
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   146
					title:    "Linked Data Platform 1.0 Test Cases"
659
775deb8e635f CR prep, fixing pubrules checker problems
sspeiche
parents: 657
diff changeset
   147
				,   href:     "https://dvcs.w3.org/hg/ldpwg/raw-file/tip/tests/ldp-testsuite.html"
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   148
				,   authors:  [
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   149
						"R. Garcia-Castro", "F. Serena"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   150
					]
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   151
				,   status:   "Editor's Draft of Working Group Note"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   152
				,   publisher:  "W3C"
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   153
				},
386
b7c514f96add Resolve ACTION-108 move restatements of HTTP et al. out of normative sections
John Arwe
parents: 385
diff changeset
   154
			},
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   155
      };
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   156
    </script>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   157
    <style type="text/css">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   158
    	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
   159
    	div.ldp-issue-open {
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   160
	    	border-color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   161
			background: #FBE9E9;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   162
			padding: 0.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   163
			margin: 1em 0;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   164
			position: relative;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   165
			clear: both;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   166
			border-left-width: .5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   167
			border-left-style: solid;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   168
    	}
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
   169
    	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
   170
	    	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
   171
			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
   172
			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
   173
			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
   174
			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
   175
			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
   176
			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
   177
			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
   178
    	}
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
   179
    	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
   180
	    	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
   181
			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
   182
			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
   183
			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
   184
			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
   185
			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
   186
			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
   187
			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
   188
    	}
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   189
    	div.ldp-issue-title {
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   190
    	    color: #E05252;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   191
    	    padding-right: 1em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   192
            min-width: 7.5em;
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   193
    	}
184
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   194
		.atrisk {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   195
			padding:    1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   196
			margin: 1em 0em 0em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   197
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   198
			background: #ffc;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   199
		}
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   200
		.atrisktext {
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   201
			/* content:    "Feature At Risk"; */
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   202
			display:    block;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   203
			width:  150px;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   204
			margin: -1.5em 0 0.5em 0;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   205
			font-weight:    bold;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   206
			border: 1px solid #f00;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   207
			background: #fff;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   208
			padding:    3px 1em;
30f00f94855a copy at-risk markup from turtle spec
John Arwe
parents: 183
diff changeset
   209
		}
437
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   210
		.normal { 
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   211
			font-weight: normal;
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   212
			font: normal 100% sans-serif;
631936d65086 Fixed formating with >h2 formatting
sspeiche
parents: 436
diff changeset
   213
		}
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   214
		.indented { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   215
			margin-left: +3em;
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   216
		}
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   217
		tr:nth-of-type(odd),.oddrow { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   218
			background:#F2F2F2; /* light grey, just enough to differentiate from white */
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   219
		}
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   220
		td { 
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   221
			padding:0 +1ex 0 +1ex; /* add a bit of space from rule/edge to text */
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   222
		}
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   223
		
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   224
    </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
   225
    <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
   226
    	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
   227
    	    font-weight:bold;
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   228
			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
   229
    	}
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
		 /* 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
   231
		    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
   232
			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
   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
    </style>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   235
  </head>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   236
<body>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   237
<section id='abstract'>
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   238
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
   239
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
   240
data model.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   241
</section>
525
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   242
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   243
 <section id='sotd'>
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   244
   <p>
832
e6d7164503af Prep for 3rd Last Call WG
Steve Speicher <sspeiche@gmail.com>
parents: 825
diff changeset
   245
   	 This is the 3rd Last Call working draft where the Working Group has addressed all
836
2fe9aced479b Updates for LC3
Steve Speicher <sspeiche@gmail.com>
parents: 832
diff changeset
   246
   	 raised issues and seeks to gather additional implementation feedback.  
2fe9aced479b Updates for LC3
Steve Speicher <sspeiche@gmail.com>
parents: 832
diff changeset
   247
   	 The Working Group has decided to go from Candidate Recommendation to Last Call based on implementation feedback.
2fe9aced479b Updates for LC3
Steve Speicher <sspeiche@gmail.com>
parents: 832
diff changeset
   248
   	 This feedback caused the Working Group to refine a conformance requirements for Turtle, JSON-LD and marking 
2fe9aced479b Updates for LC3
Steve Speicher <sspeiche@gmail.com>
parents: 832
diff changeset
   249
   	 feature of Indirect Containers At Risk.
2fe9aced479b Updates for LC3
Steve Speicher <sspeiche@gmail.com>
parents: 832
diff changeset
   250
   	 For changes since 
832
e6d7164503af Prep for 3rd Last Call WG
Steve Speicher <sspeiche@gmail.com>
parents: 825
diff changeset
   251
   	 last publication, see <a href="#history" class="sectionRef"></a>. 
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   252
	 A test suite is available at [[LDP-Tests]].
525
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   253
   </p>
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   254
   <p>The following features are At Risk:</p>
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   255
   <ol>
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   256
   <li>The <a href="#header-accept-post">HTTP Accept-Post header</a>, 
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   257
		that allows clients to determine which media types a server accepts on POST requests.
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   258
	</li>
802
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   259
   <li>JSON-LD as a required <a href="#atrisk-ldpr-jsonld">response representation</a> and <a href="#atrisk-ldpc-jsonld">new member representation</a>.
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   260
	</li>
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   261
   <li>Support for <a href="#atrisk-indirect-containers">indirect containers</a>.
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   262
	</li>
634
1aaf16a1b67e address comments from CR transition call
John Arwe
parents: 601
diff changeset
   263
   </ol>
525
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   264
 </section>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   265
 
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   266
<section class="informative" id="intro">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   267
<h1>Introduction</h1>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   268
	<p>This specification describes the use
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   269
	of HTTP for accessing, updating, creating and deleting resources from
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   270
	servers that expose their resources as Linked Data.  It provides clarifications
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   271
	and extensions of the rules of Linked Data [[LINKED-DATA]]:</p>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   272
	<ol>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   273
		<li>Use URIs as names for things</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   274
		<li>Use HTTP URIs so that people can look up those names</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   275
		<li>When someone looks up a URI, provide useful information, using the standards
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   276
			(RDF*, <abbr title="SPARQL Protocol and RDF Query Language">SPARQL</abbr>)
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   277
		</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   278
		<li>Include links to other URIs, so that they can discover more things</li>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   279
	</ol>
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   280
	<p>This specification discusses standard HTTP and RDF techniques  
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   281
	used when constructing clients and servers that 
395
0408e1e5bbf8 ACTION-105: Update spec to reflect 9/30 resolution moving Paging links to HTTP headers (partial: does not include sort criteria changes yet)
John Arwe
parents: 393
diff changeset
   282
	create, read, and write <a title="Linked Data Platform Resource">Linked Data Platform Resources</a>.
808
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   283
	<a
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   284
			href="http://www.w3.org/TR/ldp-primer/"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   285
			class="external"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   286
			title="Linked Data Platform 1.0 Primer"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   287
			rel="nofollow">LDP Primer</a> 
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   288
	provides an entry-level introduction with many examples in the context of a fictional application.
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   289
	<a
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   290
			href="http://www.w3.org/TR/ldp-bp/"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   291
			class="external"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   292
			title="LDP Best Practices and Guidelines"
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   293
			rel="nofollow">LDP Best Practices and Guidelines</a> 
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   294
			discusses best practices that you 
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   295
	should use, and anti-patterns you should avoid, when constructing these clients and servers.
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   296
	</p> 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   297
	<p>This specification defines a special type of <a>Linked Data Platform Resource</a>: a 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   298
	<a title="Linked Data Platform Container">Container</a>.  Containers are very useful 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   299
	in building application models involving collections of resources, often homogeneous ones. 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   300
	For example, universities offer a collection of classes 
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   301
	and a collection of faculty members, each faculty member teaches a collection of courses, and so on. 
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   302
	This specification discusses how to work with containers.  Resources can be added to containers  
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   303
	using standard HTTP operations like 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   304
	POST (see <a href="#ldpc-HTTP_POST" class="sectionRef"></a>).</p>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   305
	<p>The intention of this specification is to enable additional rules and layered groupings of rules as 
204
04f24555e6aa Added wording re. model to Introduction
Ashok Malhotra <Ashok.Malhotra@Oracle.com>
parents: 202
diff changeset
   306
	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
   307
	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
   308
	implementations will support.</p>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   309
	<p>This specification provides some approaches to deal with large resources.  An extension to this specification
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   310
	provides the ability to break large resource representations into multiple paged responses [[LDP-PAGING]].</p>
439
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   311
	<p>For context and background, it could be useful to read <a href="#bib-LDP-UCR">Linked Data Platform Use Case and Requirements</a> [[LDP-UCR]] 
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   312
	and <a href="#base-specs" class="sectionRef"></a>.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   313
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   314
	
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   315
<section id="terms">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   316
<h1>Terminology</h1>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   317
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   318
<p>Terminology is based on W3C's Architecture of the World Wide Web [[!WEBARCH]] and 
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   319
	Hyper-text Transfer Protocol ([[!RFC7230]], [[!RFC7231]], [[!RFC7232]]).
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   320
</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   321
  <dl class="glossary">
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   322
	<dt>Link</dt>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   323
	<dd>A relationship between two resources when one resource (representation) refers to the other resource by means
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   324
		of a URI [[WEBARCH]].
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   325
		<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   326
							
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   327
	<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
   328
	<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
   329
	
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   330
	<dt>Client</dt>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   331
	<dd>A program that establishes connections for the purpose of sending one or more HTTP requests [[!RFC7230]].<p></p></dd>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   332
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   333
	<dt>Server</dt>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   334
	<dd>A program that accepts connections in order to service HTTP requests by sending HTTP responses. 
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   335
		<p>
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   336
		The terms "client" and "server" refer only to the roles that these programs perform for a particular connection.  
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   337
		The same program might act as a client on some connections and a server on others.
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   338
		</p>
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   339
		<p>
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   340
		HTTP enables the use of intermediaries to satisfy requests through a
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   341
		chain of connections.  There are three common forms of HTTP
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   342
		intermediary: proxy, gateway, and tunnel.  In some cases, a single
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   343
		intermediary might act as an origin server, proxy, gateway, or
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   344
		tunnel, switching behavior based on the nature of each request.
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   345
		[[!RFC7230]]. 
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   346
		</p>
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   347
	</dd>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   348
	
331
2e0bbaef0442 fixed a few minor respec errors
sspeiche
parents: 325
diff changeset
   349
	<dt><dfn>Linked Data Platform Resource</dfn> (<abbr title="Linked Data Platform Resource">LDPR</abbr>)</dt>
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   350
	<dd>A HTTP resource whose state is represented in any way that conforms to the simple lifecycle
215
da72115eb40b Various updates per review of Raul
sspeiche
parents: 213
diff changeset
   351
		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
   352
		
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   353
	<dt><dfn>Linked Data Platform RDF Source</dfn> (<abbr title="Linked Data Platform RDF Source">LDP-RS</abbr>)</dt>
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   354
	<dd>An <a title="Linked Data Platform Resource">LDPR</a> whose state is fully represented in RDF, corresponding to
549
084cb71ce842 removal of named graphs, per today's WG resolution
John Arwe
parents: 548
diff changeset
   355
	an RDF graph. See also the term
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   356
	<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF Source</a> from [[!rdf11-concepts]].
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   357
	<p></p></dd>	
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   358
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   359
	<dt><dfn>Linked Data Platform Non-RDF Source</dfn> (<abbr title="Linked Data Platform Non-RDF Source">LDP-NR</abbr>)</dt>
514
7e329a35960e A vs an fun
sspeiche
parents: 513
diff changeset
   360
	<dd>An <a title="Linked Data Platform Resource">LDPR</a> whose state is <em>not</em> represented in RDF.
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   361
	For example, these can be binary or text documents that do not have useful RDF representations.
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   362
	<p></p></dd>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   363
		
331
2e0bbaef0442 fixed a few minor respec errors
sspeiche
parents: 325
diff changeset
   364
	<dt><dfn>Linked Data Platform Container</dfn> (<abbr title="Linked Data Platform Container">LDPC</abbr>)</dt>
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   365
	<dd>A LDP-RS representing a collection of linked
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   366
	documents (<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-document">RDF Document</a> [[!rdf11-concepts]] or information resources [[!WEBARCH]])
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   367
	that responds to client requests for creation, modification, and/or enumeration of its linked members and documents, 
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   368
	and that conforms to the simple lifecycle
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   369
	patterns and conventions in <a href="#ldpc" class="sectionRef"></a>.
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   370
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   371
	
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   372
	<dt><dfn>Linked Data Platform Basic Container</dfn> (<abbr title="Linked Data Platform Basic Container">LDP-BC</abbr>)</dt>
514
7e329a35960e A vs an fun
sspeiche
parents: 513
diff changeset
   373
	<dd>An <a title="Linked Data Platform Container">LDPC</a> that defines a simple link to
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   374
	its <a title="Containment">contained</a> documents (information resources) [[!WEBARCH]].
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   375
	<p></p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   376
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   377
	<dt><dfn>Linked Data Platform Direct Container</dfn> (<abbr title="Linked Data Platform Direct Container">LDP-DC</abbr>)</dt>
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   378
	<dd>An <a title="Linked Data Platform Container">LDPC</a> that adds the concept of <a title="Membership">membership</a>, allowing the flexibility of choosing what form its 
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   379
	<a title="Membership triples">membership triples</a> take, and allows <a title="Membership">members</a> to be 
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   380
	any resources [[!WEBARCH]], not only documents.
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   381
	<p></p></dd>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   382
	
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   383
	<dt><dfn>Linked Data Platform Indirect Container</dfn> (<abbr title="Linked Data Platform Indirect Container">LDP-IC</abbr>)</dt>
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   384
	<dd>An <a title="Linked Data Platform Container">LDPC</a> similar to a <a title="Linked Data Platform Direct Container">LDP-DC</a>
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   385
	that is also capable of having <a title="Membership">members</a> whose URIs are based
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   386
	on the content of its <a title="Containment">contained</a> documents rather than the URIs assigned to those documents.
451
f68e4a59fba1 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 450
diff changeset
   387
	<p></p></dd>
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
   388
		 
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   389
	<dt><dfn>Membership</dfn></dt>
601
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   390
	<dd>The relationship linking an LDPC and its member LDPRs, 
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   391
	which can be different resources than its <a title="Containment">contained</a> documents.  
601
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   392
	The LDPC often assists with managing the membership triples, whether or not the LDPC's
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   393
	URI occurs in them.
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   394
	<p></p></dd>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
   395
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   396
	<dt><dfn>Membership triples</dfn></dt>
601
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   397
	<dd>A set of triples that lists an LDPC's members.
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   398
		A LDPC's membership triples all have one of the following patterns:
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   399
		<table class="indented">
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   400
		<tr>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   401
		<td style="background:#DDDDDD"> <var>membership-constant-URI</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   402
		<td style="background:#FFFFFF"> <var>membership-predicate</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   403
		<td style="background:#CCFFFF"> <var>member-derived-URI</var> </td>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   404
		</tr>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   405
		<tr>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   406
		<td style="background:#CCFFFF"> <var>member-derived-URI</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   407
		<td style="background:#FFFFFF"> <var>membership-predicate</var> </td>
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   408
		<td style="background:#DDDDDD"> <var>membership-constant-URI</var> </td>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   409
		</tr>
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   410
		</table>
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   411
		The difference between the two is simply which position member-derived-URI occupies, which is usually
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   412
		driven by the choice of <var>membership-predicate</var>.  Most predicates have a natural forward direction
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   413
		inherent in their name, and existing vocabularies contain useful examples that read naturally in
453
a70c321daf12 ACTION-120 (Part 3) Added ldp:member
sspeiche
parents: 452
diff changeset
   414
		each direction.  <code>ldp:member</code> and <code>dcterms:isPartOf</code> are representative examples.
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   415
		<p>
503
d13ec755f468 Adjusted term membership triples and membership predicate
sspeiche
parents: 502
diff changeset
   416
		Each linked container exposes properties (see <a href="#ldpc-general" class="sectionRef"></a>)
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   417
		that allow clients to determine which pattern it
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   418
		uses, what the actual <var>membership-predicate</var> and <var>membership-constant-URI</var> values are, 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   419
		and (for containers that allow the creation of new members) what value is used
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
   420
		for the <var>member-derived-URI</var> based on the client's input to the 
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   421
		creation process.</p>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   422
	<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
   423
	
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   424
	<dt><dfn>Membership predicate</dfn></dt>
601
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   425
	<dd>The predicate of all an LDPC's <a title="Membership triples">membership triples</a>.
120
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   426
	<p></p></dd>
edf269bcce8a Issue-64 change ?non-member-properties into Link header with extension relation type
John Arwe
parents: 116
diff changeset
   427
	
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   428
	<dt><dfn>Containment</dfn></dt>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   429
	<dd>The relationship binding an LDPC to LDPRs whose lifecycle it controls and is aware of.  The
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   430
	lifecycle of the contained LDPR is limited by the lifecycle of the containing LDPC;
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   431
	that is, a contained LDPR cannot be created (through LDP-defined means) before its containing LDPC exists.
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   432
	<p></p></dd>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   433
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   434
	<dt><dfn>Containment triples</dfn></dt>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   435
	<dd>
561
ceeb37eb8f71 Clarify definitions of membership and containment triples to address Martin Nally comment
John Arwe
parents: 559
diff changeset
   436
	A set of triples, maintained by the LDPC, that lists documents created by the LDPC but not yet deleted.
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   437
	These triples <strong>always</strong> have the form: <var>( LDPC URI, ldp:contains , document-URI )</var>.
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   438
	<p></p></dd>
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
   439
554
5a4fe2b38a2a rename empty container triples to minimal container triples
John Arwe
parents: 553
diff changeset
   440
	<dt><dfn>Minimal-container triples</dfn></dt>
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   441
	<dd>
601
5fc4b4b9efc2 LDP: RS>LDPC in membership definitions; paging: incorporate todo list in prolog and fix respec messages
John Arwe
parents: 600
diff changeset
   442
	The portion of an LDPC's triples that would be present when the container is empty.  Currently, this definition
561
ceeb37eb8f71 Clarify definitions of membership and containment triples to address Martin Nally comment
John Arwe
parents: 559
diff changeset
   443
	is equivalent to all the LDPC's triples minus its containment triples, 
ceeb37eb8f71 Clarify definitions of membership and containment triples to address Martin Nally comment
John Arwe
parents: 559
diff changeset
   444
	and minus its membership triples (if either are considered part of its state), 
ceeb37eb8f71 Clarify definitions of membership and containment triples to address Martin Nally comment
John Arwe
parents: 559
diff changeset
   445
	but if future versions of LDP define additional classes of triples then this definition
474
a074b88f9b68 ACTION-132: Use Prefer in place of non-member properties resource
John Arwe
parents: 473
diff changeset
   446
	would expand to subtract out those classes as well.
412
b5f309858d98 Resolve ACTION-113 Update spec to reflect 11/04 resolution to remove 303 and have client use first/next links to detect paging
John Arwe
parents: 410
diff changeset
   447
	<p></p></dd>
857
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   448
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   449
	<dt><dfn>LDP-server-managed triples</dfn></dt>
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   450
	<dd>
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   451
	The portion of an LDP's triples whose behavior is constrained directly by this specification; for example,
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   452
	membership triples and containment triples.  This portion of resources' content does <em>not</em>
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   453
	include constraints imposed outside of LDP, for example by other specifications that the server 
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   454
	happens to support, or by <a href="#ldpr-gen-pubclireqs">server implementation decisions</a>.
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   455
	<p></p></dd>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   456
  </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
   457
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   458
<section id="conventions">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   459
<h2>Conventions Used in This Document</h2>
512
28fb37e65361 Added namespace definition
sspeiche
parents: 511
diff changeset
   460
	<p>The namespace for LDP is <code>http://www.w3.org/ns/ldp#</code>.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   461
	<p>Sample resource representations are provided in <code>text/turtle</code>
495
559a77692da5 Fixed up some specref references
sspeiche
parents: 494
diff changeset
   462
		format [[turtle]].</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   463
	<p>Commonly used namespace prefixes:</p>
93
598be81efe5f Expanded on wording for 4.3 to be more consistent
sspeiche
parents: 92
diff changeset
   464
	<pre style="word-wrap: break-word; white-space: pre-wrap;">	@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
522
b3fd53a7b048 Prepare for LC2
sspeiche
parents: 521
diff changeset
   465
	@prefix foaf:    &lt;http://xmlns.com/foaf/0.1/&gt;.
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   466
	@prefix rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   467
	@prefix ldp:     &lt;http://www.w3.org/ns/ldp#&gt;.
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
   468
	@prefix xsd:     &lt;http://www.w3.org/2001/XMLSchema#&gt;.</pre>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   469
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   470
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   471
    
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   472
<section id='conformance'>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   473
72
73a5766e4794 ISSUE-29 - Use relative URIs in examples
sspeiche
parents: 71
diff changeset
   474
<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
   475
<ul>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   476
  <li>1. Introduction: <b>non-normative</b></li>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   477
  <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
   478
  <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
   479
  <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
   480
  <li>5. Linked Data Platform Containers: <b>normative</b></li>
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   481
  <li>6. Notable information from normative references: <b>non-normative</b></li>
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   482
  <li>7. HTTP Header Definitions: <b>normative</b></li>
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   483
  <li>8. Security Considerations: <b>non-normative</b></li>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   484
  <li>A. Acknowledgements: <b>non-normative</b></li> 
525
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   485
  <li>B. Change History: <b>non-normative</b></li>
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   486
  <li>C.1 Normative references: <b>normative</b></li>
238e04f1e4f1 LC prep, custom SOTD and history sections
sspeiche
parents: 522
diff changeset
   487
  <li>C.2 Non-normative references: <b>non-normative</b></li>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   488
</ul>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   489
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   490
<p>A conforming <b><dfn>LDP client</dfn></b> is a conforming HTTP client [[!RFC7230]] that follows the rules defined by LDP in
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   491
<a href="#ldpr" class="sectionRef"></a> and also
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   492
<a href="#ldpc" class="sectionRef"></a>.
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   493
</p>
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   494
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   495
<p>A conforming <b><dfn>LDP server</dfn></b> is a conforming HTTP server [[!RFC7230]] that follows the rules defined by LDP in 
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   496
<a href="#ldpr" class="sectionRef"></a> when it is serving LDPRs, and also
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   497
<a href="#ldpc" class="sectionRef"></a> when it is serving LDPCs.
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   498
LDP does not constrain its behavior when serving other HTTP resources.
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   499
</p>
71
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   500
</section>
5a2794d3ab13 ISSUE-31 Added a more complete conformance section, motived by SPARQL 1.1
sspeiche
parents: 69
diff changeset
   501
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   502
<section id="ldpr">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   503
<h1>Linked Data Platform Resources</h1>
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   504
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   505
<section class="informative" id="ldpr-informative">
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   506
<h2>Introduction</h2>
33
3c8c101f3f97 2012-12-28 - Fixed Typos. Separated some compound rules like 4.1.5. Rewording for clarity: 4.1.10,
John Arwe <johnarwe@us.ibm.com>
parents: 21
diff changeset
   507
	<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
   508
		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
   509
		HTTP requests to access, modify, create or delete LDPRs are accepted
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   510
		and processed by <a title="LDP server">LDP servers</a>. Most LDPRs are domain-specific resources
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   511
		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
   512
		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
   513
	<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
   514
		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
   515
		others address additional needs.</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   516
	<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
   517
		questions such as:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   518
	<ul>
231
38d1a7faf1c4 Various editorial comments from PA
sspeiche
parents: 230
diff changeset
   519
		<li>What resource representations should be used?</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   520
		<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
   521
		<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
   522
				such as type changes?</li>
547
d34ef0884d9e Fixed LC-2840 clarity on burden of constraint
sspeiche
parents: 542
diff changeset
   523
		<li>How can the server make it easy for the client to create resources?</li>
464
77fd28c9eb94 action-127 use tag [23]xx status code for paging; also change paging to be for LDP-RRs as a consequence of issue-89 vocab changes
John Arwe
parents: 463
diff changeset
   524
		<li>How	do I GET the representation of a large resource broken up into pages?</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   525
	</ul>
463
ae72388dbb82 start action-127 paging use of [23]xx response code; also changed 'informative' to 'non-normative' so sandro is happy[ier]
John Arwe
parents: 462
diff changeset
   526
	<p>Additional non-normative guidance is available in the <a
808
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   527
			href="http://www.w3.org/TR/ldp-bp/"
439
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   528
			class="external"
28beff0a4f89 Updated reference to LDP BPG editor's draft and added ref to LDP-UCR
sspeiche
parents: 438
diff changeset
   529
			title="LDP Best Practices and Guidelines"
808
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   530
			rel="nofollow">LDP Best Practices and Guidelines</a> that addresses
37
3e92cccfe6a3 edits to 4., 4.1.2, 4.1.6, http method support (aside from GET on LDPRs, and HEAD, HTTP governs), 5.2.1 clarify, 5.3.2/5.3.3 allow 3xx
John Arwe <johnarwe@us.ibm.com>
parents: 33
diff changeset
   531
		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
   532
	<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
   533
		<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
   534
		<li>Are there some typical vocabularies that should be reused?</li>
808
2100d73b2ad7 add links to BP&G/Primer
John Arwe
parents: 803
diff changeset
   535
		<li>What guidelines exist when interacting with LDPRs that are common but are not universal enough to specify normatively?</li>
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
   536
	</ul>
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   537
	<p>The following sections define the conformance rules for LDP servers when serving LDPRs.
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   538
	</p>
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   539
	<p>LDP-RS's representations may be too big, one strategy is to break up the response representation
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   540
	into client consumable chunks called pages. A separate LDP specification outlines the conformance
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   541
	rules around pagination [[LDP-PAGING]].
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
   542
	</p>
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   543
	<p>A LDP server can manage two kinds of <a title="Linked Data Platform Resources">LDPRs</a>, those resources whose state 
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   544
	is represented using RDF (LDP-RS) and those using other formats (LDP-NR).  LDP-RSs have the unique
461
64c0ca32c9e6 Cleanup from Action-123 add LDPR-RR and LDPR-BR
John Arwe
parents: 460
diff changeset
   545
	quality that their representation is based on RDF, which addresses a number of use cases from web metadata, open data 
496
94420c5678ae Reference cleanup and tweak LDP-RS term
sspeiche
parents: 495
diff changeset
   546
	models, machine processable information, and automated processing by software agents [[!rdf11-concepts]].  LDP-NRs are almost anything
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   547
	on the Web today: images, HTML pages, word processing documents, spreadsheets, etc. and LDP-RSs hold 
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   548
	metadata associated with LDP-NRs in some cases.
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   549
	</p>
451
f68e4a59fba1 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 450
diff changeset
   550
    <figure id="fig-ldpr-types">
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   551
        <img src="images/ldpr1.png" alt="Sample separation of Linked Data Platform Resource" />
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   552
        <figcaption>Samples of different types of LDPRs</figcaption>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   553
    </figure>
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   554
    <p>The LDP-NRs and LDP-RSs are simply sub-types of LDPRs, as illustrated in <a href="#fig-ldpr-class"></a>.</p>  
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   555
    <figure id="fig-ldpr-class">
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   556
       <img src="images/ldpr2.png" alt="Class Diagram of Linked Data Platform Resource" />
491
16d872a712b6 Adopted container hierarchy and merged Indirect Container into Container
sspeiche
parents: 489
diff changeset
   557
       <figcaption>Class relationship of types of Linked Data Platform Resources</figcaption>
448
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   558
     </figure>
72e366f1195f ACTION-123 Added concepts of LDP-RDF-Resource and LDP-Binary-Resource
sspeiche
parents: 447
diff changeset
   559
	
222
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   560
</section>
1db581afd1ec Added informative section 4.1 , therefore shifting all sections by one 4.1->4.2, etc
sspeiche
parents: 221
diff changeset
   561
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   562
<section id="ldpr-resource">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   563
<h2>Resource</h2>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   564
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   565
<section id="ldpr-general">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   566
<h2>General</h2>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   567
		
637
87b108186dd5 clean up lingering 2616 references, adjust accept-post BNF for bis changes
John Arwe
parents: 636
diff changeset
   568
	<section id="ldpr-gen-http"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST at least be HTTP/1.1 conformant servers [[!RFC7230]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   569
	</h2></section><!-- Was 4.2.1 / #ldpr-4_2_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   570
	
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   571
	<section id="ldpr-gen-binary"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY host a mixture of <a title="Linked Data Platform RDF Source">LDP-RSs</a>
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   572
	and <a title="Linked Data Platform Non-RDF Source">LDP-NRs</a>. For example, it
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   573
		is common for <a title="LDP server">LDP servers</a> to need to host binary or text resources
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   574
		that do not have useful RDF representations.</h2></section><!-- Was 4.2.3 / #ldpr-4_2_3 -->
69
0f9825dea52b Updating some simple formatting, reorganizing open issues and todos
sspeiche
parents: 68
diff changeset
   575
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   576
	<section id="ldpr-gen-etags"><h2 class="normal"><a title="LDP server">LDP server</a> responses MUST use entity tags (either 
579
fc520a8e75eb Clarify MUST etags on responses with representations and HEAD
sspeiche
parents: 566
diff changeset
   577
		weak or strong ones) as response <code>ETag</code> header values, for responses that contain resource representations or
580
d17c3d23800e Clarify MUST etags on responses with representations and HEAD
sspeiche
parents: 579
diff changeset
   578
		successful responses to HTTP <code>HEAD</code> requests.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   579
	</h2></section><!-- Was 4.2.8 / #ldpr-4_2_8 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   580
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   581
	<section id="ldpr-gen-linktypehdr"><h2 class="normal"><a title="LDP server">LDP servers</a>
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   582
		exposing LDPRs 
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   583
		MUST advertise their LDP support by exposing a HTTP <code>Link</code> header
454
4a28a15ee8fd ACTION-120 (complete) Updated LDPC general, GET and POST sections
sspeiche
parents: 453
diff changeset
   584
		with a target URI of <code>http://www.w3.org/ns/ldp#Resource</code>, and
402
935e1e08d2bb Fix some typos around paging, move to single quotes for link relations per 5988
John Arwe
parents: 395
diff changeset
   585
		a link relation type of <code>type</code> (that is, <code>rel='type'</code>)
149
3f5f825f1155 issue-57 How can a client determine that it is in communication with an LDP server?
John Arwe
parents: 134
diff changeset
   586
		in all responses to requests made 
600
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   587
		to an LDPR's HTTP <code>Request-URI</code> [[!RFC5988]]. 
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   588
	</h2></section><!-- Was 4.2.10 / #ldpr-4_2_10 -->
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   589
	<blockquote>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   590
		<p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   591
		Note: 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   592
		The HTTP <code>Link</code> header is the method by which servers assert their support for the LDP specification 
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   593
		on a specific resource in a way that clients can inspect dynamically at run-time.   
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   594
		This is <strong>not</strong> equivalent to the
489
a33c03215d88 Adopted new resource types: LDP RDF Source (LDP-RS) (was LDP RDF Resource) and LDP Non-RDF Source (LDP-NR) (was LDP Binary Resource)
sspeiche
parents: 488
diff changeset
   595
		presence of a <var>(subject-URI, <code>rdf:type</code>, <code>ldp:Resource</code>)</var> triple in an LDP-RS.
600
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   596
		The presence of the header asserts that the server complies with the LDP specification's constraints on 
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   597
		HTTP interactions with LDPRs, that is
600
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   598
		it asserts that the resource <a href="#ldpr-gen-etags">has Etags</a>, <a href="#ldpr-options-must">supports OPTIONS</a>, and so on,
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   599
		which is not true of all Web resources.
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   600
		</p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   601
		<p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   602
		Note: 
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   603
		<a href="#ldpr-gen-binary">A LDP server can host a mixture of LDP-RSs and LDP-NRs</a>, and therefore there is no implication
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   604
		that LDP support advertised on one HTTP <code>Request-URI</code> means that other 
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   605
		resources on the same server are also LDPRs.  Each HTTP <code>Request-URI</code> needs to be 
434
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   606
		individually inspected, in the absence of outside information.
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   607
		</p>
83b656184387 Action-122 close ISSUE-91, by adding that for an LDPC the link header is type=LDPC
John Arwe
parents: 433
diff changeset
   608
	</blockquote>
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   609
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   610
	<section id="ldpr-gen-defbaseuri"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST assign the default 
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   611
		base-URI for [[!RFC3987]] relative-URI resolution to be the HTTP 
224
39ca65760446 Removed 5.4.8.1 and added 4.2.12 to better handle base/rel URI
sspeiche
parents: 223
diff changeset
   612
		<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
   613
		in the creation of a new resource.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   614
	</h2></section><!-- Was 4.2.12 / #ldpr-4_2_12 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   615
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   616
	<section id="ldpr-gen-pubclireqs"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   617
		publish any constraints on <a title="LDP client">LDP clients’</a> ability to 
800
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   618
		create or update LDPRs, by adding a Link header with
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   619
		an appropriate context URI,
801
a4623989a4b9 Changed the constraints link relation to ldp#constrainedBy
John Arwe
parents: 800
diff changeset
   620
		a link relation of <code>http://www.w3.org/ns/ldp#constrainedBy</code>,
800
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   621
		and a target URI identifying a set of constraints
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   622
		[[!RFC5988]], to all responses to requests that fail due to violation of 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   623
		those constraints.  For example, a server that refuses resource creation 
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   624
		requests via HTTP PUT, POST, or PATCH would return this <code>Link</code> header on its 
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   625
		4xx responses to such requests.
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   626
		The same <code>Link</code> header MAY be provided on other responses.  LDP neither 
504
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   627
		defines nor constrains the representation of the link's target resource.  Natural language 
065e49b91d0b Corrected rel=meta to be rel=describedBy
sspeiche
parents: 503
diff changeset
   628
		constraint documents are therefore permitted, 
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   629
		although machine-readable ones facilitate better client interactions.
800
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   630
		The appropriate context URI can vary based on the request's semantics and method;
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   631
		unless the response is otherwise
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   632
		constrained, the default (the effective request URI) SHOULD be used.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   633
	</h2></section><!-- Was 4.2.13 / #ldpr-4_2_13 -->
152
938e7d21cc10 issue-78 inferencing levels add 4.1.13
John Arwe
parents: 151
diff changeset
   634
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   635
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   636
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   637
<section id="ldpr-HTTP_GET">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   638
<h2>HTTP GET</h2>
847
225c57cea512 add in GET verb to clarify requirement
Steve Speicher <sspeiche@gmail.com>
parents: 841
diff changeset
   639
	<section id="ldpr-get-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>GET</code> method for LDPRs.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   640
	</h2></section><!-- Was 4.3.1 / #ldpr-4_3_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   641
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   642
	<section id="ldpr-get-options"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP response headers defined in 
847
225c57cea512 add in GET verb to clarify requirement
Steve Speicher <sspeiche@gmail.com>
parents: 841
diff changeset
   643
		<a href="#ldpr-HTTP_OPTIONS" class="sectionRef"></a> for the HTTP <code>GET</code> method.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   644
	</h2></section><!-- Was 4.3.2 / #ldpr-4_3_2 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   645
	
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   646
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   647
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   648
<section id="ldpr-HTTP_POST">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   649
<h2>HTTP POST</h2>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   650
	<p>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   651
		Per [[!RFC7231]], this HTTP method is optional and 
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   652
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   653
		When a LDP server supports this method, 
485
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   654
		this specification imposes no new requirements for LDPRs.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   655
	</p>
479
c116a0ec33d8 Resolved a few editoral TODO's
John Arwe
parents: 477
diff changeset
   656
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   657
	<p>Clients can create LDPRs via <code>POST</code> (<a href="#ldpc-HTTP_POST" class="sectionRef"></a>) to a LDPC, 
485
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   658
		via <code>PUT</code> (<a href="#ldpr-HTTP_PUT" class="sectionRef"></a>), or any other methods allowed
195cdbad4852 Updated LDPR Post reference to Put, which had implied that clients could PUT (to an LDPC) to create an LDPR
John Arwe
parents: 484
diff changeset
   659
		for HTTP resources.  Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   660
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
480
96f2d9c4a742 Updated LDPC DELETE language and cleanup todos
sspeiche
parents: 479
diff changeset
   661
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   662
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   663
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   664
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   665
<section id="ldpr-HTTP_PUT">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   666
<h2>HTTP PUT</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   667
	<p>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   668
		Per [[!RFC7231]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   669
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   670
		When a LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   671
		this specification imposes the following new requirements for LDPRs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   672
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   673
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   674
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   675
		Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   676
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   677
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   678
		
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   679
	<section id="ldpr-put-replaceall"><h2 class="normal">If a HTTP <code>PUT</code> is accepted on an existing resource, 
389
f1dbb042137b Resolve ACTION-109 Update spec to reflect 10/21 resolution for ignoring triples on PUT
John Arwe
parents: 388
diff changeset
   680
		<a title="LDP server">LDP servers</a> MUST
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   681
		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
   682
		the entity representation in the body of the request. 
857
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   683
		<a title="LDP server">LDP servers</a> MAY ignore <a>LDP-server-managed properties</a>,
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   684
		and MAY ignore other properties such as <code>dcterms:modified</code> 
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   685
		and <code>dcterms:creator</code> if they are <a href="#ldpr-gen-pubclireqs">handled specially by the server</a>.
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   686
		Any <a title="LDP server">LDP servers</a> that wish
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   687
		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
   688
		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
   689
		<code>PATCH</code>, not HTTP <code>PUT</code>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   690
	</h2></section><!-- Was 4.5.1 / #ldpr-4_5_1 -->
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   691
		
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   692
	<section id="ldpr-put-simpleupdate"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD allow clients to update resources without
802
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   693
		requiring detailed knowledge of <a href="#ldpr-gen-pubclireqs">server-specific constraints</a>.  
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   694
		This is a consequence of the requirement to enable simple creation and modification of LDPRs.
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   695
	</h2></section><!-- Was 4.5.7 / #ldpr-4_5_7 -->	
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   696
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   697
	<section id="ldprs-put-servermanagedprops"><h2 class="normal">
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   698
		If an otherwise valid HTTP <code>PUT</code> request is received 
857
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   699
		that attempts to change properties <a href="#ldpr-gen-pubclireqs">the server does not allow clients to modify</a>, 
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   700
		<a title="LDP server">LDP servers</a> MUST 
600
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   701
		fail the request by responding with a 4xx range status code (typically
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   702
		409 Conflict). 
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   703
		<a title="LDP server">LDP servers</a> SHOULD provide a corresponding response body containing
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   704
		information about which properties could not be
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   705
		persisted.
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   706
		The format of the 4xx response body is not constrained by LDP.
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   707
	</h2></section><!-- Was 4.5.1.1 / #ldpr-4_5_1_1 -->
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   708
	<blockquote>
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   709
		Non-normative note: Clients might provide properties equivalent to those already in the resource's state,
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   710
		e.g. as part of a GET/update representation/PUT sequence, and those PUT requests are intended to work as long as the 
857
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   711
		<a title="LDP-server-managed triples">LDP-server-managed properties</a>
600
67d13fb3a21f changes motivated by joe ross's comments
John Arwe
parents: 585
diff changeset
   712
		are identical on the GET response and the subsequent PUT request.
857
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   713
		This is in contrast to other cases like 
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   714
		<a href="#ldpr-put-replaceall">write-once properties that the server does not allow clients to modify once set</a>; 
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   715
		properties like this are under client and/or server control but are not constrained by LDP, 
1aa5e5968ad3 Define LDP-server-managed for Robert Sanderson thread (edited by JohnArwe)
Steve Speicher <sspeiche@gmail.com>
parents: 856
diff changeset
   716
		so they are not <a>LDP-server-managed triples</a>.  
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   717
	</blockquote>
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   718
	
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   719
	<section id="ldprs-put-failed"><h2 class="normal">
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   720
		If an otherwise valid HTTP <code>PUT</code> request is received that contains properties the server 
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   721
		chooses not to persist, e.g. unknown content,
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   722
		<a title="LDP server">LDP servers</a> MUST respond with an appropriate 4xx range status code
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   723
		[[!RFC7231]].  
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   724
		<a title="LDP server">LDP servers</a> SHOULD provide a corresponding response body containing
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   725
		information about which properties could not be
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   726
		persisted.
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   727
		The format of the 4xx response body is not constrained by LDP. LDP servers
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   728
		expose these application-specific constraints as described in <a href="#ldpr-general" class="sectionRef"></a>.
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   729
	</h2></section><!-- Was 4.5.4 / #ldpr-4_5_4 -->
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   730
	
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   731
	<section id="ldpr-put-precond"><h2 class="normal"><a title="LDP client">LDP clients</a> SHOULD use the HTTP <code>If-Match</code>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   732
		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
   733
		modifying a resource that has changed since the client last retrieved
372
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   734
		its representation. <a title="LDP server">LDP servers</a> SHOULD require the HTTP <code>If-Match</code> header and HTTP <code>ETags</code>
d85ca5c8cb68 Preparing for profiles - conformance section updates; add link to IETF draft
John Arwe
parents: 370
diff changeset
   735
		to detect collisions. <a title="LDP server">LDP servers</a> MUST respond with status code 412
122
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   736
		(Condition Failed) if <code>ETag</code>s fail to match when there are no other
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   737
		errors with the request [[!RFC7232]].  <a title="LDP server">LDP servers</a> that require conditional requests MUST respond with status code 428
122
14197f56039e Issue-74 resolution - 428 precondition required
John Arwe
parents: 120
diff changeset
   738
		(Precondition Required) when the absence of a precondition is the only reason for rejecting the request [[!RFC6585]].
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   739
	</h2></section><!-- Was 4.5.2 / #ldpr-4_5_2 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   740
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   741
	<section id="ldpr-put-create"><h2 class="normal"><a title="LDP server">LDP servers</a> MAY choose to allow the creation of new resources using HTTP <code>PUT</code>.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   742
	</h2></section><!-- Was 4.5.6 / #ldpr-4_5_6 -->
519
0a61b68f0a67 Tweaked LDPR PUT clauses to better match new defn of LDPR
sspeiche
parents: 518
diff changeset
   743
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   744
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   745
		
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   746
<section id="ldpr-HTTP_DELETE">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   747
<h2>HTTP DELETE</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   748
	<p>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   749
		Per [[!RFC7231]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   750
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   751
		When a LDP server supports this method, 
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   752
		this specification imposes no new blanket requirements for LDPRs.
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   753
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   754
		
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   755
	<p>Additional requirements on HTTP <code>DELETE</code> for LDPRs within containers can be found in
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   756
	<a href="#ldpc-HTTP_DELETE" class="sectionRef"></a>.
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   757
	</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   758
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   759
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   760
<section id="ldpr-HTTP_HEAD">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   761
<h2>HTTP HEAD</h2>
515
9f5b3854a5bb Fixed a number of broken links
sspeiche
parents: 514
diff changeset
   762
	<p>Note that certain LDP mechanisms rely on HTTP headers, and HTTP generally requires that
192
221002315344 Removed 4.1.5 and various formatting issues
sspeiche
parents: 191
diff changeset
   763
		<code>HEAD</code> responses include the same headers as <code>GET</code> responses.  
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   764
		Thus, implementers should also carefully read sections <a href="#ldpr-HTTP_GET"></a> 
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   765
		and <a href="#ldpr-HTTP_OPTIONS"></a>.</p>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   766
	<section id="ldpr-head-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>HEAD</code> method.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   767
	</h2></section><!-- Was 4.7.1 / #ldpr-4_7_1 -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   768
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   769
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   770
<section id="ldpr-HTTP_PATCH">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   771
<h2>HTTP PATCH</h2>
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   772
	<p>
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   773
		Per [[!RFC5789]], this HTTP method is optional and 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   774
		this specification does not require <a title="LDP server">LDP servers</a> to support it.
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   775
		When a LDP server supports this method, 
475
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   776
		this specification imposes the following new requirements for LDPRs.
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   777
	</p>
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   778
		
e36ed82a31a7 Put final stake in heart of 'informative' (waves to Sandro), update boilerplate for readability per Arnaud
John Arwe
parents: 474
diff changeset
   779
	<p>
393
8197019f4604 ACTION-110 Update spec to reflect 10/21 resolution for normative changes to align vanilla/chocolate
John Arwe
parents: 389
diff changeset
   780
		Any server-imposed constraints on LDPR creation or update  
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   781
		<a href="#ldpr-gen-pubclireqs">must be advertised</a> to clients.
500
c52f08081c8a Removed rule on PATCH create, as it doesn't add any substantive over RFC5789
sspeiche
parents: 498
diff changeset
   782
	</p>
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   783
	
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   784
	<section id="ldpr-patch-acceptpatch"><h2 class="normal"><a title="LDP server">LDP servers</a> that support <code>PATCH</code> MUST
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   785
		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
   786
		requests, listing patch document media type(s) supported by the server.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   787
	</h2></section><!-- Was 4.8.4 / #ldpr-4_8_4 -->
186
a3471f4667d8 Removed closed issues that required no new spec changes: 50, 56, 16, 19, 17
sspeiche
parents: 185
diff changeset
   788
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   789
</section>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   790
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   791
<section id="ldpr-HTTP_OPTIONS">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   792
<h2>HTTP OPTIONS</h2>
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   793
	<p>This specification imposes the following new requirements on HTTP <code>OPTIONS</code> for LDPRs 
637
87b108186dd5 clean up lingering 2616 references, adjust accept-post BNF for bis changes
John Arwe
parents: 636
diff changeset
   794
		beyond those in [[!RFC7231]].  Other sections of this specification, for example 
167
ae4592939639 issue-80 Add Accept-Post
John Arwe
parents: 158
diff changeset
   795
		<a href="#ldpr-HTTP_PATCH">PATCH</a>,
481
beb136ede044 Removed LDPR Paging HTTP OPTIONS section (no longer needed) and more cleanup of todos
sspeiche
parents: 480
diff changeset
   796
		<a href="#header-accept-post">Accept-Post</a>,
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   797
		add other requirements on <code>OPTIONS</code> responses.
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   798
		</p>
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   799
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   800
	<section id="ldpr-options-must"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST support the HTTP <code>OPTIONS</code> method.
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   801
	</h2></section><!-- Was 4.9.1 / #ldpr-4_9_1 -->
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   802
		
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   803
	<section id="ldpr-options-allow"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST indicate their support for HTTP Methods by
158
8af0b25f2748 issue-32 MUST support OPTIONS
John Arwe
parents: 152
diff changeset
   804
		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
   805
		Method tokens in the HTTP response header <code>Allow</code>.
435
e9efbc3a3ba8 First attempt at correcting section ordering and anchors
sspeiche
parents: 434
diff changeset
   806
	</h2></section><!-- Was 4.9.2 / #ldpr-4_9_2 -->
134
917946ac571e ISSUE-33 Moved 5.1.3 Paging (LDPC) to 4.8 (LDPR)
sspeiche
parents: 130
diff changeset
   807
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   808
</section> <!-- h2 -->
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   809
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   810
</section> <!-- ldpr-resource -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   811
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   812
<section id="ldprs">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   813
<h2>RDF Source</h2>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   814
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   815
<p>The following section contains normative clauses for <a title="">Linked Data Platform RDF Source</a>.</p>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   816
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   817
<section id="ldprs-general">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   818
<h2>General</h2>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   819
516
b46f235b5fcc Fixed biblio and dfn references
sspeiche
parents: 515
diff changeset
   820
	<section id="ldprs-are-ldpr"><h2 class="normal">Each <a title="Linked Data Platform RDF Source">LDP RDF Source</a> MUST also be 
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   821
		a conforming <a title="Linked Data Platform Resource">LDP Resource</a> as defined in <a href="#ldpr-resource" class="sectionRef"></a>, along with the
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   822
		restrictions in this section. <a title="">LDP client</a>s MAY infer the following triple: one
553
3d27d1a1d553 change subclassof to rdf:type for MAY inferred triples
John Arwe
parents: 552
diff changeset
   823
		whose subject is the <a title="Linked Data Platform RDF Source">LDP-RS</a>, 
3d27d1a1d553 change subclassof to rdf:type for MAY inferred triples
John Arwe
parents: 552
diff changeset
   824
		whose predicate is <code>rdf:type</code>, 
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   825
		and whose object is <code>ldp:Resource</code>, 
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   826
		but there is no requirement to materialize this triple in the LDP-RS representation.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   827
	</h2></section>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   828
	
800
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   829
	<section id="ldprs-gen-atleast1rdftype"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> representations SHOULD 
89d99b066aca Clarify Link context URIs, member creation media types, prep for other changes
John Arwe
parents: 775
diff changeset
   830
		have at least one <code>rdf:type</code>
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   831
		set explicitly.  This makes the representations much more useful to
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   832
		client applications that don’t support inferencing.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   833
	</h2></section><!-- Was 4.2.5 / #ldpr-4_2_5 -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   834
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   835
	<section id="ldprs-rdftype"><h2 class="normal">The representation of a LDP-RS MAY have an <code>rdf:type</code>
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   836
		of <code>ldp:RDFSource</code> for <a title="">Linked Data Platform RDF Source</a>.
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   837
	</h2></section><!-- Was 5.2.7 / #ldpc-5_2_7 -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   838
		
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   839
	<section id="ldprs-gen-rdf"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST provide an RDF representation for <a title="Linked Data Platform RDF Source">LDP-RSs</a>. 
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   840
	The HTTP <code>Request-URI</code> of the LDP-RS is typically the subject of most triples in the response.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   841
	</h2></section><!-- Was 4.2.2 / #ldpr-4_2_2 -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   842
	
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   843
	<section id="ldprs-gen-reusevocab"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> SHOULD reuse existing vocabularies instead of creating
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   844
		their own duplicate vocabulary terms.  In addition to this general rule, some specific cases are
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   845
		covered by other conformance rules.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   846
	</h2></section><!-- Was 4.2.4 / #ldpr-4_2_4 -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   847
	
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   848
	<section id="ldprs-gen-reusevocabsuchas"><h2 class="normal"><a title="Linked Data Platform RDF Source">LDP-RSs</a> predicates SHOULD use standard vocabularies such as Dublin Core
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   849
		[[!DC-TERMS]], RDF [[!rdf11-concepts]] and RDF Schema [[!rdf-schema]], whenever
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   850
		possible.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   851
	</h2></section><!-- Was 4.2.4.1 / #ldpr-4_2_4_1 -->
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   852
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   853
	<section id="ldp-cli-multitype"><h2 class="normal">In the absence of special knowledge of the application or domain, 
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   854
		<a title="LDP client">LDP clients</a> MUST assume that any LDP-RS can have multiple <code>rdf:type</code> triples with different objects.
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   855
	</h2></section> <!-- Was 4.3.5 / #ldpr-4_3_5 -->
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   856
	
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   857
	<section id="ldpr-cli-typeschange"><h2 class="normal">In the absence of special knowledge of the application or domain, 
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   858
		<a title="LDP client">LDP clients</a> MUST assume that the <code>rdf:type</code> values
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   859
		of a given LDP-RS can change over time.
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   860
	</h2></section> <!-- Was 4.3.6 / #ldpr-4_3_6 -->
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   861
	
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   862
	<section id="ldpr-cli-openpreds"><h2 class="normal"><a title="LDP client">LDP clients</a> SHOULD always assume that the set of predicates for a
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   863
		LDP-RS of a particular type at an arbitrary server is open, in the
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   864
		sense that different resources of the same type may not all have the
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   865
		same set of predicates in their triples, and the set of predicates that
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   866
		are used in the state of any one LDP-RS is not limited to any pre-defined
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   867
		set.
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   868
	</h2></section> <!-- Was 4.5.3 / #ldpr-ldpr-4_5_3 -->
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   869
		
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   870
	<section id="ldprs-gen-noinferencing"><h2 class="normal"><a title="LDP server">LDP servers</a>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   871
		MUST NOT require LDP clients to implement inferencing in order to recognize the subset
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   872
		of content defined by LDP.  Other specifications built on top of LDP may require clients
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   873
		to implement inferencing [[!rdf11-concepts]].  The practical implication is that all content defined by LDP
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   874
		must be explicitly represented, unless noted otherwise within this document.
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   875
	</h2></section><!-- Was 4.2.11 / #ldpr-4_2_11 -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   876
	
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   877
	<section id="ldpr-cli-preservetriples"><h2 class="normal">
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   878
		A <a title="LDP client">LDP client</a> MUST preserve all triples retrieved from a LDP-RS using HTTP <code>GET</code> that
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   879
		it doesn’t change whether it understands the predicates or not, when
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   880
		its intent is to perform an update using HTTP <code>PUT</code>.  The use of HTTP
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   881
		<code>PATCH</code> instead of HTTP <code>PUT</code> for update avoids this burden for clients
636
46b0ed651256 updated to use RFC numbers newly assigned to http-bis and prefer header
John Arwe
parents: 634
diff changeset
   882
		[[!RFC5789]].
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   883
	</h2></section> <!-- Was 4.5.5 / #ldpr-ldpr-4_5_5 -->
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   884
	
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   885
	<section id="ldpr-cli-can-hint"><h2 class="normal">
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   886
		<a title="LDP client">LDP clients</a> MAY 
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   887
		provide LDP-defined hints that allow servers to optimize the content of responses.
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   888
		<a href="#prefer-parameters" class="sectionRef"></a> defines hints that apply to 
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   889
		<a title="Linked Data Platform RDF Source">LDP-RSs</a>.
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   890
	</h2></section> 
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   891
	
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   892
	<section id="ldpr-cli-hints-ignorable"><h2 class="normal">
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   893
		<a title="LDP client">LDP clients</a> MUST 
552
4d99968383f2 editorial changes - "an" to "a" etc
John Arwe
parents: 551
diff changeset
   894
		be capable of processing responses formed by a LDP server that ignores hints,
518
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   895
		including LDP-defined hints.
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   896
	</h2></section>
f64cf213ec81 Folded #ldpclients section into #ldprs
sspeiche
parents: 517
diff changeset
   897
	
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   898
</section> <!-- ldprs-general -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   899
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   900
<section id="ldprs-HTTP_GET">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   901
<h2>HTTP GET</h2>
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   902
	<section id="ldprs-get-turtle"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST 
816
19b9c87f5aee Wafer thin change to Turtle-required words, lest the chair fetchez la vache
John Arwe
parents: 815
diff changeset
   903
		respond with a Turtle
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   904
		representation of the requested <a title="Linked Data Platform RDF Source">LDP-RS</a> when
816
19b9c87f5aee Wafer thin change to Turtle-required words, lest the chair fetchez la vache
John Arwe
parents: 815
diff changeset
   905
		the request includes an <code>Accept</code> header specifying <code>text/turtle</code>, 
818
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   906
		unless HTTP content negotiation <em>requires</em> a different outcome 
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   907
		[[!turtle]].
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   908
		</h2>
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   909
		<blockquote>
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   910
		<em>Non-normative note: </em>
818
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   911
		In other words, Turtle must be returned by <a title="LDP server">LDP servers</a> 
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   912
		in the usual case clients would expect (client requests it) 
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   913
		as well as cases where the client requests Turtle or other media type(s), content negotiation results in a tie,
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   914
		and Turtle is one of the tying media types.
818
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   915
		For example, if the <code>Accept</code> header lists <code>text/turtle</code> as one of several media types with the
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   916
		highest relative quality
818
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   917
		factor (<code>q=</code> value), <a title="LDP server">LDP servers</a> must respond with Turtle.
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   918
		HTTP servers in general are not required to resolve ties in this way, or to support Turtle at all, but
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   919
		<a title="LDP server">LDP servers</a> are.
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   920
		On the other hand, if Turtle is one of several requested media types,
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   921
		but another media type the server supports has a higher relative quality factor,
818
ce013b1a4a0a Wafer thin change to Turtle-required non-normative note
John Arwe
parents: 817
diff changeset
   922
		standard HTTP content negotiation rules apply and the server (LDP or not) would not respond with Turtle.
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   923
		</blockquote>
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   924
	</section><!-- Was 4.3.3 / #ldpr-4_3_3 -->
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   925
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   926
	<section id="ldprs-get-conneg"><h2 class="normal"><a title="LDP server">LDP servers</a> SHOULD
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   927
		respond with a <code>text/turtle</code>
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   928
		representation of the requested <a title="Linked Data Platform RDF Source">LDP-RS</a> whenever 
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   929
		the <code>Accept</code> request header is absent [[!turtle]].  
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   930
	</h2></section><!-- new -->
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   931
802
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   932
	<div class="atrisk" id="atrisk-ldpr-jsonld"><p class="atrisktext">Feature At Risk</p>
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   933
	<p>The LDP Working Group proposes incorporation of the following clause requiring JSON-LD support.</p>
802
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   934
	</div>
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   935
	<section id="ldprs-get-jsonld"><h2 class="normal"><a title="LDP server">LDP servers</a> MUST 
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   936
		respond with a <code>application/ld+json</code>
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   937
		representation of the requested <a title="Linked Data Platform RDF Source">LDP-RS</a>
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   938
		when the request includes an <code>Accept</code> header, unless content negotiation 
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   939
		or <a href="#ldprs-get-turtle">Turtle support</a>
815
9eddb119af85 Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 814
diff changeset
   940
		<em>requires</em> a different outcome [[!JSON-LD]].
814
1eb37ced085c Re-factor Turtle/JSON-LD required words for readability and completeness
John Arwe
parents: 812
diff changeset
   941
	</h2></section><!-- new -->
802
2292dbc59fff Should return Turtle if Accept is absent, JSON-LD required (at risk), clarify creates
John Arwe
parents: 801
diff changeset
   942
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   943
</section> <!-- ldprs-HTTP_GET -->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   944
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   945
</section> <!-- ldprs RDF Source-->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   946
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   947
<section id="ldpnr">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   948
<h2>Non-RDF Source</h2>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   949
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   950
<p>The following section contains normative clauses for <a title="">Linked Data Platform Non-RDF Source</a>.</p>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   951
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   952
<section id="ldpnr-general">
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   953
<h2>General</h2>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   954
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   955
	<section id="ldpnr-are-ldpr"><h2 class="normal">Each <a title="Linked Data Platform Non-RDF Source">LDP Non-RDF Source</a> MUST also be 
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   956
		a conforming <a title="Linked Data Platform Resource">LDP Resource</a> in <a href="#ldpr-resource" class="sectionRef"></a>.  
548
ab2a3418fb01 minor editorial fixes
John Arwe
parents: 547
diff changeset
   957
		<a title="Linked Data Platform Non-RDF Source">LDP Non-RDF Sources</a> may not be able to fully express their
583
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   958
		state using RDF [[rdf11-concepts]]. 
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   959
	</h2></section>
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   960
	
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   961
	<section id="ldpnr-type"><h2 class="normal"><a title="LDP server">LDP servers</a> exposing an <a title="Linked Data Platform Non-RDF Source">LDP Non-RDF Source</a> 
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   962
		MAY advertise this by exposing a HTTP <code>Link</code> header
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   963
		with a target URI of <code>http://www.w3.org/ns/ldp#NonRDFSource</code>, and
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   964
		a link relation type of <code>type</code> (that is, <code>rel='type'</code>)
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   965
		in responses to requests made 
196b408851fd Added usage for ldp:NonLDPSource
sspeiche
parents: 580
diff changeset
   966
		to the LDP-NR's HTTP <code>Request-URI</code> [[!RFC5988]].  
513
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   967
	</h2></section>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   968
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   969
</section> <!-- ldpnr Non-RDF Source-->
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   970
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   971
</section>
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   972
2df2933649d4 Split out different kinds of LDPRs into their own subsection
sspeiche
parents: 512
diff changeset
   973
</section> <!-- ldpr h1 -->
174
72ce83f4ec7f issue-58 actions 88,89 (new predicates)
John Arwe
parents: 173
diff changeset
   974
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   975
<section id="ldpc">
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   976
<h1>Linked Data Platform Containers</h1>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   977
333
3c2aaaea1f73 Fixed vanishing section ref problem
sspeiche
parents: 331
diff changeset
   978
<section class="informative" id="ldpc-informative">		
466
7b840138bdf1 editorial cleanup; substantive hits to ldpc delete, remove reqt for direct containers to materialize insertedContentRelation (since it's value is fixed)
John Arwe
parents: 465
diff changeset
   979
<h2>Introduction</h2>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   980
	<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
   981
		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
   982
		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
   983
		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
   984
		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
   985
		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
   986
		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
   987
		are:</p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   988
	<ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   989
		<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
   990
		<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
   991
		<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
   992
		<li>How	can I ensure the resource data is easy to query?</li>
497
67f04abb73e6 Factored out paging and sorting into separate spec LDP-Paging
sspeiche
parents: 496
diff changeset
   993
		<li>How	is the order of the container entries expressed? [[LDP-PAGING]]</li>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   994
	</ol>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   995
	<p>
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
   996
		This document defines the representation and behavior of containers
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   997
		that address these issues. There are multiple types of containers defined
509
3b515a98338d fixed typos, removed empty section, fixed mixed set of "an LDP" and "a LDP"
Arnaud Le Hors <lehors@us.ibm.com>
parents: 508
diff changeset
   998
		to support a variety of use cases, all that support a base set of capabilities.
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
   999
		The contents of a container is
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1000
		defined by a set of triples in its representation (and state) called
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1001
		the <a title="Containment triples">containment triples</a> that follow a fixed pattern.
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1002
		Additional types of containers allow for the set of members of a container to be
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1003
		defined by a set of triples in its representation called
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1004
		the <a title="Membership triples">membership triples</a> that follow a consistent pattern
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1005
		(see the linked-to definition for the possible patterns). 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1006
		The membership triples of a container all
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1007
		have the same predicate, called the membership predicate, 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1008
		and either the subject or the object is also a consistent value
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1009
		– the remaining position of the membership
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1010
		triples (the one that varies) define the members of the container. 
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1011
		In the simplest cases, the
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1012
		consistent value will be the LDPC resource's URI, but it does not
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1013
		have to be. The membership predicate is also variable and will often
453
a70c321daf12 ACTION-120 (Part 3) Added ldp:member
sspeiche
parents: 452
diff changeset
  1014
		be a predicate from the server application vocabulary or the <code>ldp:member</code> predicate.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1015
	</p>
841
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
  1016
	<p>In LDP 1.0, there exists a way for clients to request responses that contain only
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
  1017
	partial representations of the containers.  Applications may define additional means
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
  1018
	by which the response representations contain a filtered set of data and including (or excluding)
61919fa9f706 Included non-norm content to container intro to add clarity on application-specific extensions
Steve Speicher <sspeiche@gmail.com>
parents: 836
diff changeset
  1019
	additional details, those means are application-specific and not defined in this document.</p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1020
	<p>This document includes a set of guidelines for
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1021
		creating new resources and adding them to the list of
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1022
		resources linked to a container. It goes on to explain how to learn about a set of related
415
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1023
		resources, regardless of how they were created or added to the container's membership.
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1024
		It also defines behavior when resources created using a container are later deleted;
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1025
		deleting containers removes membership information and
12864dde579d Resolve ACTION-112 Update spec to reflect 10/28 resolution for Issue-81 part 1: new predicate names
John Arwe
parents: 414
diff changeset
  1026
		possibly performs some cleanup tasks on unreferenced member resources.</p>
104
78fd14175304 ISSUE-59 5.3.2 limited rdf:type of ldp:Container, removed 5.6.3, reworded 5.6.2, updated 1.
sspeiche
parents: 102
diff changeset
  1027
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1028
	<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
  1029
		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
  1030
		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
  1031
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1032
<em>Request</em> to <code>http://example.org/c1/</code>:
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1033
<pre class="example" id="ldpc-ex-simple-req">GET /c1/ HTTP/1.1
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1034
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1035
Accept: text/turtle</pre>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1036
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1037
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1038
<pre class="example" id="ldpc-ex-simple">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1039
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1040
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1041
ETag: "8caab0784220148bfe98b738d5bb6d13"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1042
Accept-Post: text/turtle, application/ld+json
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1043
Allow: POST,GET,OPTIONS,HEAD,PUT
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1044
Link: &lt;http://www.w3.org/ns/ldp#BasicContainer&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1045
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1046
Transfer-Encoding: chunked
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1047
<!-- @base <http://example.org/c1/>. -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1048
@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
  1049
@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
  1050
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1051
&lt;http://example.org/c1/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1052
   a ldp:BasicContainer;
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1053
   dcterms:title "A very simple container";
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1054
   ldp:contains &lt;r1&gt;, &lt;r2&gt;, &lt;r3&gt;.</pre>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1055
 
522
b3fd53a7b048 Prepare for LC2
sspeiche
parents: 521
diff changeset
  1056
 <!-- TODO: consider if basic container diagram helps, if so...add for other cases too
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1057
   	<figure id="fig-ldpc-basic">
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1058
        <img src="images/ldpc-basic.png" alt="Sample Linked Data Platform Basic Container" />
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1059
        <figcaption>Sample of Linked Data Platform Basic Container</figcaption>
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1060
    </figure>
522
b3fd53a7b048 Prepare for LC2
sspeiche
parents: 521
diff changeset
  1061
     -->
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1062
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1063
	<p>The preceding example is very straightforward: there are containment triples
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1064
	whose subject is the container, whose predicate is  
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1065
	<code>ldp:contains</code>, and whose objects are the URIs of the contained resources,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1066
	and there is no distinction between member resources and contained resources. 
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1067
	A POST to this container will create a new resource
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1068
	and add it to the list of contained resources by adding a new containment triple
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1069
	to the container.  This type of container is called a
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1070
	<a title="">Linked Data Platform Basic Container</a>.  </p>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1071
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1072
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1073
	Sometimes you have to build on existing models incrementally, so you have fewer degrees of
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1074
	freedom in the resource model.  In these situations, it can be useful to help clients map
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1075
	LDP patterns onto existing vocabularies, or to include members not created via the container; 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1076
	<a title="Linked Data Platform Direct Container">LDP Direct Containers</a>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1077
	meet those kinds of needs.  Direct Containers allow membership triples to use a subject
373
0562f8c4d4d4 Cleanup of known cases where text assumed "normal" membership triple pattern, did not consider the flipped/MO cases
John Arwe
parents: 372
diff changeset
  1078
	other than the container itself as the consistent membership value, and/or to use
467
0eed67a3db4e Simplified some of the container examples
sspeiche
parents: 466
diff changeset
  1079
	a  predicate from an application's domain model as the membership predicate. Let's
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1080
	start with a pre-existing 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
  1081
			
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1082
<em>Request</em> to <code>http://example.org/netWorth/nw1/</code>:
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1083
<pre class="example" id="ldpc-ex-membership-partial-req">GET /netWorth/nw1/ HTTP/1.1
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1084
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1085
Accept: text/turtle</pre>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1086
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1087
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1088
<pre class="example" id="ldpc-ex-membership-partial">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1089
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1090
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1091
ETag: "0f6b5bd8dc1f754a1238a53b1da34f6b"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1092
Link: &lt;http://www.w3.org/ns/ldp#RDFSource&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1093
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1094
Allow: GET,OPTIONS,HEAD,PUT,DELETE
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1095
Transfer-Encoding: chunked
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1096
<!-- @base <http://example.org/netWorth/nw1/>. -->
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1097
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1098
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1099
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1100
&lt;http://example.org/netWorth/nw1/&gt;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1101
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1102
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1103
   o:asset 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1104
      &lt;assets/a1&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1105
      &lt;assets/a2&gt;;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1106
   o:liability 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1107
      &lt;liabilities/l1&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1108
      &lt;liabilities/l2&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1109
      &lt;liabilities/l3&gt;.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1110
</pre>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1111
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1112
	In the preceding example, there is a <code>rdf:type</code> of <code>o:NetWorth</code> indicating the
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1113
	resource represents an instance of a person's net worth and a <code>o:netWorthOf</code> predicate indicating 
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1114
	the associated person.  There are two sets of same-subject, same-predicate triples; one for assets and
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1115
	one for liabilities.  Existing domain-specific applications exist that depend on those types and 
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1116
	predicates, so changing them <em>incompatibly</em> would be frowned upon.
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1117
	</p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1118
	
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1119
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1120
	It would be helpful to be able to use LDP patterns to manage the assets and liabilities-related triples.
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1121
	Doing so using a Basic Container would require duplicating much of the information with different types and
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1122
	predicates, which would be onerous for large resources.  <a title="Linked Data Platform Direct Container">Direct Containers</a>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1123
	provide a middle ground, by giving LDP clients a way to map existing domain-specific resources to LDP's
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1124
	types and interaction models.  
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1125
	In this specific example, 
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1126
	it would be helpful to be able to manage the assets and liabilities triples consistently, for example
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1127
	by using LDP containers.
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1128
	One way to do this is to create two containers, one to manage assets and another liabilities, 
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1129
	as separate HTTP resources.  Existing clients have no need to interact with those containers,
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1130
	whereas LDP-enabled clients now have container URLs that they can interact with.  The existing
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1131
	resource remains unchanged so that existing clients continue to function normally.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1132
	This is illustrated in the set of related examples, one example per HTTP resource, starting with
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1133
	the LDP-RS example from before:
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1134
	</p>
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1135
	
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1136
<em>Request</em> to <code>http://example.org/netWorth/nw1/</code>:
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1137
<pre class="example" id="ldpc-ex-membership-full-req">GET /netWorth/nw1/ HTTP/1.1
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1138
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1139
Accept: text/turtle</pre>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1140
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1141
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1142
<pre class="example" id="ldpc-ex-membership-full">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1143
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1144
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1145
ETag: "0f6b5bd8dc1f754a1238a53b1da34f6b"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1146
Link: &lt;http://www.w3.org/ns/ldp#RDFSource&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1147
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1148
Allow: GET,OPTIONS,HEAD,PUT,DELETE
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1149
Transfer-Encoding: chunked
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1150
<!-- @base <http://example.org/netWorth/nw1/>. -->
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1151
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1152
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1153
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1154
&lt;http://example.org/netWorth/nw1/&gt;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1155
   a o:NetWorth;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1156
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1157
   o:asset 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1158
      &lt;assets/a1&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1159
      &lt;assets/a2&gt;;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1160
   o:liability 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1161
      &lt;liabilities/l1&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1162
      &lt;liabilities/l2&gt;,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1163
      &lt;liabilities/l3&gt;.
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1164
</pre>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1165
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1166
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1167
	<p>The structure of the net worth resource is completely unchanged, so any existing 
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1168
	domain-specific applications continue to work without impact.
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1169
	LDP clients, on the other hand, have no way to understand that the asset and
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1170
	liability triples correspond in any way to LDP containers.  For that, they need the
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1171
	next two resources.
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1172
	</p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1173
	<p>The first container is a <a title="Linked Data Platform Direct Container">LDP Direct Container</a> to manage assets.  
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1174
	Direct Containers add the concept of <a title="Membership">membership</a>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1175
	and flexibility on how to specify the <a title="Membership triples">membership triples</a>.
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1176
	</p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1177
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1178
<em>Request</em> to <code>http://example.org/netWorth/nw1/assets/</code>:
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1179
<pre class="example" id="ldpc-ex-membership-subj-req">GET /netWorth/nw1/assets/ HTTP/1.1
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1180
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1181
Accept: text/turtle</pre>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1182
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1183
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1184
<pre class="example" id="ldpc-ex-membership-subj">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1185
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1186
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1187
ETag: "6df36eef2631a1795bfe9ab76760ea75"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1188
Accept-Post: text/turtle, application/ld+json
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1189
Allow: POST,GET,OPTIONS,HEAD
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1190
Link: &lt;http://www.w3.org/ns/ldp#DirectContainer&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1191
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1192
Transfer-Encoding: chunked
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1193
<!-- @base <http://example.org/netWorth/nw1/assets/>. -->      
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1194
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1195
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1196
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1197
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1198
&lt;http://example.org/netWorth/nw1/assets/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1199
   a ldp:DirectContainer;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1200
   dcterms:title "The assets of JohnZSmith";
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1201
   ldp:membershipResource &lt;http://example.org/netWorth/nw1/&gt;;
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1202
   ldp:hasMemberRelation o:asset;
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1203
   ldp:contains &lt;a1&gt;, &lt;a2&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1204
</pre>
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1205
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1206
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1207
	In the preceding asset container, the consistent membership value 
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1208
	(<a title="Membership triples">membership-constant-URI</a>, still in the subject position) is not the
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1209
	container itself – it is the (separate) net worth resource. The
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1210
	membership predicate is <code>o:asset</code>,
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1211
	from the domain model. A POST of an asset representation to the asset container will create a new
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1212
	asset and add it to net-worth's list of	assets by adding a new membership triple
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1213
	to the resource and a containment triple to the container. 
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1214
	</p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1215
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1216
	<p>The second container is a <a title="Linked Data Platform Direct Container">LDP Direct Container</a> to manage liabilities.  
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1217
	</p>
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1218
<em>Request</em> to <code>http://example.org/netWorth/nw1/liabilities/</code>:
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1219
<pre class="example" id="ldpc-ex-membership-full-liabcont-req">GET /netWorth/nw1/liabilities/ HTTP/1.1
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1220
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1221
Accept: text/turtle</pre>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1222
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1223
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1224
<pre class="example" id="ldpc-ex-membership-full-liabcont">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1225
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1226
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1227
ETag: "9f50da01f792281ddcfebe9788372d07"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1228
Link: &lt;http://www.w3.org/ns/ldp#DirectContainer&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1229
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1230
Accept-Post: text/turtle, application/ld+json
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1231
Allow: POST,GET,OPTIONS,HEAD
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1232
Transfer-Encoding: chunked
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1233
<!-- @base <http://example.org/netWorth/nw1/liabilities/>. -->
456
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1234
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
6130538abdf0 ACTION-124 LDPR-RR as named graphs
sspeiche
parents: 454
diff changeset
  1235
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1236
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1237
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1238
&lt;http://example.org/netWorth/nw1/liabilities/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1239
   a ldp:DirectContainer;
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1240
   dcterms:title "The liabilities of JohnZSmith";
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1241
   ldp:membershipResource &lt;http://example.org/netWorth/nw1/&gt;;
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1242
   ldp:hasMemberRelation o:liability;
460
1f6e06fd7272 typo: added missing brackets in example 7
Arnaud Le Hors <lehors@us.ibm.com>
parents: 459
diff changeset
  1243
   ldp:contains &lt;l1&gt;, &lt;l2&gt;, &lt;l3&gt;.
87
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1244
</pre>
671fe85a872b Inserted examples 2&3, a more complete NetWorth resource
sspeiche
parents: 86
diff changeset
  1245
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1246
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1247
	The preceding liability container is completely analogous to the asset container above, simply
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1248
	managing liabilities instead of assets and using the <code>o:liability</code> predicate.
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1249
	</p>
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1250
	<p>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1251
	To add a another liability, a client would POST something like this to the liability container:
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1252
	</p>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1253
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1254
<em>Request</em> to <code>http://example.org/netWorth/nw1/liabilities/</code>:
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1255
<pre class="example" id="ldpc-ex-membership-add-new-liability-req">POST /netWorth/nw1/liabilities/ HTTP/1.1
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1256
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1257
Accept: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1258
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1259
Content-Length: 63
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1260
<!-- @base is here only so it's easier to paste into validators for checking -->
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1261
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1262
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1263
&lt;&gt;
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1264
   a o:Liability.
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1265
   # plus any other properties that the domain says liabilities have
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1266
</pre>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1267
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1268
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1269
<pre class="example" id="ldpc-ex-membership-add-new-liability">HTTP/1.1 201 Created
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1270
Location: http://example.org/netWorth/nw1/liabilities/l4
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1271
Date: Thu, 12 Jun 2014 19:56:13 GMT
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1272
Link: &lt;http://www.w3.org/ns/ldp#DirectContainer&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1273
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1274
</pre>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1275
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1276
	<p>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1277
	Assuming the server successfully processes this request and assigns the URI
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1278
	<code>&lt;http://example.org/netWorth/nw1/liabilities/l4&gt;</code> to the 
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1279
	newly created liability resource, at least two new triples would be added.
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1280
	</p>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1281
	<ol>
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1282
	<li>In the net worth resource, <code>&lt;http://example.org/netWorth/nw1/&gt; o:liability &lt;liabilities/l4&gt;</code></li>
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1283
	<li>In the liability container, <code>&lt;http://example.org/netWorth/nw1/liabilities/&gt; ldp:contains &lt;l4&gt;</code>.</li>
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1284
	</ol>
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1285
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1286
	<p>
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1287
	You might wonder why we chose to create two new containers instead of making
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1288
	<code>http://example.org/netWorth/nw1/</code> itself a container.
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1289
	A single net worth container would be a fine design if <code>http://example.org/netWorth/nw1/</code>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1290
	had only assets or only liabilities (basically: only a single predicate to manage), 
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1291
	but since it has separate predicates for assets and liabilities an ambiguity arises:
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1292
	it is unspecified whether a client's creation request (POST)
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1293
	should add a new <code>o:asset</code> or <code>o:liability</code> triple. 
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1294
	Having separate <code>http://example.org/netWorth/nw1/assets/</code> 
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1295
	and <code>http://example.org/netWorth/nw1/liabilities/</code> containers
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1296
	allows both assets and liabilities to be created 
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1297
	and linked to the net-worth resource using the appropriate predicate.  Similar ambiguities arise
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1298
	if the client wishes to list the members and/or contained resources.
12
a3be44430b37 ISSUE-8 rename from LDBP to LDP and add remainder of open issues
sspeiche
parents:
diff changeset
  1299
	</p>
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1300
803
f66df9ac9d03 Indirect containers (at risk)
John Arwe
parents: 802
diff changeset
  1301
	<div class="atrisk" id="atrisk-indir-cont-ex"><p class="atrisktext">Feature At Risk</p>
f66df9ac9d03 Indirect containers (at risk)
John Arwe
parents: 802
diff changeset
  1302
	<p>The LDP Working Group proposes the REMOVAL of indirect containers, unless more implementation reports arrive shortly.</p>
f66df9ac9d03 Indirect containers (at risk)
John Arwe
parents: 802
diff changeset
  1303
	</div>
f66df9ac9d03 Indirect containers (at risk)
John Arwe
parents: 802
diff changeset
  1304
	
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1305
	<p>Continuing in the multiple containers direction, we will now extend our net worth example to add a container for
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1306
	advisors (people) that have managed the assets and liabilities.  We have decided
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1307
	to identify these advisors with URLs that contain a fragment (hash) to represent
462
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1308
	these real-world resources, not the documents that describe them.</p>
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1309
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1310
<em>Request</em> to <code>http://example.org/netWorth/nw1/</code>:
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1311
<pre class="example" id="ldpc-ex-membership-full-elab-req">GET /netWorth/nw1/ HTTP/1.1
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1312
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1313
Accept: text/turtle</pre>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1314
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1315
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1316
<pre class="example" id="ldpc-ex-membership-full-elab">HTTP/1.1 200 OK
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1317
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1318
Date: Thu, 12 Jun 2014 18:26:59 GMT
653
71bc4ab13849 Fixed ETag headers to be strong and quoted
sspeiche
parents: 647
diff changeset
  1319
ETag: "e8d129f45ca31848fb56213844a32b49"
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1320
Link: &lt;http://www.w3.org/ns/ldp#DirectContainer&gt;; rel="type",
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1321
      &lt;http://www.w3.org/ns/ldp#Resource&gt;; rel="type"
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1322
Allow: GET,OPTIONS,HEAD,PUT,DELETE
646
d97c97e51f86 Updated examples in Prefer section to be in request/response format
sspeiche
parents: 644
diff changeset
  1323
Transfer-Encoding: chunked
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1324
<!-- @base <http://example.org/netWorth/nw1/>. -->
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1325
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1326
@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
486
974b4886835b change all unicode 00A0 (non-breaking space) to blank (0020)
John Arwe
parents: 485
diff changeset
  1327
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1328
@prefix o: &lt;http://example.org/ontology#&gt;.
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1329
817
509560819f78 Fix examples per Rob Sanderson's email ... /nw1 > /nw1/
John Arwe
parents: 816
diff changeset
  1330
&lt;http://example.org/netWorth/nw1/&gt;
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1331
   a o:NetWorth;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1332
   o:netWorthOf &lt;http://example.org/users/JohnZSmith&gt;;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1333
   o:advisor
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1334
   	 &lt;advisors/bob#me&gt;,     # URI of a person
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1335
   	 &lt;advisors/marsha#me&gt;.
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1336
   	 
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1337
&lt;advisors/&gt;
506
c828dbebaebb Split out different kinds of LDPCs into their own subsection
sspeiche
parents: 505
diff changeset
  1338
   a ldp:IndirectContainer;
465
26eb1d6d4fd6 fixing things found proofing SS updates and a few of Arnaud's email comments
John Arwe
parents: 464
diff changeset
  1339
   dcterms:title "The asset advisors of JohnZSmith";
488
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1340
   ldp:membershipResource &lt;&gt;;
6bc3c9a2b2f7 Adopted new predicate names: ldp:membershipResource, ldp:hasMemberRelation and ldp:isMemberOfRelation
sspeiche
parents: 487
diff changeset
  1341
   ldp:hasMemberRelation o:advisor;
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1342
   ldp:insertedContentRelation foaf:primaryTopic;
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1343
   ldp:contains
825
cbbf4e00e019 Fix example 14 relative URIs per Rob Sanderson's email ... add advisors/ to contained documents
John Arwe
parents: 818
diff changeset
  1344
   	 &lt;advisors/bob&gt;,     # URI of a document a.k.a. an information resource
cbbf4e00e019 Fix example 14 relative URIs per Rob Sanderson's email ... add advisors/ to contained documents
John Arwe
parents: 818
diff changeset
  1345
   	 &lt;advisors/marsha&gt;.  # describing a person
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1346
</pre>	
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1347
	
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1348
	<p>To handle this type of indirection, the triple with predicate of <code>ldp:insertedContentRelation</code> and object of 
468
f960af656afb Simplified some of the container examples
sspeiche
parents: 467
diff changeset
  1349
	<code>foaf:primaryTopic</code> informs clients that when POSTing to this container, they need to include a triple of the
462
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1350
	form <code>(&lt;&gt;, foaf:primaryTopic, topic-URI)</code> to inform the server which URI to use 
3a7f9b05bad8 proofing through 454
John Arwe
parents: 461
diff changeset
  1351
	(<code>topic-URI</code>) in the new membership triple.</p>
452
c4b538b7e57f ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro
sspeiche
parents: 451
diff changeset
  1352
	
563
4e61db8dbfa2 Update narrative on net worth example (#s 2-5, section 5.1, at time of writing)
John Arwe
parents: 562
diff changeset
  1353
	<p>This type of container is referred to as a <a title="Linked Data Platform Indirect Container">LDP Indirect Container</a>. 
514
7e329a35960e A vs an fun
sspeiche
parents: 513
diff changeset
  1354
	It is similar to an <a title="Linked Data Platform Direct Container">LDP Direct Container</a> 
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1355
	but it provides an indirection to add (via a create request) as a member any resource, 
566
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1356
	including a URI representing a real-world object.  Create requests to 
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1357
	<a title="Linked Data Platform Direct Container">LDP Direct Containers</a> 
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1358
	can only add information resources [[WEBARCH]] - the documents they create - as members.
cfc0c8b396a8 fix typos
John Arwe
parents: 565
diff changeset
  1359
	</p>
449
623bbfdea989 ACTION-120 (Part 1) Added concepts of containers (basic, direct and indirect)
sspeiche
parents: 448
diff changeset
  1360
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1361
	<p>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1362
	To add a another advisor, a client would POST something like this to the advisors container:
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1363
	</p>
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1364
<em>Request</em> to <code>http://example.org/netWorth/nw1/advisors/</code>:
659
775deb8e635f CR prep, fixing pubrules checker problems
sspeiche
parents: 657
diff changeset
  1365
<pre class="example" id="ldpc-ex-membership-add-new-advisor-req">POST /netWorth/nw1/advisors/ HTTP/1.1
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1366
Host: example.org
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1367
Accept: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1368
Content-Type: text/turtle
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1369
Slug: george
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1370
Content-Length: 72
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1371
<!-- @base <http://example.org/netWorth/nw1/advisors/george>. -->
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1372
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1373
@prefix o: &lt;http://example.org/ontology#&gt;.
564
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1374
&lt;&gt;
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1375
   a o:Advisor;
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1376
   foaf:primaryTopic &lt;#me&gt;.
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1377
   # plus any other properties that the domain says advisors have
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1378
</pre>
cba76c3813b9 More example revisions, and fix bug in advisors example
John Arwe
parents: 563
diff changeset
  1379
644
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1380
<em>Response:</em>
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeiche
parents: 637
diff changeset
  1381
<pre class="example" id="ldpc-ex-membership-add-new-advisor">HTTP/1.1 201 Created
afe041e0f7fc Updated examples in container sections to be in request/response format
sspeic&